价格时序预测-LSTM

  • LSTM原理
  • LSTM基本使用原理
  • Pseudo Trading
  • Keras LSTM Layer使用结果
    • In-Sample结果
    • Out-of-Sample结果

LSTM原理

LSTM是一种有监督神经网络。在普通的RNN模块里增加一个“短期记忆”模块,使得神经网络能够对基于“很久之前”曾经看到过并重复出现的“时域特征片段”作出预测上的修正。一个简单的应用是利用文本里的相距比较远的“上下文”作更好的文本分析。

LSTM是最新的受到广泛应用的有监督神经网络之一。

LSTM基本使用原理

(以下的表述基于Keras里的LSTM layer)

  • 一个Episode里的收敛性&Overfitting(Underfitting)可以用Valiation Data Set来检查。在fit时,指定一个1/3的validation_split。
  • 网络的表达能力(层数&每层节点数)需要和数据量匹配,否则非常容易出现Overfitting。LSTM的“表达能力”非常出众。同时还要用Dropout来控制LSTM疯狂的表达能力。

Pseudo Trading

回测中需要有个交易规则。我使用的是相邻两个Candle的Close Price,p0, p1,其中p1是预测的未来价格。如果p1>p0,则buy@p0,并且在下一个时刻sell@p1*,其中p1*是真实价格。反之如是。

忽略所有滑点和手续费。

Keras LSTM Layer使用结果

单层LSTM,128个节点,使用MinMaxScaler, Early-exit, Dropout。模型越简单越好。数据为5分钟BTC/USD交易历史数据,提取OHLCV以及ATR等一共9个Features作为LSTM输入,输出为价格。注意,Deep Learning (DL)本身是随机算法,所以即使是in-sample回测,也是有随机性。但是,In-sample的 Agg. Returns明显是too good to be true,不可能是真实交易。

从Out-of-Sample结果看,LSTM训练的模型是有能力beat the market的。在统计套利方面,还是有很强的实用性。LSTM很适合小资金投资者使用,因为成本很低,结果不错。

为LSTM提供数据时,要考虑Feature的选择,比如BTC这样几乎就是没有基本面,完全是动量交易驱动,那么选择的Feature可以很简单,比如ATR,EMA等等常用的指标都很有效。但是,如果交易 APPL或者GOOG,那就需要其他Reference数据,因为这些大公司的股价对基本面数据是有很强的依赖。

同时,数据的时间尺度也要考虑。5分钟的波动有可能无法cover taker手续费,所以可以考虑小时级别的交易,或者等待波动大的时候开启交易。

In-Sample结果

Out-of-Sample结果

只展示两个时间段作为示范。其中第一个时间段跑了两次回测,展示出算法的随机性。使用时需要考虑是否要voting algo的“加持”。


【待续】

