论文部分内容阅读
【摘要】 期货市场向从业者提供了套期保值工具以规避价格风险,基于K线图的技术分析以及基于统计分析与机器学习的量化交易,能提高期货市场流动性,从而加速价格发现。然而,目前K线图的分析過于依赖人主观分析的经验,量化分析则通过特征预测涨跌来获得买卖点,由于特征很容易失效,因此准确率不高。本研究通过人机结合,基于无监督深度学习自编码模型,将K线图形状时间序列数据降维,可视化为散点图,使用点的颜色表示后续价格走势,点之间的距离代表两段K线图形状的相似度,因此通过散点图可以快速检索与当前K线图形状相似的历史K线图,并根据历史K线图后续走势做出交易决策。有别于传统方法,本方法既可以充分利用算法对数据的处理能力自动学习特征,同时又能很好的利用人视觉分析的经验。
【关键词】 人机结合 期货交易 时序降维 可视化 自编码网络
一、国内外研究现状
1.1量化交易的研究
传统分析方法侧重于依靠特征(因子)预测涨跌的方法对量化交易进行研究,缺点是精准度不高、容易过拟合,同时,某特征被证明有效后,容易引起市场跟风,最终导致失效。
Jegadeesh and Titman (1993) 对横截面动量进行了研究[1],定义了动量因子,是指价格趋势有一种惯性,强者恒强,弱者恒弱,相应的交易策略是追涨杀跌,动量因子容易理解,可操作性强。
Fernandez-Perez A 等人(2016) 总结了期货交易常用的11个因子[2],包括动量因子、期限结构因子、特质波动率、持仓情况因子、流动性因子、通胀因子、汇率因子等因子。
上海交通大学胡波(2018)使用随机森林和支持向量机算法研究了黄金期货交易[3],此论文的创新点从算法上对支持向量机进行了加权,对时间较早的数据特征降低权重,时间近的数据特征增加权重。
1.2无监督深度学习自编码器的研究
无监督深度学习的优势在于能自主发现特征。网络通过多层处理,将原始的“低层”特征转换为“高层”特征表示,可完成复杂的分类等任务。深度学习在图像识别、声音识别、文本翻译等领域取得了很多成果。
自编码器是深度学习中的一种无监督学习模型,它利用神经网络编码器将输入压缩成潜在空间表征,再用解码器将这种表征重构为输出,通过这种有损的压缩算法,学习到输入数据最重要的特征。
Madiraju N S, Sadat S M, Fisher D(2018)提出了一种针对时间序列数据的无监督聚类算法[4],在聚类前通过自编码器将时间序列数据降维。
Mohammed Ali,Mark W. Jones,Xianghua Xie,Mark Williams. TimeCluster(2019)提出了一种时间序列数据降维后,通过可视化进行模式识别与异常检测的方法 [5],数据降维综合使用了自编码器与PCA等方法。与金融数据分析不同,文中举例的呼吸时间序列数据非常有规律,模式比较明显,人眼很容易识别异常,而在金融数据分析中,K线图波浪识别主观性更强,模式无明显界限。同时,相较于医学领域对准确性的高要求,金融数据分析对准确率要求不如医学领域严格,只需胜率略大即可。
二、人机结合在期货交易中的应用总体研究
人们在使用K线图做期货交易分析时,假设历史会重演,通过K线图的形状来判断价格走势,例如钻石底、头肩顶等。然而,目前K线图的分析过于依赖人的经验,因此,我们可以通过皮尔逊相关系数计算两条K线图曲线的形状相似度,找到与当前走势相符的历史数据,返回其后续走势的曲线,然后用人脑过滤一遍,来决定最终操作。
通过研究发现,相似度类似的曲线有很多条,后续走势可能存在差异。通过把每一段K线图降维到二维空间的一个点,点之间的距离越近代表这两段K线图的形状越相似,越远代表这两段K线图的形状差异越大,点的颜色代表这段K线图后续价格的走势。如果上涨为红色,下跌为绿色,把这些点画成散点图后,就可以通过人来观察待预测的点所处位置周围颜色分布情况来判断交易信号。本文的创新点是人机结合,开创了K线图之外的一个新的可视化工具来辅助期货交易决策。
三、实现方案
通过前30天的日K线数据预测后5天的价格走势,将期货交易K线图时间序列数据用滑动窗口滚动生成数据集[5],使用无监督深度学习自编码模型[4]训练降维模型,然后通过模型对历史期货交易数据降维抽取特征,和待预测时序数据降维后的特征一起生成可视化的二维散点图。
3.1数据预处理
1.期货市场有几十种交易品种,综合考虑如下因素,选取螺纹钢作为研究标的:交易活跃,不易产生滑点;交易一手金额适中,易控制风险;价格波动率适中,即不会因为波动太大而爆仓,也不会因为波动太小没有盈利;上市时间早,有较长历史数据可用。
2.螺纹钢日K线图的数据包含开盘价、收盘价、最高价、最低价、成交量,从2009年3月27日到2021年8月4日共3006行数据,使用30+5个工作日的滑动窗口[5],按天滑动滚动生成2970份步长为35的时序样本数据,其中前面30步长时序数据用于降维,后5个步长用于判断后续走势。
3. K 线图的形状与价格绝对值无关,由于通货膨胀等原因,时间越接近,价格越高,降维后保留的部分价格信息会干扰决策,通过求日涨跌幅消除其影响。其次,对数据做归一化为深度学习训练做准备。90%的样本数据用于深度学习训练(70%训练数据,20%测试数据),另外10%用于评估人机结合交易的效果。
3.2自编码器无监督深度学习训练 1.参考文献[4],使用TensorFlow和Keras构建深度学习卷积自编码模型,将30(步长)*5(特征)的时序数据降维到6维特征,使用90%样本集中的30步长时序数据进行无监督学习训练。
2.编码器首先通过一维卷积捕捉序列间的短距离波动,然后经过池化将卷积结果降维,降维后的数据通过两个双向LSTM学习到序列前后的数据波动,最后压缩成6维特征。
3.解码器进行UpSample和反卷积操作,将学习到的6维特征它重构为30*5时序数据,与输入序列对比,以MSE为损失函数,不断的训练这个深度自编码网络,就可以得到自编码降维模型。
3.3降维和可视化
使用自编码器训练出来的模型,将K线数据压缩成6维特征,通过PCA进一步降维到2维,后5天走势跌幅超过3%的点标识为绿色圆点,涨幅超过3%的点标识为红色圆点,需要预测的当前行情通过同样的模型将K线数据降维到散点平面图上的一个点,用黑色三角形表示,根据点附近的红绿圆点聚集情况判断是要买多,还是卖空或者不交易。
通过实验,可以非常清楚的看到K线图形状相似度接近的历史曲线后续的历史走势,为交易决策提供了K线图外的一种可视化工具。
四、结束语
通过机器学习K线图形状关键特征,将K线图形状相似度信息与价格未来走势可视化为散点图,快速找到与当前K线图形状类似的历史K线图及后续价格走势,实现计算机辅助交易决策。机器学习与人脑结合,在K线图以外,新创建了一种可视化辅助交易决策的图。
参 考 文 献
[1] Narasimhan Jegadeesh and Sheridan Titman .Returns to Buying Winners and Selling Losers:Implications for Stock Market Efficiency. The Journal of Finance, March 1993
[2] Fernandez-Perez A , Fuertes A M , Miffre J . Harvesting Commodity Risk Premia.2016
[3]胡波. 基于機器学习的期货市场趋势研究[D].上海交通大学,2018.
[4] Madiraju N S , Sadat S M , Fisher D , et al. Deep Temporal Clustering : Fully Unsupervised Learning of Time-Domain Features[J]. 2018.
[5]Mohammed Ali,Mark W. Jones,Xianghua Xie,Mark Williams. TimeCluster: dimension reduction applied to temporal data for visual analytics[J]. The Visual Computer,2019,35(6-8):
【关键词】 人机结合 期货交易 时序降维 可视化 自编码网络
一、国内外研究现状
1.1量化交易的研究
传统分析方法侧重于依靠特征(因子)预测涨跌的方法对量化交易进行研究,缺点是精准度不高、容易过拟合,同时,某特征被证明有效后,容易引起市场跟风,最终导致失效。
Jegadeesh and Titman (1993) 对横截面动量进行了研究[1],定义了动量因子,是指价格趋势有一种惯性,强者恒强,弱者恒弱,相应的交易策略是追涨杀跌,动量因子容易理解,可操作性强。
Fernandez-Perez A 等人(2016) 总结了期货交易常用的11个因子[2],包括动量因子、期限结构因子、特质波动率、持仓情况因子、流动性因子、通胀因子、汇率因子等因子。
上海交通大学胡波(2018)使用随机森林和支持向量机算法研究了黄金期货交易[3],此论文的创新点从算法上对支持向量机进行了加权,对时间较早的数据特征降低权重,时间近的数据特征增加权重。
1.2无监督深度学习自编码器的研究
无监督深度学习的优势在于能自主发现特征。网络通过多层处理,将原始的“低层”特征转换为“高层”特征表示,可完成复杂的分类等任务。深度学习在图像识别、声音识别、文本翻译等领域取得了很多成果。
自编码器是深度学习中的一种无监督学习模型,它利用神经网络编码器将输入压缩成潜在空间表征,再用解码器将这种表征重构为输出,通过这种有损的压缩算法,学习到输入数据最重要的特征。
Madiraju N S, Sadat S M, Fisher D(2018)提出了一种针对时间序列数据的无监督聚类算法[4],在聚类前通过自编码器将时间序列数据降维。
Mohammed Ali,Mark W. Jones,Xianghua Xie,Mark Williams. TimeCluster(2019)提出了一种时间序列数据降维后,通过可视化进行模式识别与异常检测的方法 [5],数据降维综合使用了自编码器与PCA等方法。与金融数据分析不同,文中举例的呼吸时间序列数据非常有规律,模式比较明显,人眼很容易识别异常,而在金融数据分析中,K线图波浪识别主观性更强,模式无明显界限。同时,相较于医学领域对准确性的高要求,金融数据分析对准确率要求不如医学领域严格,只需胜率略大即可。
二、人机结合在期货交易中的应用总体研究
人们在使用K线图做期货交易分析时,假设历史会重演,通过K线图的形状来判断价格走势,例如钻石底、头肩顶等。然而,目前K线图的分析过于依赖人的经验,因此,我们可以通过皮尔逊相关系数计算两条K线图曲线的形状相似度,找到与当前走势相符的历史数据,返回其后续走势的曲线,然后用人脑过滤一遍,来决定最终操作。
通过研究发现,相似度类似的曲线有很多条,后续走势可能存在差异。通过把每一段K线图降维到二维空间的一个点,点之间的距离越近代表这两段K线图的形状越相似,越远代表这两段K线图的形状差异越大,点的颜色代表这段K线图后续价格的走势。如果上涨为红色,下跌为绿色,把这些点画成散点图后,就可以通过人来观察待预测的点所处位置周围颜色分布情况来判断交易信号。本文的创新点是人机结合,开创了K线图之外的一个新的可视化工具来辅助期货交易决策。
三、实现方案
通过前30天的日K线数据预测后5天的价格走势,将期货交易K线图时间序列数据用滑动窗口滚动生成数据集[5],使用无监督深度学习自编码模型[4]训练降维模型,然后通过模型对历史期货交易数据降维抽取特征,和待预测时序数据降维后的特征一起生成可视化的二维散点图。
3.1数据预处理
1.期货市场有几十种交易品种,综合考虑如下因素,选取螺纹钢作为研究标的:交易活跃,不易产生滑点;交易一手金额适中,易控制风险;价格波动率适中,即不会因为波动太大而爆仓,也不会因为波动太小没有盈利;上市时间早,有较长历史数据可用。
2.螺纹钢日K线图的数据包含开盘价、收盘价、最高价、最低价、成交量,从2009年3月27日到2021年8月4日共3006行数据,使用30+5个工作日的滑动窗口[5],按天滑动滚动生成2970份步长为35的时序样本数据,其中前面30步长时序数据用于降维,后5个步长用于判断后续走势。
3. K 线图的形状与价格绝对值无关,由于通货膨胀等原因,时间越接近,价格越高,降维后保留的部分价格信息会干扰决策,通过求日涨跌幅消除其影响。其次,对数据做归一化为深度学习训练做准备。90%的样本数据用于深度学习训练(70%训练数据,20%测试数据),另外10%用于评估人机结合交易的效果。
3.2自编码器无监督深度学习训练 1.参考文献[4],使用TensorFlow和Keras构建深度学习卷积自编码模型,将30(步长)*5(特征)的时序数据降维到6维特征,使用90%样本集中的30步长时序数据进行无监督学习训练。
2.编码器首先通过一维卷积捕捉序列间的短距离波动,然后经过池化将卷积结果降维,降维后的数据通过两个双向LSTM学习到序列前后的数据波动,最后压缩成6维特征。
3.解码器进行UpSample和反卷积操作,将学习到的6维特征它重构为30*5时序数据,与输入序列对比,以MSE为损失函数,不断的训练这个深度自编码网络,就可以得到自编码降维模型。
3.3降维和可视化
使用自编码器训练出来的模型,将K线数据压缩成6维特征,通过PCA进一步降维到2维,后5天走势跌幅超过3%的点标识为绿色圆点,涨幅超过3%的点标识为红色圆点,需要预测的当前行情通过同样的模型将K线数据降维到散点平面图上的一个点,用黑色三角形表示,根据点附近的红绿圆点聚集情况判断是要买多,还是卖空或者不交易。
通过实验,可以非常清楚的看到K线图形状相似度接近的历史曲线后续的历史走势,为交易决策提供了K线图外的一种可视化工具。
四、结束语
通过机器学习K线图形状关键特征,将K线图形状相似度信息与价格未来走势可视化为散点图,快速找到与当前K线图形状类似的历史K线图及后续价格走势,实现计算机辅助交易决策。机器学习与人脑结合,在K线图以外,新创建了一种可视化辅助交易决策的图。
参 考 文 献
[1] Narasimhan Jegadeesh and Sheridan Titman .Returns to Buying Winners and Selling Losers:Implications for Stock Market Efficiency. The Journal of Finance, March 1993
[2] Fernandez-Perez A , Fuertes A M , Miffre J . Harvesting Commodity Risk Premia.2016
[3]胡波. 基于機器学习的期货市场趋势研究[D].上海交通大学,2018.
[4] Madiraju N S , Sadat S M , Fisher D , et al. Deep Temporal Clustering : Fully Unsupervised Learning of Time-Domain Features[J]. 2018.
[5]Mohammed Ali,Mark W. Jones,Xianghua Xie,Mark Williams. TimeCluster: dimension reduction applied to temporal data for visual analytics[J]. The Visual Computer,2019,35(6-8):