这个算是一个小坑,因为我也还在学习过程中,代码慢慢完善。一开始在python 2.7,vnpy 1.9.2环境中实现。后面在python 3.7也基本实现,增加支持了xgboost。代码写的繁杂,多多抱歉。
首先说说Scikit-learn是Python语言中专门针对机器学习应用而发展起来的一款开源框架,相对于现在深度学习库tensorflow,由于Scikit-learn本身不支持深度学习,也不支持GPU加速,但是相对于tensorflow那种近乎黑箱的多层神经网络,还是比较好从数学来解释分析。
分类是指识别给定对象的所属类别,属于监督学习的范畴,最常见的应用场景包括垃圾邮件检测和图像识别等。目前Scikit-learn已经实现的算法包括:支持向量机(SVM),最近邻,逻辑回归,随机森林,决策树以及多层感知器(MLP)神经网络等等。这里会使用逻辑回归,决策数, MLP神经网络和SVM向量机,其实都是两句代码事情。
不考虑内部的复杂数学逻辑,这里功能性的使用Scikit-learn特征分类的功能。
1) 选取的特征值,为了避免数据值非逻辑化,这里不直接使用点位最高点这些,而使用那些和具体点位无关的指标,比如atr,cci,rsi,std和bar的涨跌百分比。
2) 利用这些特征值进行分类,这里对于期货走势就是三类,1 是之后上涨,0是之后无规律,-1是之后下跌,这里使用线性回归分析当前时点之后6根K线的走势,如果斜度下,那么当前时点归为-1下跌类,斜度上,为1上涨,如果取信p值不够,或者上下斜率不大,为0。
那么特征值就是atr,cci,rsi,std和bar的涨跌百分比,当然你可以加入KDJ,MACD更多;类别就是三类1,0,-1,利用机器学习,找出特征值和类别的隐含逻辑,进而指导交易,非常粗糙。
整体代码逻辑如下,这里大量借鉴这个 <https://mp.weixin.qq.com/s?__

本文介绍了如何利用Scikit-learn进行期货量化交易的特征分类,通过选取atr、cci、rsi等指标,结合逻辑回归、决策树、SVM和MLP进行走势预测。通过数据处理、特征工程、模型选择和评估,实现了70%左右的预测准确率。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



