「精华帖分享」栏目,文章来源于量化小论坛精华帖,每周一更。原唯有论坛特定用户可阅读,现精选后分享,帮助大家了解更多量化相关内容,开拓投资交易思路。
本文来源于量化小论坛策略分享会板块精华帖。
量化小论坛
/bbs.quantclass.cn/
「量化小论坛」于2020年开放,为邢不行课程同学的交流论坛。由股票、B圈、分享会等不同板块组成,目前已有35000+帖子,5000+篇精华帖。
想了解更多论坛相关内容,可以加我微信xbx7031,与我交流。
以下为精华帖正文:
在读了论坛关于配对交易的帖子之后,回看了教科书写下了关于平稳性与协整关系的直观解释,在本帖中将会对配对交易进行回测。
01
LTC&LINK协整分析
在过往的帖子中,老哥们提到,LTC和LINK是一组不错的交易对,于是在这里拿LTC与LINK举例回测。
1、查看两者的走势,判断其在不同时期的协整关系。可以发现,在2019年的前三季度,LTC和LINK的价差虽然走势相似,但是其涨跌幅度大相径庭,在后续的协整关系检验中,应当更加关注。
2、对两者进行单位根检验,两者的close价格均不平稳,但是在进行季节差分后都变成了平稳过程。
3、对两者的协整关系进行检验,即对其回归的残差进行检验。
02
配对交易回测
参考以往老板的帖子,这里进行三种策略的回测,分别是:基于std(存在未来函数),基于滚动周期最大、最小值,基于滚动周期std。其中第一种存在未来函数的策略仅供参考,实盘意义不大。(注意,回测基于小时数据,并且不考虑交易手续费及滑点的影响。)
1、基于std的交易回测
残差超过1倍标准差的数据个数,1为正,-1为负
0.0 22480
-1.0 6714
1.0 5908
Name: over_1std_resid, dtype: int64
2、基于rolling.max()和rolling.min()的回测:此处主观的选取了24小时、7*24=168小时和720小时(1个月)的回测。
24h信号:
残差超过正常范围,1为正,-1为负
0 28428
-1 3431
1 3243
Name: resid_over_normal, dtype: int64
168h信号:
残差超过正常范围,1为正,-1为负
0 32935
1 1094
-1 1073
Name: resid_over_normal, dtype: int64
720h:
残差超过正常范围,1为正,-1为负
0 34252
1 524
-1 326
Name: resid_over_normal, dtype: int64
3、基于rolling.std()的回测:这里使用了168h(7天)、720h(30天)、2160h(1季度)和8640(1年)
168h:
残差超过1倍标准差的数据个数,1为正,-1为负
0 16498
-1 9319
1 9285
Name: resid_over_1std, dtype: int64
720h:
残差超过1倍标准差的数据个数,1为正,-1为负
0 17880
1 9712
-1 7510
Name: resid_over_1std, dtype: int64
2160h:
残差超过1倍标准差的数据个数,1为正,-1为负
0 19215
1 9203
-1 6684
Name: resid_over_1std, dtype: int64
8640h:
残差超过1倍标准差的数据个数,1为正,-1为负
0 25079
-1 6880
1 3143
Name: resid_over_1std, dtype: int64
03
结果分析
1、使用全局std的策略表现最好,由于包含未来函数,实盘意义不大。
2、使用rolling方式的后两种策略都会随着参数的增大而出现信号减少的情况,并且回测的资金净值也呈先增后减的形式。
3、参数方面,rolling.max()参数的最优参数范围应在小周期,约24h频率;而rolling.std()的最有参数范围应在720h(30天)左右,感兴趣的老板可以进一步遍历回测。对于8640h周期表现优于2160应理解为避开了2020年8月以前的跌幅。
4、策略表现周期,可以看到,无论是在哪种策略,表现最良好的阶段都是2020年8月至2022年8月之间,从当时的行情来看,市场正在经历”双顶“时期的行情,LTC与LINK币的表现却在如此巨大的振幅下如此相关。
5、优化思路:对于平稳性的检验可能需要更短的周期,而不是对于全范围的平稳性检验,选取2020年以后的数据也是因为20年以前的数据加入进来以后无法通过平稳性检验。最优的结果应当是:检验得到2020年8月-2022年8月的协整关系是存在的,而其他周期的协整关系并不明显,所以根据协整关系择时能获得最优的策略表现。
04
补充
在不同时期中,两个币种的协整关系会有不同,虽然整段时间内两个币种存在协整关系,但是部分时间可能存在不平稳,我按年份进行分析,抛砖引玉。
可以看到,分年份周期来看,只有2021年周期才是协整的。我们对每个时间节点使用上面的最优参数,利用rolling.std和rolling.max&rolling.min两种方式进行回测。
回测方式如上,这里不再重复介绍,只介绍结果,对每个年份来看,rolling.max方法在2019年和2021年表现良好,而rolling.std方法只有在2021年表现良好。
rolling.std - 2019年
rolling.std - 2021年
rolling.max - 2019年
rolling.max - 2021年
05
总结
从上述结果来看,在两个币种的协整关系显著的情况下,无论使用std还是max&min的方法都能获得客观的收益,且最大回撤可以接受。两种方法都反馈了”在出现异常残差时开对向仓位修正两者的价差“,问题的关键在于如何及时的检验到币种的协整关系,并在协整关系”破裂“的时候及时停止策略。
希望能以此帖抛砖引玉,能够得到各位老板的批评指正。
对量化小论坛感兴趣的同学,可以加我微信xbx7031,与我交流。
也欢迎大家来论坛发帖交流,原创帖如被加精,也可获得葫芦奖励。
长按查看葫芦介绍
联系作者
往期文章推荐
年度最佳,逆势大涨?什么量化策略今年比四大行还猛?甚至半年零回撤?
财务指标别乱用,实盘回测亏成狗?如何量化价值投资?财务指标,多少人用错了?
翻了20万份A股增减持公告,我找到了传说中的股神?| Python量化股东增减持数据,谁是真正的抄底逃顶高手?
反常识!科研巨头扎堆夕阳行业?A股研发之王竟是它?万亿研发费用,A股都投了什么?
妙用市场情绪找出大盘买卖点,逆向交易5年3倍 | Python量化期权成交量,上证50ETF择时
300W才能开通,A股自动交易公平吗?散户如何实现程序化交易?| 附A股程序化交易实盘演示
趋势之王or虚有其表?Python量化25种均线用法,哪些有用,哪些没用?
低风险、高收益?可转债缘何走上神坛?网红可转债策略能赚钱吗? | 附Python量化选债代码
抱最狠的团,亏最多的钱?Python量化散户抱团,揭秘A股股东户数秘密 | 附代码
以前嗤之以鼻,现在逐字学习!用Python量化缠论,一键自动生成交易信号 | 附代码
技术指标消亡史:从独领风骚到泯然众人 | 量化交易者如何看待技 术指标,技术分析还能用吗?| 邢不行
微盘股还能买吗?量化轮动策略轻松跑赢指数12倍?!只会买指数ETF也能做量化?| 邢不行
大A为何频繁跳水,Python量化1200W条交易数据给你答案!| 邢不行
跟着基金买,别墅靠大海?买基金重仓股票,会破产吗?| 附最新选股结果 |【邢不行】