价格时序预测-LSTM相关推荐

  1. 时序预测 | MATLAB实现基于EMD-LSTM时间序列预测(EMD分解结合LSTM长短期记忆神经网络)

    时序预测 | MATLAB实现基于EMD-LSTM时间序列预测(EMD分解结合LSTM长短期记忆神经网络) 目录 时序预测 | MATLAB实现基于EMD-LSTM时间序列预测(EMD分解结合LSTM ...

  2. Keras LSTM实现多维输入输出时序预测实践详解

    自古以来,我们就希望预知未来,现如今,随着大数据人工智能技术的发展,我们早已经不满足传统的同比.环比等数据分析方法,但是时间序列趋势预测的传统算法又很专业,很难用于日常生产经营中. 深度学习神经网络为 ...

  3. 时序预测 | python实现仿生算法优化LSTM时间序列预测(全网最全仿生算法)

    ** 时序预测 | python实现仿生算法优化LSTM时间序列预测(全网最全仿生算法) ** 多变量/单变量预测程序 多变量/单变量预测程序 多变量/单变量预测程序 A ABC-LSTM--人工蜂群 ...

  4. 时序预测 | MATLAB实现LSTM长短期记忆神经网络时间序列预测

    目录 时序预测 | MATLAB实现LSTM长短期记忆神经网络时间序列预测 预测效果 程序设计 案例1 案例2 参考资料 时序预测 | MATLAB实现LSTM长短期记忆神经网络时间序列预测 预测效果 ...

  5. 时序预测 | MATLAB实现基于Adam算法优化LSTM长短期记忆神经网络时间序列预测

    时序预测 | MATLAB实现基于Adam算法优化LSTM长短期记忆神经网络时间序列预测 目录 时序预测 | MATLAB实现基于Adam算法优化LSTM长短期记忆神经网络时间序列预测 效果一览 基本 ...

  6. 用于金融时序预测的神经网络:可改善经典的移动平均线策略

    北京 上海巡回站 | NVIDIA DLI深度学习培训 2018年1月26/1月12日 NVIDIA 深度学习学院 带你快速进入火热的DL领域 阅读全文                        ...

  7. 时序分析 26 - 时序预测 Prophet包初探

    时序分析 26 时序预测 - Prophet包初探 前言 在本系列前面的文章中,我们介绍了多种时序预测技术和模型.我们可以看出时序预测技术还是非常复杂的,步骤也比较繁琐.读者可能还记得VAR模型的步骤 ...

  8. 时序预测的三种方式:统计学模型、机器学习、循环神经网络

    作者 | luanhz 来源 | 小数志 导读 时序预测是一类经典的问题,在学术界和工业界都有着广泛的研究和应用.甚至说,世间万物加上时间维度后都可抽象为时间序列问题,例如股票价格.天气变化等等.关于 ...

  9. 时序预测:从两篇高影响力的论文谈起

    未来可以预测吗? 本文从两篇高影响力的时序预测文章谈起,其中一篇是18年放在arXiv上的文章,文中总结性地提出了时序卷积网络(TCN: Temporal Convolutional Network) ...

最新文章

  1. android服务重启间隔,android – 崩溃的服务在很长一段时间后重新启动
  2. 360不用卸,照样上你QQ
  3. css 实现table 隔行变色
  4. 每个客户使用Jersey处理的Cookie
  5. Mdi悬浮子窗体不超过主窗体边界
  6. 低代码发展专访系列之六:低代码平台能解决业务重构的问题么?
  7. 达梦工作笔记-达梦客户端,执行命令后要保存退出,才生效
  8. rust地基蓝图在哪找_Rust错误处理的思考
  9. Linux中安装.rpm、.tar和.tar.gz或.tgz包
  10. matlab getdata 仿照一个曲线 提取图像中的曲线数据
  11. Python实现过采样和欠采样
  12. Rockchip_双屏显示旋转方向调试文档
  13. 大衣哥家的小伟和亚楠还能走多久?
  14. SCI影响因子与期刊检索网站整理
  15. centos7部署calamari
  16. 基层管理者的第一步——从“我”变成“我们”
  17. POST,PUT和PATCH的区别
  18. 1.华为设备CPU过高排查过程
  19. python日历软件的制作
  20. Knapsack Problem(0-1背包问题)

热门文章

  1. 高级JavaScript Day03 | 函数定义和调用、this、严格模式、高阶函数、闭包、递归
  2. 01- 初识MySQL
  3. 失业下的深圳中年:没有人活的容易,生活仍得继续...
  4. 随手记——echarts图表
  5. redhat7安装oracle11gR2之动手安装
  6. 都匀三中2021高考成绩查询,2017年黔南州高考各县市600分以上人数统计表,都匀市仅排第九。...
  7. 无线网卡在服务器上不能启用,解决无线网卡突然不能启用的问题(事件ID4294)...
  8. 微服务开放平台接口设计
  9. 游戏中的三角学——Sprite Kit 和 Swift 教程(1)
  10. Python读写zip压缩文件