龙听期货论坛's Archiver

龙听 发表于 2019-1-10 19:47

13个经典的量化策略,涵盖股票、期货、期权市场(附策略源码)

[p=30, 2, left]作者及出处:掘金量化
[/p][p=30, 2, left]原文链接:见文末[/p][p=30, 2, left]经作者授权转载,请勿二次转载![/p][p=30, 2, left]声明:本文所有内容不构成任何投资建议,仅为技术资料。[/p][p=30, 2, left]
[/p][p=30, 2, left]
[/p]
[p=30, 2, left]1.双均线策略(期货)[/p][p=30, 2, left]

[/p][p=30, 2, left]        本策略以DCE.i1801为交易标的, 根据其一分钟(即60s频度) bar数据建立双均线模型,短周期为30, 长周期为60, 当短期均线由上向下穿越长期均线时做空,当短期均线由下向上穿越长期均线时做多,每次开仓前先平掉所持仓位, 再开仓。
[/p][p=30, 2, left]     回测数据为:DCE.i1801的60s频度bar数据,回测时间为:2017-09-01 09:00:00到2017-09-30 15:00:00,策略回测如下图所示。[/p][p=30, 2, left]
[/p]


[p=30, 2, left]2.alpha对冲(股票+期货)[/p][p=30, 2, left]

[/p][p=30, 2, left]    本策略每隔1个月定时触发计算SHSE.000300成份股的过去的EV/EBITDA并选取EV/EBITDA大于0的股票,随后平掉排名EV/EBITDA不在最小的30的股票持仓并等权购买EV/EBITDA最小排名在前30的股票[size=1px],[/size]并用相应的CFFEX.IF对应的真实合约等额对冲。

回测数据为:SHSE.000300和他们的成份股和CFFEX.IF对应的真实合约,回测时间为:2017-07-01 08:00:00到2017-10-01 16:00:00,策略回测如下图所示。[/p][p=30, 2, left]
[/p][p=30, 2, center][img=368,173]http://toutiao.manqian.cn/img?url=https://mmbiz.qpic.cn/mmbiz_png/Av0a0MzqSOkibLgRdCwhPJk4m2S3ZHK9uj2RxQN7xy5awbfYDBFzfJNAIicFibiaPrJDaoud6Pdfj80YOoTSvJP5hw/640?wx_fmt=png[/img][/p][p=30, 2, left]
[/p]
[p=30, 2, left]3.集合竞价选股(股票)[/p][p=30, 2, left]

[/p][p=30, 2, left]       本策略通过获取SHSE.000300沪深300的成份股数据并统计其30天内,开盘价大于前收盘价的天数,并在该天数大于阈值10的时候加入股票池,随后对不在股票池的股票平仓并等权配置股票池的标的,每次交易间隔1个月。

回测数据为:SHSE.000300在2015-01-15的成份股,回测时间为:2017-07-01 08:00:00到2017-10-01 16:00:00,策略回测如下图所示。[/p][p=30, 2, center][img=368,166]http://toutiao.manqian.cn/img?url=https://mmbiz.qpic.cn/mmbiz_png/Av0a0MzqSOkibLgRdCwhPJk4m2S3ZHK9uPicOmParAvUIdkj6C9HdgLNr8gCwaC2AW5K2btic6oUbWEyGzdUppGWg/640?wx_fmt=png[/img][/p]
[p=30, 2, left]4.多因子选股(股票)[/p][p=30, 2, left]

[/p][p=30, 2, left]        本策略每隔1个月定时触发,根据Fama-French三因子模型对每只股票进行回归, 得到其alpha值。假设Fama-French三因子模型可以完全解释市场, 则alpha为负表明市场低估该股, 因此应该买入。[/p][p=30, 2, left]        策略思路:计算市场收益率、 个股的账面市值比和市值,并对后两个进行了分类,根据分类得到的组合分别计算其市值加权收益率、 SMB和HML.对各个股票进行回归(假设无风险收益率等于0)得到alpha值,选取alpha值小于0并为最小的10只股票进入标的池,平掉不在标的池的股票并等权买入在标的池的股票。
        回测数据:SHSE.000300的成份股,回测时间:2017-07-01 08:00:00到2017-10-01 16:00:00,策略回测如下图所示。[/p][p=30, 2, center][img=368,168]http://toutiao.manqian.cn/img?url=https://mmbiz.qpic.cn/mmbiz_png/Av0a0MzqSOkibLgRdCwhPJk4m2S3ZHK9uhoqxAKQJAvJFPw3icVKqKxq81cj42Bdoutl83Hz8jEBicgFv1vOuX8YQ/640?wx_fmt=png[/img][/p]

[p=30, 2, left]5.网格交易(期货)[/p][p=30, 2, left]

