分类
外汇交易进阶

機器學習在演算法交易中的應用

機器學習在演算法交易中的應用

在计算机技术不断发展的条件下,越来越多的数据被加以采集和储存,从这些大规模数据中发现的统计规律,可以对投资决策进行指导。算法交易是通过数学和计算机模型从大规模数据中发现投资机会,自动完成证券买卖的投资方式,相比于通行的基本面分析和技术分析具有客观性、纪律性和精确性等优势。 算法交易在国外已经存在多年,并在证券市场中扮演着重要角色。随着最近几年我国证券市场的发展,算法交易逐渐被各投资机构重视并加以尝试。算法交易系统的建设需求十分迫切,这从今年夏天因交易系统问题导致的“光大事件”中可见一斑。 在对算法交易系统需求进行分析的基础上,本文为算法交易系统做出了较为详细的系统设计,将算法交易系统划分为数据抓取及存储、量化模型运行时、程序下单三大模块。数据抓取及存储模块负责从不同的数据源获取数据并进行持久化存储,机器学习模型运行在量化模型运行时模块中,尝试从大规模的数据中发现投资机会,并通过程序下单模块自动完成证券的买卖。 国内现有的算法交易系统被设计为主要用于处理从稳定数据源获取的结构化数据,比如交易所提供的交易记录。在面对内容庞杂的大规模互联网数据时,因存在数据抓取和存储上的困难而较少地使用。主题爬虫技术在垂直搜索中被较为广泛的研究,大规模数据存储的问题作为大数据技术的重要部分也被广泛的讨论。 本文将主题爬虫和大规模数据存储技术运用到算法交易系统中,通过使用SVM技术的主题爬虫提高了系统抓取数据的效率,以关系型数据库分库分表技术在保证存储系统事务性的同时能够支撑大规模数据的存储。同时,以分布式数据库为核心,使得交易系统能够快速适配各种不同的数据源。 除了实现数据抓取与存储模块外,本文还搭建了量化模型运行时模块,将SVM应用于金融时间序列的处理,结合交易经验,构建出日内交易模型,实验显示该模型的预测准确率略高于现有的研究。以此更好的展示算法交易系统的全貌。

機器學習在演算法交易中的應用

技术 | 算法交易策略中的机器学习

这篇文章摘自 Stefan Jansen的《Hands-On Machine Learning for Algorithmic Trading》。这本书用NumPy、spaCy、pandas、scikit-learn和Keras(等Python包)探索现实世界中有效的交易策略。

最终,积极投资管理的目标在于超额回报,即回报超过用于业绩评估的基准回报。主动管理的基本法则是应用信息比率:信息比率=主动管理的回报-基准回报(一般是市场指数)/ 分子的标准差(也就是波动性)。它将信息比率近似为信息系数(IC)的乘积,它衡量结果相关性的预测质量。另外,策略的广度则表示为下注次数的平方根。

1.在1980年代和1990年代,信号经常出现在学术研究中,并且使用从市场和基础数据中获得的单一或非常少的输入。这些信号现在已经大量被商品化,就如ETF一样方便获得,例如如基本的均值回归策略。

2.21世纪,基于因子的投资策略激增。基金使用算法识别暴露于价值或动量等风险因子的资产,以寻求套利机会。金融危机早期的赎回引发了2007年8月的量化界地震,波及到了基于(风险)因子(投资策略)基金行业。这些策略也可以在这些基金设置的组合——基于给定一系列风险因子的只做多smart-beta策略的投资组合中看到。

3.第三个时代是由机器学习能力和替代数据的投资驱动的,以产生可重复交易策略的有利可图的信号。因子衰减是一个主要挑战:新的异常(事件)产生的超额回报从发现到发表下降了四分之一,然后由于竞争和拥挤,在策略被公开发表后下降达50%以上。

算法交易中的机器学习系列(一)

有所观
给读者展示了如何采用有监督、无监督及强化学习等方法从多个数据源中提取交易信号、从不同资产类别中设计交易策略。
有所得
此书希望能够提供策略性的角度、概念性的理解以及实用工具来帮助读者在交易和投资过程中应用机器学习工具。
核心干货
本书不提供任何投资建议,最大的重点是详细介绍了建立机器学习与量化交易(ML4T - Machine Learning for Trading) 相融合的工作流程。

2.第一版和第二版的区别

1. 第二版的第八章The ML4T Workflow From Model to Strategy Backtesting描述的策略回测;
2. 新的覆盖100余种不同的alpha因子的附录;
3. 大量不同的实例。同时,作者在第二版中也力求改善清晰性和可读性。

第二版复现了一些近期学术论文中的成果(后面肯定会专门列文介绍,并给出加以注释的源码):

  • 第18章“金融时间序列和卫星图像的卷积神经网络(CNN)”機器學習在演算法交易中的應用
  • 第21章“生成对抗网络在时间序列数据生成中的应用”

第二版中的程序基于pandas 1.0和TensorFlow 2.2版本,作者采用了Zipline的定制版本以便于在设计交易策略时可以较方便的包含机器学习模型。

考虑到作者说是在第八章介绍了机器学习和量化交易融合的工作流程,所以最近一个系列的文章应该也会以介绍这一章为主,篇幅角度考虑,这篇文章会为第八章开个小头

3.机器学习与算法交易的工作流程 – 从机器学习模型到策略回测

如何回测基于机器学习的策略

  1. 收集和准备市场交易数据、基本面数据和另类数据;
  2. 构造合适的alpha因子;
  3. 设计、调整、评估生成交易信号的机器学习模型;
  4. 制定交易规则并基于发出的信号进行交易;
  5. 在投资组合中为不同标的确定持仓大小;
  6. 基于历史数据模拟出发的交易;
  7. 基于持仓表现评估策略的好坏。

机器学习与量化交易的基本工作流程

*下期内容预告*
在下一篇文章中,将详细介绍回测时存在的常见错误以及如何避免他们。