监督式机器学习算法的应用:择时【附源码】

栏目: 数据库 · 发布时间: 5年前

内容简介:导语:《Machine Learning for Stock Price Forecasting》是Ali El-Shayeb撰写的机器学习系列文章 ,本文主要介绍其第二部分内容——《监督式机器学习算法的应用》,并将其思想和代码应用在中国股票市场,开发出具有择时功能的监督式机器学习算法,最后进行策略回测。对此感兴趣的小伙伴可以直接在本文文末克隆策略源代码,前往Ali El-Shayeb通过价格和成交量相关的9个特征训练模型,特征列表和数据来源见下图。

导语:《Machine Learning for Stock Price Forecasting》是Ali El-Shayeb撰写的机器学习系列文章 ,本文主要介绍其第二部分内容——《监督式机器学习算法的应用》,并将其思想和代码应用在中国股票市场,开发出具有择时功能的监督式机器学习算法,最后进行策略回测。对此感兴趣的小伙伴可以直接在本文文末克隆策略源代码,前往 BigQuant人工智能量化投资 平台实现并进一步研究。

《监督式机器学习算法的应用》

Ali El-Shayeb通过价格和成交量相关的9个特征训练模型,特征列表和数据来源见下图。

监督式机器学习算法的应用:择时【附源码】

作者希望训练出一个二分类模预测模型,来预测市场属于牛市还是熊市状态。在训练集数据处理上,如果交易日t+30价格小于t交易日价格,那么标注为0,否则标注为1。通过特征数据和标注数据可以训练出一个二分类模型,接着在预测集上进行预测,如果预测结果为1,表明为买入信号,如果预测集为0,表明是卖出信号。最后,通过预测结果回测检验策略收益曲线。

需要补充的一点是,作者将训练集上80%的数据作为训练集,20%的数据作为验证集,在验证集上评估策略的预测效果。评估指标为准确率,准确率计算公式为预测正确的天数与总预测天数的比值。

模型比较

Ali El-Shayeb尝试了多个机器学习分类模型,发现模型表现各不一样(见下图)。通过构建更多的特征能够消除数据噪音,获取更好的预测结果。此外,作者还发现预测时间越长,模型预测越准确。模型的准确率较之于随机猜测(50%涨,50%跌)的差值,恰恰能够体现模型的有效性。

监督式机器学习算法的应用:择时【附源码】

交易策略

华尔街专业量化交易员预测第二天涨跌的准确率为55%,预测未来30天股价的准确率高达80%。Ali El-Shayeb发现,使用支持向量机分类算法的准确性最高,模型会告诉他,如果价格下跌就卖出股票,如果价格上涨就买入股票。该策略从08年到10年每月收益为1.3%,期间策略总收益为31.2%。在该时间段,基于标准普尔S&P500买入并持有的策略收益率为-6.9%。

展望和不足

  • 股票价格受很多因子影响,股票池不一样,总能找到比较好的策略回测曲线
  • 模型偏简单,没有考虑宏观方面的一些特征,比如GDP、通货膨胀率、利率水平等
  • 财报的因子也没有考虑进去,未来可以基于自然语言处理(NLP)的算法对财报进行分析预测

A股市场策略复现

本文将Ali El-Shayeb的量化思想应用在A股上面,因为本质上该策略属于择时策略,因此我们只需确定股票。这里我们以深高速(600548.SHA)为例,如果大家想要换成其他股票,修改下证券代码列表这个模块的参数即可。

本文完全采用Ali El-Shayeb提到的9个因子,其中2015年到2017年初为训练集,2017年到2018年为预测集(回测区间)。因为是二分类算法,所以我们采取Logistic Regression算法,如果大家想检验一下其他二分类算法的效果,可以直接在模块里将算法更改为sklearn机器学习包相关的算法名称。

策略回测结果:

监督式机器学习算法的应用:择时【附源码】

从上图可以看出,该策略在在回测区间总收益率为17.36%,而如果直接买入并持有该股票的话,策略总收益率为9.3%。该策略主要是通过择时空仓规避了下跌,可见该策略择时有效。

需要说明的是,本文旨在复现国外<mark data-id="3946938d-2b2f-4b48-9ee4-58debad2a6c4" data-type="technologies">数据科学</mark>家的一个量化策略,介绍如何在A股市场开发ai量化策 略,希望大家能够快速高效开发策略。因此并不对策略收益做保证。

参考文献

  • Machine Learning for Stock Price Forecasting (1/3)
  • Machine Learning for Stock Forecasting

附录

本文由 BigQuant 人工智能 量化投资平台

原创推出,版权归BigQuant所有,转载请注明出处。


以上所述就是小编给大家介绍的《监督式机器学习算法的应用:择时【附源码】》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构 Python语言描述

数据结构 Python语言描述

[美] Kenneth A. Lambert 兰伯特 / 李军 / 人民邮电出版社 / 2017-12-1 / CNY 69.00

在计算机科学中,数据结构是一门进阶性课程,概念抽象,难度较大。Python语言的语法简单,交互性强。用Python来讲解数据结构等主题,比C语言等实现起来更为容易,更为清晰。 《数据结构 Python语言描述》第1章简单介绍了Python语言的基础知识和特性。第2章到第4章对抽象数据类型、数据结构、复杂度分析、数组和线性链表结构进行了详细介绍,第5章和第6章重点介绍了面向对象设计的相关知识、......一起来看看 《数据结构 Python语言描述》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具