【python量化】基于Transformer的择时策略(附源码)

择时系列第十五篇,分享一篇使用Transformer构建的择时策略。作者发现,基于注意力机制的深度学习策略,显著优于传统的时序动量策略和均值回归策略。此外作者提供了源码,可以直接测试,量化前沿速递公众号后台回复“择时15”获取报告及代码。

作者首先对Transfor的深度网络做了一些说明,并与LSTM做对比。Transformer与LSTM不同的地方在于,Transformer是基于注意力机制的深度学习架构,LSTM是顺序式的架构。这种注意力机制使得Transformer可以直接连接到所有先前的时间步骤,从而能够学习更长期的模式。此外,Transformer还引入了多个muliti-head atterntion(MHA),可以捕捉同时发生在不同时间尺度上的并发模式或时间动态。 

889819682a936e7ec5f6f59b8493ca86.png

下图是LSTM和Transformer的一个对比图。

cc1eebc6a12b2e74140126929f77766a.png

数据处理上,首先对收益率做波动率调整,以保证数据在时序上的一致性

6364ad812f0ab3563a979a21907a78fd.png

损失函数定义为策略的夏普比率

e981c3e45282f6c24d0a82b9faf7908c.png

使用的特征包括收益率、波动率、MACD等价量指标。

样本为50个流动性非常好的期货(商品、股指、固定收益等等)。模型使用1990-1995年的数据做训练,1995-2000年作为测试集。

作者共测试了策略在三个区间下的表现:1995-2020、2015-2020、新冠期间期间。结果来看,都是Transformer策略下的策略最优

ab8dbd288443b3f73fdda5932091790e.png

这里的Decoder-only TFT设定如下

8cbdb3715140d0de96c4ed9404f8a782.png

净值曲线如下

d7985e3e4eff3907e76062dda5a15adb.png

新冠期间

359289b92fd1088d3f999789566d2eb8.png

论文的主要内容如上,对于代码,作者在文中给出了github链接,可以直接访问。

532a099783f49c873b5ed747241e45cc.jpeg

此外, 还有一些对于参数设定、交易成本方面的说明,可自行查阅论文。

以上为论文的主要内容,觉得不错可以点赞/在看支持。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<项目介绍> 基于Transformer模型构建的聊天机器人python实现源码+项目说明.zip基于Transformer模型构建的聊天机器人python实现源码+项目说明.zip 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 该资源适合计算机相关专业(如人工智能、通信工程、自动化、软件工程等)的在校学生、老师或者企业员工下载,适合小白学习或者实际项目借鉴参考! 当然也可作为毕业设计、课程设计、课程作业、项目初期立项演示等。如果基础还行,可以在此代码基础之上做改动以实现更多功能。 一、简介 基于Transformer模型构建的聊天机器人,可实现日常聊天。 二、系统说明 2.1 功能介绍 使用者输入文本后,系统可根据文本做出相应的回答。 2.2 数据介绍 * 百度中文问答 WebQA数据集 * 青云数据集 * 豆瓣数据集 * chatterbot数据集 由于数据集过大,因此不会上传,如有需要可以在issue中提出。 2.3. 模型介绍(v1.0版本) 基于Transformer模型,使用Python中的keras-transformer包。 训练的参数文件没有上传,如有需要可在issue中提出。 三、注意事项 * keras-transformer包需要自行安装:`pip install keras-transformer`。 * 如果需要实际运行,参数文件放在`ModelTrainedParameters`文件下;`ListData`文件下包含了已经处理好的字典等数据,不需要修改,直接运行Main.py即可。 * 如果需要自行训练,将数据集文件放在`DataSet`文件下。 * `HyperParameters.py`文件中包含了系统所需要的超参数,包括文件路径等,可根据需要自行修改;其中包含了训练模型、重新训练模型、测试模型(实际运行)的控制参数,可自行修改使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值