【独家推送】GoogLeNet构建技术分析因子的模式识别基于TensorFlow
时间:2022-04-25
本文章向大家介绍【独家推送】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
- 如何写出好的 JavaScript —— 浅谈 API 设计
- 分析DAO的漏洞
- Phoenix - Hbase与SQL
- 2018年,让你的数据库变更快的十个建议
- Hadoop如何使用Zookeeper来保障高可用?
- HTTP 压力测试工具 wrk
- 理解 Linux shell 中的一个方言:2>&1
- 大家知道什么是git中的 .gitignore吗?
- MySQL 8.0 新特性 :隐藏索引 Invisible Indexes
- 如何监控MySQL的复制延迟?
- Uber 的 Docker Mysql 应用
- Dubbo源码-从HelloWorld开始
- 【深度学习】用PaddlePaddle进行车牌识别(二)
- JavaScript 10分钟入门
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 近期对libatapp的一些优化调整(增加服务发现和连接管理,支持yaml等)
- SSM 单体框架 - 前端开发:用户和权限模块
- Cnitch:一款Docker引擎运行进程权限检测工具
- SAP Spartacus BrowserPlatformLocation的初始化逻辑
- 重启 CentOS 7 系统后的 IP 地址问题
- SSM 单体框架 - 前端开发:用户权限控制,Nginx 和项目部署与发布
- 用 Python 制作飞机大战小游戏
- SSM 单体框架 - 前端开发:视频讲解
- MyBatis 的 `<if test="">` 语句里面使用反单引号的问题
- 30 个Python代码实现的常用功能,精心整理版
- Java 后台开发面试题分享一
- IDEA 报错:no tests were found 和 UnsupportedOperationException
- Angular sandbox项目的tsconfig.json内容一览
- Java 后台开发面试题分享二
- axios 进行同步请求(async+await)