博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习与股价预测
阅读量:4295 次
发布时间:2019-05-27

本文共 1833 字,大约阅读时间需要 6 分钟。

    最近几年机器学习很火爆,很多行业都尝试将机器学习和自身行业结合起来,启发新的思路,开发新的产品。自动驾驶,智能音箱等不再一一列举。量化方面也尝试将机器学习运用到策略研发中,但目前来看到特别出彩的成果,虽说机器学习大多也是基于概率和统计,和量化使用方法基本一致的。但由于交易数据中高噪声和“目标漂移"(目标不是固定的,比如熊市,猴市的优质策略放牛市可能亏钱)。

    量化交易几大部分,选股,择时,套利,事件,趋势。其中选股如果基于多因子,不论是技术还是基本面,由于和统计同源,很难超越统计效果太多,而且这属于传统领域已经发掘多年的课题了,难以找到新的盈利点。择时方面,曾见到过用隐马尔科夫进行牛熊市判断的(训练数据上看起来效果不错),预测新数据效果,持怀疑态度。
    对于机器学习+时序的量价信息用于股价预测,个人并不看好。机器学习并未万能,如果一段行情人工判断都无法判断是牛熊市,指望机器如何判断?这里想必有人反驳,人工做不到的机器做到了也有啊,打游戏,下象棋。其实,机器相比人而言,唯一是计算,唯二是记忆,机器没有任何逻辑或抽象能力(计算机做的只是求解了一个or一组方程(模型)的最大值,or最小值)如果机器做的比人好,那它必依赖这两者其一。大家可以想想,目前所有的机器学习适用场景or领域,是否有例外。象棋,其实是采用了模特卡洛模拟(有一些加速的优化技术),但其本质就是记下当前的棋盘状态,然后瞎猜,瞎蒙,那种下法胜率高就用那种。那么,我们人工无法用大脑预测股票的时序数据,是因为人类存储能力不足?或者是计算能力不足?那么采用20-30个数据点预测下1个数据点,总没有所谓存储or计算问题了吧,可我们依然无法处理。
    目前机器处理的问题,分类聚类回归推荐等,本质上都是对过去数据的“总结”或“描述”,总结过去数据特征,要么找到合适分布,或合适分界面,或构造损失最小回归面。总之,学习的数据和预测的数据存在某个共同的规律(或者短期不变的规律)。但股价时序数据并不满足这一点。今天一模一样的行情,明天却大相径庭,机器学习也不擅长处理自相矛盾的数据。
    机器发现规律的方式,只是按照人们的前提假设,找出最符合人类假设的参数等。所以在实际做工程时,需要试试LR,试试决策树。这里做的事情就是告诉他,我们认为现在丢给你的数据符合LR的处理规则(比如线性相关),其实就是一种假设信息(而机器也不会发觉“您给的数据不符合LR算法”)。机器学习的抽象化只能依赖与人们开发的现成模型,比如,机器学习输入的数据,输出的模型,这也是一种抽象化,这种抽象化只是套用了人类的模型,然后求了一些方程最优解而已。它无法创造出模型本身。
    判断一个工作能否交给机器学习(或机器学习能否处理),最简单办法就是看下人工是否可以完成,如果人们自己都无法对其建模,无法将其转化为”方程求解“问题,他们交给计算机大概率也是徒劳。人干不成说明事情本来就没规律,要么规律或模型过于抽象复杂(别指望计算机解决问题同时创造出一个新学科?),人能,就有戏,人都干不了,就别让机器干了。否则即使做出来,也带概率是预测布朗运动,准不准看运气。
    所以,使用应马尔科夫判断牛熊,或者lstm预测指数走向,很难靠得住,可能效果还不如用均线方向做判断。
    个人也在进行这方面的思考。目前更倾向于用其发掘‘异常公司".可以认为是”事件“。
    比如:会进行收购或者重组的公司,大概率要么特别牛,要么是特别差(或者频繁大宗交易等)。如果对公司按照行业的基本面建模,这些公司大概率属于特殊的“离群点”,在进行收购或重组前,二级市场可能有大宗交易,或者股价会稳定缓慢上涨等(有一小嘬人知道内幕)。或者就是新闻多,有xx热点等。这方面用机器学习应该更容易,概率处理个别的特征比较方便,却很难发现多个维度之间的协同性质的关联,机器学习却能较容易的发掘这种内部关联。通过可视化技术观察数据是否符合自己猜测,如果符合并且计算重组等平均收益,看下是否有利可图,如果有利可图就可以尝试对其建模求解,这只是随手想来的例子,可能未必对。但想来会比预测股价时序要容易。

 

机器学习结合技术因子的策略:

【研究】机器学习寻找最优技术因子组合

https://www.ricequant.com/community/topic/36754//2

机器学习寻找最优技术因子组合之二

https://www.ricequant.com/community/topic/36829/

转载地址:http://hqyws.baihongyu.com/

你可能感兴趣的文章
MySQL 查看执行计划
查看>>
OpenGL ES 3.0(四)图元、VBO、VAO
查看>>
OpenGL ES 3.0(五)纹理
查看>>
OpenGL ES 3.0(八)实现带水印的相机预览功能
查看>>
OpenGL ES 3.0(九)实现美颜相机功能
查看>>
FFmpeg 的介绍与使用
查看>>
Android 虚拟机简单介绍——ART、Dalvik、启动流程分析
查看>>
原理性地理解 Java 泛型中的 extends、super 及 Kotlin 的协变、逆变
查看>>
FFmpeg 是如何实现多态的?
查看>>
FFmpeg 源码分析 - avcodec_send_packet 和 avcodec_receive_frame
查看>>
FFmpeg 新旧版本编码 API 的区别
查看>>
RecyclerView 源码深入解析——绘制流程、缓存机制、动画等
查看>>
Android 面试题整理总结(一)Java 基础
查看>>
Android 面试题整理总结(二)Java 集合
查看>>
学习笔记_vnpy实战培训day02
查看>>
学习笔记_vnpy实战培训day03
查看>>
VNPY- VnTrader基本使用
查看>>
VNPY - CTA策略模块策略开发
查看>>
VNPY - 事件引擎
查看>>
MongoDB基本语法和操作入门
查看>>