深度学习算法:如何使用图像识别预测趋势反转?

2023-04-2908:42:05数据结构与算法Comments1,148 views字数 1905阅读模式

作者:CHERN-BIN JU 、AN-PIN CHEN文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

前言文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

近几年,深度学习算法在计算机视觉领域有着出色表现。我们也经常好奇,在量化投资领域,我们是否能够使用图像识别技术预测股价。要解决这个问题,首先要回答以下两个问题:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

  • 如何将股价序列转换为计算机图片?(X)
  • 如何定义预测的目标?(Y)

以上两个问题,本质上就是如何定义训练样本及训练目标的问题。这是每个机器学习任务都会遇到的问题。对于这两个问题,很多人直观的回答就是:如果是图像识别的模式,是不是直接输入股价K线图,预测未来一段时间的涨跌就可以了。这种端到端的方式,大概率是不会有非常好的效果的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

今天分享的这篇文章,来自IEEE。本文从以下几个方面解答了以上两个问题:首先,通过Market Profile将股价序列转换为灰度的图像,然后定义预测的目标为趋势的反转。最后,使用CNN模型,预测未来是否会发生趋势反转。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

Market Profile文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

市场轮廓指标,国内也称为四度空间指标。与传统的K线图相比,更能直观的展示当前市场的价格分布。假设,我们把一天时间分为5个时间段,以ABCDE五个字母表示。每个时间段都有高开低收的价格,我们只使用最高价和最低价,然后把对应的时间段(字母表示)标注在该时间段对应的价格区间。如下图Day1,A时间段最高价为3130,最低价为3100,那就在3130至3100的对应位置标上A;然后,B时间段最高价为3120,最低价为3090,那就在3120至3090的对应位置标上B;以此类推。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

深度学习算法:如何使用图像识别预测趋势反转?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

Market Profile到灰度图像文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

上述转换得到的Market Profile还不能直接作为CNN的输入,必须再转换成图像。在上述示例中,使用了日内的行情数据(把一天分成了5个时间段)。但在实证的模型中,作者只使用的日度的K线价格数据。作者使用了过去25天的价格数据,那么针对这25天的价格数据,转换为Market Profile就有多种方法。作者采用了以下几种作为对比:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

  • 把所有25天的K线数据转换为Market Profile
  • 把25天,以5天周期分成5段,每一个5天转换为Market Profile

然后,又可以根据不同日期用不同的颜色表示,最终可以有以下几种定义样本数据的方式(具体参考以下图9和图10):文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

  • EGA,基于所有25天生成Market Profile,每个日期用不同的颜色表示。
  • EGB,基于5天一个时间段生成5个Market Profile,所有日期用相同颜色表示。
  • EGC,基于5天一个时间段生成5个Market Profile,每个时间段用相同颜色表示,时间段之间颜色不一样。
  • EGC,基于5天一个时间段生成5个Market Profile,每个时间段的第N天用一种颜色,比如所有时间段中的第1天为一个颜色。

深度学习算法:如何使用图像识别预测趋势反转?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

作者使用标普500mini期货,过去20年的数据,并采用1日窗口,按下图所示,滚动将K线数据转为图像数据。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

深度学习算法:如何使用图像识别预测趋势反转?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

数据标注文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

上述个步骤,如何将K线转换为图像,解决了第一个问题。对于预测目标,也就是趋势反转,作者采用了以下定义,其中c表示收盘价,如果t-5日收盘价大于t-10日收盘价、t日收盘价大于t-5日收盘价且t+5日收盘价小于t日收盘价,侧为上升趋势反转;如果t-5日收盘价小于t-10日收盘价、t日收盘价小于t-5日收盘价且t+5日收盘价大于t日收盘价,侧为下降趋势反转。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

模型结构文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

文中采用CNN模型,对输入的图像做训练与预测,具体模型结构如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

深度学习算法:如何使用图像识别预测趋势反转?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

实证结果文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

文中首先给出了模型的结果,如下表2表3所示。然后还给出了应用到具体交易策略中的测试结果,如表4表5所示。在其中表4为2%止损的结果,表5为5%止损的结果。具体交易策略逻辑如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

  • t日,当模型预测趋势下降反转时(预测0),买入,并计划t+5日后卖出:
    • 期间如果触发止损,则卖出;
    • 如果下一日还是预测0,则在t+6日后卖出;
    • 如果下一日预测为1,则还是在t+5日卖出;
    • 如果下一日预测为2,则卖出。
  • t日,当模型预测趋势上升反转时(预测1),卖出,并计划t+5日后买入:
    • 期间如果触发止损,则买入;
    • 如果下一日还是预测1,则在t+6日后买入;
    • 如果下一日预测为0,则还是在t+5日买入;
    • 如果下一日预测为2,则买入。

如图14所示,在所有对比中,EGC获得了最高的平均单笔收益,2%止损的情况下,其年化收益率为50.5%,盈亏比为1.74。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

深度学习算法:如何使用图像识别预测趋势反转?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

深度学习算法:如何使用图像识别预测趋势反转?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

总结文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

本文最大的创新是利用Market Profile将原本的时间序列预测问题,转换为图像识别的问题。这样就可以使用CNN进行趋势反转的预测。关于其他细节,请参考原文:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9693504文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/37734.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/suanfa/37734.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定