文件名称:加百力金融建模分享002获取海量历史数据并转换-海量历史数据获取.zip
文件大小:332KB
文件格式:ZIP
更新时间:2022-09-01 22:57:33
matlab
加百力金融建模分享002获取海量历史数据并转换-海量历史数据获取.zip 在上一篇文章加百力介绍了MATLAB生成、访问金融时间序列数据的基础知识并提供了实例代码。在这一篇文章中我们将介绍如何通过MT5平台获取我们想要的海量历史数据,并转化成金融时间序列。 这里首先简单介绍一下MT5平台。MT5是俄罗斯MetaQuotes(迈达克)软件公司开发的通用交易平台MetaTrader的第5代。其前身MT4从2005年上市以来已经有超过300家投资公司、做市商在使用。MT5除了方便的交易功能外,还提供了一套基于C 的优秀开发系统:MetaQuotes Language ,目前已经发展到MQL5。通过MQL5可以编写用户自己的技术指标、脚本以及EA系统,测试交易算法等。 MT5的突出优势之一就是公司服务器上提供了多种交易品种海量的历史数据。交易品种包括:主要外汇品种(直盘和交叉盘)、贵金属(主要是黄金、白银)、CFD(差价合约)包括IBM、微软、INTEL、DELL等公司股票数据。很多品种的日线数据可以追溯到1971年,整整40年前!这样海量的数据对于我们建立模型做长期测试意义非凡。 这里以EURUSD(欧元兑美元)为例详细介绍获取历史日线数据的步骤。 01、当然是安装MT5平台。建议大家到官网下载安装文件。注意:百度上搜索排在前面的香港公司是冒牌货界面和官网类似。 02、在主界面上使用快捷键:Ctrl R。打开EA测试界面,随便选择任意一个算法,时间选择1999年01月01日到当天,进行测试。 由于用户安装的系统没有足够历史数据,系统会从服务器上下载历史数据文件。我们需要的历史数据就源源不断的发来,数据充足之后EA测试将会开始,此时可以关闭测试。 03、在主界面上方选择时间尺度“D1”,系统会自动绘制日K线。 04、在K线图上使用快捷键:Ctrl S,保存历史数据。有三种保存数据的格式:CSV,PRN和HTM。我个人比较喜欢HTM格式保存。 05、打开HTM格式文件可以看到从1971年1月到今天的欧元数据。 欧元是1999年1月诞生,德国马克、法国法郎、意大利里拉等欧洲主要货币在此之后逐步退出历史舞台。1971年就有数据,我个人估计是早期的“欧洲货币单位”,这个概念很早就有了。我记得在1980年代看*二台的时候就经常听到报价:一个欧洲货币单位等于多少多少美元。 06、全选、拷贝所有数据到EXCEL文件中,此时数据已经被分在不同列中。 07、去除掉一些暂时不用的数据,方便分析。附件中的文件去除了1999年1月以前的数据,同时去除了成交量等数据。 08、处理日期数据。MT5提供的日期数据形如:"YYYY.MM.DD"而MATLAB中的ascii2fints()函数读取文本文件时要求的日期格式形如"DD-Mon-YY"所以必须进行转换。简单的方法是通过EXCEL单元格格式设置功能实现。但是形如:"YYYY.MM.DD"的日期格式直接设置单元格格式没有变化,似乎EXCEL不能直接识别这种日期格式。我采用的方法是将这一列日期数据拷贝到一个单独的文本文件中用"-"替换".",之后再拷贝回EXCEL表格中,就可以设置格式了。 09、格式设置好之后直接拷贝到一个文本文件中,就可以通过ascii2fints()读取。附件中提供的M文件能够成功读取EURUSDDaily.txt文件中的历史数据并转化为金融时间序列数据。 附件中的文件包含: 01、MT5上直接下载的EURUSD日线数据。 02、处理后的EURUSD的EXCEL文件。 03、转换后的EURUSD文本文件。从1999年01月04日到今天(2012年01月10日,中午)攻3390个日线数据。 04、读取文本文件并转换为金融时间序列数据的M文件。
【文件预览】:
TimeSequenceOperate01.m
EURUSDDaily.htm
EURUSDDaily.xlsx
EURUSDDaily.txt