GoogLeNet构建技术分析因子的模式识别基于TensorFlow

第一部分

  • GoogLeNet, 2014年ILSVRC挑战赛冠军,这个model证明了一件事:用更多的卷积,更深的层次可以得到更好的结构。(当然,它并没有证明浅的层次不能达到这样的效果)

  • 通过使用 NiN(Network-in-network)结构拓宽卷积网络的宽度和深度,其中将稀疏矩阵合并成稠密矩阵的方法和路径具有相当的工程价值。

  • 本帖使用这个NiN结构的复合滤波器对 HS300ETF 进行技术分析因子预测。并通过叠加不同指数,尝试寻找‘指数轮动’可能存在的相关关系。

1.1 LeNet-5 一种典型的卷积网络是。当年美国大多数银行用它来识别支票上面的手写数字的。

 

 

1.2 NiN结构的Inception module, GoogleLeNet核心卷积模块,一个拓宽宽度的滤波器 ,相当于一个高度非线性的滤波器

 

 

1.3 GoogleLeNet 拓扑结构图,可以看到GoogleLeNet在LeNet网络结构上面大量使用Inception_unit滤波器拓宽加深LeNet网络,Going deeper with convolutions论文中Inception_unit滤波器将稀疏矩阵合并成稠密矩阵的方法和路径具有相当的工程价值。

 

 

 

第二部分

GoogleLeNet 拓扑结构代码(截取部分)

  • 在使用Tensorflow复现论文(Going deeper with convolutions)发现SAME算法填充(0)要比VALID效果好一些,很稳定的好一些。

 

 

 

第三部分

HS300技术分析指标数据图像表示

处理技术分析指标,生成时间序列的多因子数据,使用前56天数据预测后14天涨跌。

 

 

Number of data losses 726 Ratio : 0.0467302

 

直观图像

  • 取某个交易日技术分析指标参数合成图片像素数据。

  • CNN一般用来设计机器视觉,简单说就是专门处理图像和视频的,下图为按照CV观点来看输入的多因子数据。

  • 因为前面技术分析因子进行标准化(归一化处理),这里对因子数据进行缩放和偏置。

 

 

技术分析因子数值波动

 

 

多种技术分析因子数值在Y轴并列之后使用颜色表示因子数值大小

 

 

 

 

 

 

使用上证指数、中证500、创业板指 叠加 HS300

  • 在做技术分析的时候,通常行情和单只股票走势,采用叠加噪音的方式探索是否几个指数存在可量化的关系

  • 这里采用多图叠加的方法添加噪音进行探索,参考RGB 3基色合成彩色图片

  • image3 HS300 ZZ500 CYBZ

  • image4 HS300 ZZ500 CYBZ SHCI

     

 

 

Number of data losses 726 Ratio : 0.0467302
Number of data losses 726 Ratio : 0.0467302
Number of data losses 726 Ratio : 0.0467302
Number of data losses 726 Ratio : 0.0467302

  • 设定使用几个指数线的56天技术分析因子作为训练数据,使用CNN网络卷积进行提取特征,下面两幅图片就是从CV角度看到的我们输入的多因子数据。

 

 

 

设置参数并训练

 

 

CPU times: user 54min 48s, sys: 14min 59s, total: 1h 9min 47s
Wall time: 29min 19s

 

 

免责声明:信息仅供参考,不构成投资及交易建议。投资者据此操作,风险自担。
如果觉得文章对你有用,请随意赞赏收藏
相关推荐
相关下载
登录后评论
Copyright © 2019 宽客在线