广告
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告

您的位置: 零点财经>股票知识>量化交易> 回测跨年季节趋势策略

回测跨年季节趋势策略

2017-07-06 17:53:15  来源:量化交易  本篇文章有2710字,看完大约需要9分钟的时间

回测跨年季节趋势策略

时间:2017-07-06 17:53:15  来源:量化交易

回测跨年季节<a href='/gzgsxjt/210743.html'>趋势</a>策略

这里给出了我之前提到的跨年李节趋势文易策略的.MATLAB代码。(源代码可从epchan. com/book/example7_7. m下载。)由于数据是基于2007年12月23日获取的标准普尔500指数,所以存在存活偏差。

clear;

load('SPX 20071123','tday','stocks','c1');

%找到月底几天的指数.

monthEnds= find (isLastTradingDayOf Month( tday));

monthlyRet=..

(cl(monthEnds,:)-lagl (cl(monthEnds,:)))./..

lagl(cl(monthEnds,:));

mycl=fillMissingData(cl);

%按月收益率升序排列

[monthlyRetSorted sortIndex]=sort(monthly,Ret,2);

%排序后的前一年本月收益率

prevYearMonthlyRetSorted=backshift(12 , monthlyRetSorted) ;%去年排序后的指数

prevYearSortIndex=backshift(12,sortIndex);

positions= zeros(size( month IyRet));

for m=13:size( monthlyRet,1)

hasReturns=...

isfinite(prevYearMonthlyRetSorted(m,:))&..

isf inite(cl(monthEnds( m-1),:));

mySortIndex=prevYearSortlndex(m,hasReturns);

%买入十分位数最高的几只股票,卖出十分位数最低的几只股票

topN=floor( length(mySortlndex) /10);

posiions(m-1,inySortlndex(1:topN))=-1;

positions(m-1,..

mySortlndex(end-topN+1:end))=1;’

end

ret=smartsum (lag1(positions) .*monthlyRet,2);

avgannret=12 * smartmean(ret);

sharpe= sqrt (12)*smartmean(ret)/smartstd(ret);

fprintf (1,..

'Avg ann return= %7.4f Sharpe ratio= %7.4f\n',..

avgannret,sharpe);

%输出应该是年收益率均位=-0.9167 Sharpe ratio=-0.1055

这一程序用到T几个工具函数,第一个是LastTradingDayOf Month,它返回1和0的逻辑数组,用以判断某个文易日是否是一个月的最后一个交易日。


function isLastTradingDay0f Month=..

isLastTradingDayOfMonth( tday)

% isLastTradingDayOfMonth= isLastTradingDayOfMonth( tday)返回一个逻择序列。如果tday(t)确为当月的最后交易日,返回True.

tdayStr=datestr(datenum(num2str(tday),'yyyymmdd'));

todayMonth= month(tdayStr);

tmrMonth=fwdshift( ],todayMonth);%tomorrow's month

isLastTradingDayOfMonth= false( size(tday));

isLastTradingDayOfMonth (todayMonth?二tmrMonth &..

isfinite(todayMonth)衣isfinite(tmrMonth))=true;

另一个工具函数是backshift函数,它与lagl函数类似,但可以平移任意天数。

function y=backshift(day,x)

%y= backshift (day, x)

assert(day> = 0);

y= [NaN(day,size(x,2),size(x,3));x(1:end-day,:,:)];

如果你尝试录近5年而不是全部数据,会发现平均收益率更低。

关键字: 趋势
来源:量化交易 编辑:零点财经

阅读了该文章的用户还阅读了

热门关键词

相关阅读

为您推荐

移动平均线
股票知识
MACD
老丁说股
热点题材
KDJ指标
读懂上市公司
成交量
股票技术指标
股票大盘
分时图
股市名家
概念股
缠中说禅
强势股
波段操作
股票盘口
短线炒股
股票趋势
涨停板
股票投资
长线炒股
股票问答
股票术语
财务分析
炒股软件
上证早知道
经济学术语
期货
股票黑马
股票震荡市场
理财
炒股知识
散户炒股
外汇
炒股战术
港股
基金
黄金


























































































































































































































































































































































































































































































































































































































































































相关栏目推荐

栏目导航

友情链接

网站首页
老丁说股
李大霄
严为民
股票问答
股票术语
视频教学
网站地图

copyright 2016-2019 零点财经保留所有权 鲁ICP备16025527号-1 免责声明:网站部分内容转载至网络,如有侵权请告知删除

联系QQ:253161086

零点财经保留所有权 鲁ICP备16025527号-1

免责声明:网站部分内容转载至网络,如有侵权请告知删除

联系QQ:253161086