量化交易策略思想与原码-机器学习在股市的简单应用.pdfVIP

量化交易策略思想与原码-机器学习在股市的简单应用.pdf

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
量化交易策略思想与原码-机器学习在股市的简单应用

机器学习在股市的简单应用 导语: 在我们的数学课堂中,我们给大家简单介绍了几种机器学习方法的算法原理 (SVM,朴素 贝叶斯,随机森林等等),在每篇文章的最后,我们都放了一个非常小的例子来帮助大家使 用这些算法。这一篇就给大家展示一个更贴近实际的例子,来帮助大家更好的使用这些算法。 本文中,为了降低提取的特征中的噪声,我们将常见技术分析指标进行离散化,作为特征值, 如RSI,MACD,等等。然后应用SVM,朴素贝叶斯和随机森林算法来预测下一个交易日 的涨跌情况。 为了和实际应用场景更接近,我们每天都会向训练数据中添加今天的数据,因为训练数据集 发生了改变,我们每天都会训练一个新的模型。下面我们正式开工。 本文由JoinQuant 量化课堂推出 。难度标签为进阶上,理解深度标签:level-0 作者:yongpeng.r 编辑:宏观经济算命师 阅读前需要了解: 文中涉及到 SVM ,随机森林,朴素贝叶斯算法,可以参照量化课堂中的支持向量机入门, 批注[M1]: 到时候加上链接,发的时候不用 随机森林入门,朴素贝叶斯入门。 训练预测代码介绍 本文是之前的支持向量机,随机森林,朴素贝叶斯等机器学习算法的应用篇,具体的代码可 以参照文中后面的研究模块,下面先将一些重要的代码拿出来说说,以方便大家理解代码的 逻辑。 特征计算 我们先通过get_price 方法得到该支股票的前35 个交易日的开高低收和交易量数据,然后 利用talib 包提供的特征计算API 计算相应的特征。在这次实验中,我们选取了SMA,WMA, MOM,STCK,STCD,MACD,RSI,WILLR ,CCI,MFI,OBV,ROC,CMO 等技术指 标作为训练模型的特征。计算SMA 指标的代码如下: trading_days = get_all_trade_days() start_day = trading_days[index - 35] end_day = trading_days[index] stock_data = get_price(test_stock, start_date=start_day, end_date=end_day, \ frequency=daily, fields=[close,high,low,volume]) close_prices = stock_data[close].values sma_data = talib.SMA(close_prices)[-1] 分类标签确定 如果下一个交易日的收盘价比当前交易日的收盘价高,label 的值为True,否则为False。 相关代码如下: start_day = trading_days[index] end_day = trading_days[index + 1] stock_data = get_price(test_stock, start_date=start_day, end_date=end_day, \ frequency=daily, fields=[close,high,low,volume]) close_prices = stock_data[close].values label = False if close_prices[-1] close_prices[-2]: label = True 特征离散化 通过talib 库计算出来的特征都是连续值,由于股市中的噪声非常多,如果直接将连续值特 征放到机器学习算法中训练,得到的结果很可能过拟合的 (回测结果好,实盘结果差)。为 了避免过拟合,本文中结合各个特征的含义,将连续值特征离散化为二值特征。比如对于 SMA 特征,离散化的方法就是和当日收盘价相比较,若SMA 小于当前收盘价,离散之后 的特征值是1,若SMA 大于等于收盘价,离散之后的特征值是-1。SMA 离散化的代码如下, x_all 是存放所有特征值的二维数组,x_all 中的第1 列存放的就是SMA 特征数据。 # SMA if x_all[index][0] x_all[index][-1]: x_all[index][0] = 1 else: x_all[index][0] = -1 应用机器学习算法 在准备好数据之后,就需要利用机器学习算法来训练模型并且利用训练好的模型预

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档