【python量化】LSTM框架下的短期反转+长期动量合成策略

择时系列第十六篇,分享一篇使用LSTM模型对短期反转和长期动量进行组合的择时策略。传统的择时策略在动量崩溃时难以快速响应,本文的策略在这一点上能有效提升,使用动量把握长期趋势,用反转捕捉短期变化。作者在文中一并附上了代码,获取原文请在公众号《量化前沿速递》后台回复“择时16”。

策略综述:这里的长期动量用12个月的收益率表示,短期反转为1个月收益。策略构建的思路比较朴素,作者使用了一个变点检测模型CPD(ChangePoint Dection),正常时候使用长期动量去跟踪趋势,当检测到变点后,切换为短期反转信号,做均值回归。CPD是一个纯统计的模型。LSTM在这里起到的作用在于,CPD的输出是一个0-1的得分,作者将这一得分和其他一些价量信号一起作为LSTM的输入,用LSTM模型的输出作为策略信号。

CPD部分:关于CPD的算法略过,附上ChatPDF的说明,详见报告。

a762e9d5a1c1779605e72b107566f77f.png

如下图是标普500做CPD的一个例子

d1a5caf491ef2d4d8b52ff948bfe6b8a.png

CPD模型最终输出两个值,变点的位置和变点的得分,作者发现接入这两个值后模型表现和稳定性均有提升。

929da58454beed28e41a91da91a866a4.png

策略说明

传统的时序动量可以表示如下

06d4c1a24a95bdfba7e32e409031e3f0.png

扫描二维码关注公众号,回复: 15697727 查看本文章

在传统时序动量基础上叠加短期反转

ed6d5d793131504e6dd8cfc9419895e2.png

策略的设置主要是对w的值进行确定。

LSTM部分

模型输入

2ae20928c8bdf35975ac98902c5c0805.png

损失函数:夏普比

8983b34fc7ad3f8002f51cdd24aac823.png

策略表现

红色框中为不同窗口期下的策略,相比TSMOM、Long Only策略,收益、夏普比、回撤表现均有显著提升

6d9246e94168816fcd09cf8a3a37338c.png

作者在多个品种上进行了测试,均有效

1a0681d33781e82deecf51c2e94f4b4a.png

并且能看出,LSTM+CPD版本优于纯LSTM版本

042e2a5334840b7b036374e9b398dbe3.png

以上为全文主要内容,代码有些长,就不附了,感兴趣自己下载了解吧

e8f26f4ec713cceada612ff772ee1279.png

最后附上ChatPDF的说明

bad6b6c653fcc9cf50975f61cabe0daf.png

27894e4af31a6318dcbb5f9b18b93854.png

1138f38cc15a51d0c7757ed4b99ed62a.png

b549bc2cb096dc0e0e5e479bf86bdbb0.png

以上全文

觉得不错可以点在看/赞支持一下

猜你喜欢

转载自blog.csdn.net/FrankieHello/article/details/131606633