精华帖分享|基于协整关系的配对交易回测-LTC&LINK

科技   财经   2024-09-19 17:01   江苏  

「精华帖分享」栏目,文章来源于量化小论坛精华帖,每周一更。原唯有论坛特定用户可阅读,现精选后分享,帮助大家了解更多量化相关内容,开拓投资交易思路。


本文来源于量化小论坛策略分享会板块精华帖。

























量化小论坛 

/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股研发之王竟是它?万亿研发费用,A股都投了什么?

妙用市场情绪找出大盘买卖点,逆向交易5年3倍 | Python量化期权成交量,上证50ETF择时

300W才能开通,A股自动交易公平吗?散户如何实现程序化交易?| 附A股程序化交易实盘演示

趋势之王or虚有其表?Python量化25种均线用法,哪些有用,哪些没用?

低风险、高收益?可转债缘何走上神坛?网红可转债策略能赚钱吗? | 附Python量化选债代码

抱最狠的团,亏最多的钱?Python量化散户抱团,揭秘A股股东户数秘密 | 附代码

以前嗤之以鼻,现在逐字学习!用Python量化缠论,一键自动生成交易信号 |  附代码

技术指标消亡史:从独领风骚到泯然众人 | 量化交易者如何看待技术指标,技术分析还能用吗?|  邢不行

微盘股还能买吗?量化轮动策略轻松跑赢指数12倍?!只会买指数ETF也能做量化?| 邢不行

大A为何频繁跳水,Python量化1200W条交易数据给你答案!| 邢不行

A股贵如金?Python量化验证AH股溢价效应,跟着买15年18倍?| 附策略代码

跟着基金买,别墅靠大海?买基金重仓股票,会破产吗?| 附最新选股结果 |【邢不行】

抓了几千万条热门股数据,用Python量化验证后发现结果竟然...... | 【邢不行】

当我们谈论量化时,我们在谈论什么?量化投资常见策略有哪些?| 融券T0和高频交易详解|【邢不行】

邢不行
专注股票、B圈、期货、期权的量化交易,欢迎交流。
 最新文章