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

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

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

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

651b524b761fa2f150f999b0a3f591c1.png

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

eb6f2f580f04eeed195265be11e8798f.png

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

d7ac93496f239e1f289dfac4ee52b2a3.png

策略说明

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

76412fbf2cee0996aca049530ac74c8d.png

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

a334253a6c86022ad69f823044cd3562.png

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

LSTM部分

模型输入

e82c8f08daecd7356b5fd79855920999.png

损失函数:夏普比

54ceffe220201bbdcb8a08c14b976540.png

策略表现

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

d0f2268b2cf53470eaa32b5e7f1f8538.png

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

48f0fe135fcfb56eeabf673e3215a95c.png

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

6bd6f65f799461b14ee6b500d93457f1.png

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

a072570a1daf2efe442584b50f6bf837.png

最后附上ChatPDF的说明

cc48993143c968ed9d5ffbf66cdf36b4.png

f1460bdf034bb1eab8ba4653e152b1fd.png

220d08a0c39beabbd266956f27cdd3b9.png

300fb6daf44505a405c6b0905458eae5.png

以上全文

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值