[/p][p=30, 2, left]本策略首先计算了过去300个价格数据的均值和标准差,并根据均值加减1和2个标准差得到网格的区间分界线,,并分别配以0.3和0.5的仓位权重,然后根据价格所在的区间来配置仓位(+/-40为上下界,无实际意义):(-40,-3],(-3,-2],(-2,2],(2,3],(3,40](具体价格等于均值+数字倍标准差);[-0.5, -0.3, 0.0, 0.3, 0.5](资金比例,此处负号表示开空仓)。
        回测数据为:SHFE.rb1801的1min数据,回测时间为:2017-07-01 08:00:00到2017-10-01 16:00:00,策略回测如下图所示。[/p][p=30, 2, center][img=368,167]http://toutiao.manqian.cn/img?url=https://mmbiz.qpic.cn/mmbiz_png/Av0a0MzqSOkibLgRdCwhPJk4m2S3ZHK9u6vmmRvlu1gQFnEYj7seiao84FasmjMxNnicw0m8fhRQYicOH2f0WlzCKw/640?wx_fmt=png[/img][/p]

[p=30, 2, left]6.指数增强(股票)[/p][p=30, 2, left]

[/p][p=30, 2, left]        本策略以0.8为初始权重跟踪指数标的沪深300中权重大于0.35%的成份股。个股所占的百分比为(0.8*成份股权重)*100%.然后根据个股是否:1.连续上涨5天 2.连续下跌5天[size=1px]。[/size]来判定个股是否为强势股/弱势股,并对其把权重由0.8调至1.0或0.6。[/p][p=30, 2, left]
回测时间为:2017-07-01 08:50:00到2017-10-01 17:00:00。策略回测如下图所示。[/p][p=30, 2, center][img=368,163]http://toutiao.manqian.cn/img?url=https://mmbiz.qpic.cn/mmbiz_png/Av0a0MzqSOkibLgRdCwhPJk4m2S3ZHK9uXd9YR6UAB5OfO7UbAMQcybtpwosPK2FicHPu5L66Mt6ib08F6OJbVLoQ/640?wx_fmt=png[/img][/p]
[p=30, 2, left]
[/p]
[p=30, 2, left]7.跨品种套利(期货)[/p][p=30, 2, left]

[/p][p=30, 2, left]        本策略根据计算滚动的.过去的30个1min的bar的均值正负2个标准差得到布林线,并在最新价差上穿上轨来做空价差,下穿下轨来做多价差,并在回归至上下轨水平内的时候平仓。
        回测数据为:SHFE.rb1801和SHFE.hc1801的1min数据,回测时间为:2017-09-01 08:00:00到2017-10-01 16:00:00。策略回测如下图所示。[/p][p=30, 2, center][img=368,165]http://toutiao.manqian.cn/img?url=https://mmbiz.qpic.cn/mmbiz_png/Av0a0MzqSOkibLgRdCwhPJk4m2S3ZHK9uHYT4aK6LPoPtTLQGtwYQLPRORTERPxkYF2uBqdo8ah43icJ1OqfdlicA/640?wx_fmt=png[/img][/p]
[p=30, 2, left]8.跨期套利(期货)[/p][p=30, 2, left]

[/p][p=30, 2, left]        本策略根据EG两步法(1.序列同阶单整2.OLS残差平稳)判断序列具有协整关系之后(若无协整关系则全平仓位不进行操作),通过计算两个真实价格序列回归残差的0.9个标准差上下轨,并在价差突破上轨的时候做空价差,价差突破下轨的时候做多价差,并在回归至标准差水平内的时候平仓。[/p][p=30, 2, left]        回测数据为:SHFE.rb1801和SHFE.rb1805的1min数据,回测时间为:2017-09-25 08:00:00到2017-10-01 15:00:00。策略回测如下图所示。[/p][p=30, 2, center][img=368,166]http://toutiao.manqian.cn/img?url=https://mmbiz.qpic.cn/mmbiz_png/Av0a0MzqSOkibLgRdCwhPJk4m2S3ZHK9ug4QeYZPW4lGBId4aqE0glLagj6Zrcia8aKCvdDibKcPtMiattKLo6uCJQ/640?wx_fmt=png[/img][/p]

[p=30, 2, left]9.日内回转交易(股票)[/p][p=30, 2, left]

[/p][p=30, 2, left]        本策略首先买入SHSE.600000股票10000股,随后根据60s的数据来计算MACD(12,26,9)线,并在MACD>0的时候买入100股,MACD<0的时候卖出100股
但每日操作的股票数不超过原有仓位,并于收盘前把仓位调整至开盘前的仓位。

回测数据为:SHSE.600000的60s数据,回测时间为:2017-09-01 08:00:00到2017-10-01 16:00:00。策略回测如下图所示。[/p][p=30, 2, center][img=368,164]http://toutiao.manqian.cn/img?url=https://mmbiz.qpic.cn/mmbiz_png/Av0a0MzqSOkibLgRdCwhPJk4m2S3ZHK9uKSadDqcPfzsOEArjUVElVicI4IuoszxyhZOSFgf3TiaPgLQW2sXjYZcw/640?wx_fmt=png[/img][/p][p=30, 2, left]
[/p]
[p=30, 2, left]10.做市商交易(期货)[/p][p=30, 2, left]

