本例展示如何将数据分成训练集和测试集。我们将回测一个配对交易策略,在训练集上优化参数,在测试集上观察效果。
GLD代表黄金的现货价格,GDX是一揽子采金企业股票,两者的价格是高度相关的,故GLD和GDX可用于做配对交易。不过我要到第7章才会讲训练集上的协整分析,结果表明,GLD多头和GDX空头所形成的差价呈均值回归。通过训练集上的回归分析可得出GLD和GDX之间的对冲比率,并设定配对交易策略进出市场的阀值。从后面可以看到,阀值在训练集上的优化会改变策略在测试集上的业绩。(程序文件可从epchan. com/book/example3-6.m下载,数据文件为GLD. xls和GLD.xls。)程序使用滞后命令,将时间序列滞后一期,这在epchan.com/book中也能找到。还会使用“普通最小二乘法(OLS)”命令进行线性回归,在spatial-econometrics.com上可免费打包下载。
使用MATLAB
%清除工作空间已有变量
clear;
%将“GLD.xls”读入MATLAB
[num,txt]=xlsread(‘GLD’);
%第一列(从第二行开始)是交易日,格式为mm/dd/yyyy
tdayl=txt(2:end,1);
%将时间格式转化为yyyymmdd
tdayl=…
datestr(