[/p][p=30, 2, left]        本策略通过不断对CZCE.CF801进行:买(卖)一价现价单开多(空)仓和卖(买)一价平多(空)仓来做市,并以此赚取差价。
        回测数据为:CZCE.CF801的tick数据,回测时间为:2017-09-29 11:25:00到2017-09-29 11:30:00。[/p][p=30, 2, left]        需要特别注意的是:本平台对于回测对限价单固定完全成交,本例子 仅供参考。
        敬请通过适当调整回测参数
1.backtest_commission_ratio回测佣金比例
2.backtest_slippage_ratio回测滑点比例
3.backtest_transaction_ratio回测成交比例
以及优化策略逻辑来达到更贴近实际的回测效果[/p][p=30, 2, left]     策略回测如下图所示。[/p][p=30, 2, center][img=368,164]http://toutiao.manqian.cn/img?url=https://mmbiz.qpic.cn/mmbiz_png/Av0a0MzqSOkibLgRdCwhPJk4m2S3ZHK9u2avvkx8SicjbV7n1zD62SOMhXAKQChs2k28Ed9s0sCEmMAWCmWBaWicw/640?wx_fmt=png[/img][/p][p=30, 2, left]

[/p]
[p=30, 2, left]11.海龟交易法(期货)[/p][p=30, 2, left]

[/p][p=30, 2, left]        本策略通过计算CZCE.FG801和SHFE.rb1801的ATR.唐奇安通道和MA线,并:上穿唐奇安通道且短MA在长MA上方则开多仓,下穿唐奇安通道且短MA在长MA下方则开空仓,若有 多/空 仓位则分别:价格 跌/涨 破唐奇安平仓通道 上/下 轨则全平仓位,否则根据 跌/涨 破持仓均价 -/+ x(x=0.5,1,1.5,2)倍ATR把仓位。

回测数据为:CZCE.FG801和SHFE.rb1801的1min数据,回测时间为:2017-09-15 09:15:00到2017-10-01 15:00:00。[/p][p=30, 2, left]     策略回测如下图所示。[/p][p=30, 2, center][img=368,169]http://toutiao.manqian.cn/img?url=https://mmbiz.qpic.cn/mmbiz_png/Av0a0MzqSOkibLgRdCwhPJk4m2S3ZHK9uGRSpfeczsEZvb0qjsAgA0pe1xXwkKyFldxqicR3MZyodGaSDxHic29yQ/640?wx_fmt=png[/img][/p][p=30, 2, left]

[/p]
[p=30, 2, left]12.行业轮动(股票)[/p][p=30, 2, left]

[/p][p=30, 2, left]        本策略每隔1个月定时触发计算:SHSE.000910.SHSE.000909.SHSE.000911.SHSE.000912.SHSE.000913.SHSE.000914
(300工业.300材料.300可选.300消费.300医药.300金融)这几个行业指数过去
20个交易日的收益率并选取了收益率最高的指数的成份股获取并获取了他们的市值数据,随后把仓位调整至市值最大的5只股票上。
        回测数据:SHSE.000910.SHSE.000909.SHSE.000911.SHSE.000912.SHSE.000913.SHSE.000914和他们的成份股。回测时间为:2017-07-01 08:00:00到2017-10-01 16:00:00。[/p][p=30, 2, left]     策略回测如下图所示。[/p][p=30, 2, center][img=368,165]http://toutiao.manqian.cn/img?url=https://mmbiz.qpic.cn/mmbiz_png/Av0a0MzqSOkibLgRdCwhPJk4m2S3ZHK9uWgw0OVRwhSF7hHkkOLsgmwaf9Kznxlrt9NboZqL2oCgib8ic0gDO8UOQ/640?wx_fmt=png[/img][/p][p=30, 2, left]
[/p]
[p=30, 2, left]13.机器学习(股票)[/p][p=30, 2, left]

[/p][p=30, 2, left]        本策略选取了七个特征变量组成了滑动窗口长度为15天的训练集,随后训练了一个二分类(上涨/下跌)的支持向量机模型。若没有仓位则在每个星期一的时候输入标的股票近15个交易日的特征变量进行预测,并在预测结果为上涨的时候购买标的。若已经持有仓位则在盈利大于10%的时候止盈,在星期五损失大于2%的时候止损。特征变量为:1.收盘价/均值2.现量/均量3.最高价/均价4.最低价/均价5.现量6.区间收益率7.区间标准差[size=1px],[/size]训练数据为:SHSE.600000浦发银行,时间从2016-03-01到2017-06-30。

回测时间为:2017-07-01 09:00:00到2017-10-01 09:00:00。[/p][p=30, 2, left]     策略回测如下图所示。[/p]

清心淡雅 发表于 2019-4-4 14:17

学习

量化投资客 发表于 2023-1-10 16:43

{:smile:}

量化投资客 发表于 2023-1-10 16:44

不是附策略源码么,在哪?

鹿鱼 发表于 2023-4-12 00:26

学习学习学习

页: [1]