Skip to content

millionakking/machine-learning-for-trading

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ML for Trading - 2nd Edition

这本的目标是展现如何在实践中通过使用机器学习等综合手段来实现有价值的交易算法,包括了如何使用从线性回归到深度学习算法众多算法以及如何通过模型推理来构建、回撤、评估交易策略的内容。

本书包括4部分、23章加附录 , 一共有 800多页 :

  • 数据源的关键点,金融特征工程 以及 投资组合管理,
  • 基于监督学习和无监督学习的多空交易策略 的设计和评估,
  • 如何从 类似SEC文件、财报电话会议记录、财经新闻等 金融文本数据 中获取准确的交易信号,
  • 使用交易数据和其他数据通过 CNN和RNN等 深度学习 模型建立交易策略,如何通过生成对抗网络产生合成数据, 已经如何使用深度强化学习训练交易机器人

示例代码包括 超过150个notbooks示例代码 , 内容包括相关概念展示、算法、如何在实际中运用这些示例的讨论, 具体如下

  • 如何处理提取的市场信号、包括交易数据、文本数据、图片等
  • 如何在不同的资产类型中来训练和调试模型的预期收益,包括如何重现最新公布的研究以及如何设计、回撤评估交易策略

我们 强烈推荐 在阅读时运行下提供的notebooks代码, 通常来说代码是可以执行并且包含了一些因为篇幅限制在本书中无法放入的内容.

第二 更新内容?

首先也是最重要的,本书展示了如何通过监督学习、无监督学习、强化学习等机器学习从众多数据中提取市场信号并且在不同的资产市场设计交易策略。同时提供了能帮助调整算法或者能解释结果用到的相关数学和统计学知识,此外,还包含了能帮助你处理市场和金融数据、管理交易策略的表现所需的金融背景知识

从实战角度出发,第二版的目标是让你理解掌握开发你自己的基于机器学习交易策略所需的知识和相关工具。最后,本书着重使用机器学习进行交易策略开发,介绍了如何使用端对端的机器学习算法从数据源、特征工程、模型优化方面来设计交易策略和回撤。

具体来说,在明确的投资领域,ML4T工作流从收集相关数据,抽取有用的特征开始。同时包括设计、调优、评估机器学习模型的内容.最后, 在基于机器学习模型预测的基础上开发交易策略,同时需要通过在历史数据上进行回撤来模拟和评估交易策略的表现。

第二版强调的ML4t工作流,放置在新的一章 算法回撤, 新的附录描述了超过100种不同的alpha因子,一些新的实践应用。同时我们也重写了大部分的原有内容,让其更加清晰容易理解.

现在,交易应用不光使用了美股数据,还使用了广泛的不同资产数据,包括国际股票数据和ETF数据。同时还展示了如何在不同频率的股票数据中使用机器学习实现日内交易策略. 此外, 扩展了使用其他数据比如SEC文件进行情感分析进行回报预测,卫星图像对土地利用进行分类等应用.

第二版的其他创新点在于复现了最近在顶刊发布的一些交易应用:

所有的代码示例使用的本书编写时的最新版本,例如pandas 1.0、TensorFlow 2.2. 还有一个自定义版本的 Zipline,可以在设计交易策略时轻松使用机器学习模型预测结果。

安装和数据源

  • 安装Docker镜像或者在不同的‘conda’ 版本中设置安装notebooks所需要的包的教程, 点 这里.
  • 下载及对数据进行预处理看这篇notebook 创建数据集.

章节简述

本书分成4部分分别描述如何应对采集数据和市场交易出现的问题,处理基础金融数据和其他数据,在交易中为不同的预测任务开发机器学习解决方案,基于机器学习产生的预测信号设计和评估交易策略。

每章的目录里面有README文件,里面有在正文中出现的额外信息、代码示例、额外资源.

第一部分: 从数据到策略开发

第二部分: 交易机器学习: 基础

第三部分: 交易的自然语言处理

第四部分: 深度学习和强化学习

第一部分: 从数据到策略开发

第一部分提供了一个使用机器学习的交易策略框架,关注于如何处理本书中用来训练机器学习算法和策略的数据,如何在执行交易策略时管理和评估收益能力。

01 交易机器学习: 从想法到执行

本章 探索导致机器学习成为投资行业竞争优势来源的行业趋势. 我们还将研究机器学习在投资过程中的适用场景,以实现算法交易策略.

进一步来说,包括了下列内容:

  • 机器学习在投资行业兴起背后的关键优势
  • 利用 ML 的交易策略的设计和执行
  • 机器学习在交易中的热门场景

02 市场和基础数据 : 数据源和相关技术

本章 展示了如何使用市场和基本数据来描述它们反映的环境的关键方面. 例如, 熟悉各种订单类型和交易基本信息不仅对数据的解释很重要,对正确设计回测模拟也很重要. 我们还说明了如何使用 Python 访问和操作交易和财务报表数据.

实际示例演示了如何使用来自纳斯达克分时数据和 Algoseek 分钟柱数据的交易数据,这些数据具有丰富的属性集,可以捕获我们稍后将用于基于 机器学习 的日内策略的供需动态. 我们还介绍了各种数据提供者 API 以及如何从 SEC 获取财务报表信息.

还包括了下列内容:

  • 市场数据如何反映交易环境的结构
  • 以分钟频率处理日内交易和报价数据
  • 使用纳斯达克ITCH从分时数据重构 限价订单簿(limit order book)
  • 使用各种类型的柱汇总分时数据
  • 使用XBRL(eXtensible Business Reporting Language)编码 电子文件
  • 解析并结合市场和基本数据以创建市盈率(P/E)系列
  • 如何使用 Python 访问各种市场和基本数据源

03 其他金融数据: 分类和用例

本章 概述替代数据的类别和用例, 描述了评估来源和提供者数量激增的标准,并总结了当前的市场格局.

它还演示了如何通过抓取网站来创建替代数据集, 例如在本书的第三部分中收集用于自然语言处理 (NLP) 和情感分析算法的收益电话会议记录.

更具体地说,本章涵盖:

  • 替代数据大爆炸期间出现了哪些新的信号源
  • 个人、企业和传感器如何生成多样化的替代数据集。
  • 替代数据的重要类别和提供者
  • 评估如何将新兴的替代数据供应用于交易
  • 在 Python 中处理替代数据,例如通过爬虫抓取

04 金融特征工程 : 如何挖掘Alpha因子

如果您已经熟悉 机器学习,就会知道特征工程是成功预测的关键因素. 它在交易领域同样重要,学术界和行业研究人员几十年来一直在研究驱动资产市场和价格的因素,以及哪些特征有助于解释或预测价格变动.

本章概述这项研究的要点,作为您自己探索 alpha 因子的起点. 它还提供了计算和测试 alpha 因子的基本工具, 重点介绍 NumPy、pandas 和 TA-Lib 库如何促进数据处理,并介绍流行的平滑技术,如小波和卡尔曼滤波器,有助于减少数据中的噪声. 阅读后,您将了解:

  • 存在哪些类别的因素、它们为何起作用以及如何衡量它们,
  • 使用 NumPy、pandas 和 TA-Lib 创建 Alpha 因子,
  • 如何使用小波和卡尔曼滤波器对数据进行去噪,
  • 离线使用 Zipline 和在 Quantopian 上测试单个和多个 alpha,
  • 如何使用 Alphalens 使用信息系数等指标评估预测性能.

05 投资组合优化和性能评估

Alpha 因子生成算法策略转化为交易的信号, 反过来说, 产生多头和空头头寸. 所得投资组合的回报和风险决定了该策略是否符合投资目标.

有几种优化投资组合的方法.其中包括应用机器学习 (ML) 来了解资产之间的层次关系,并在设计投资组合的风险状况时将它们视为补充或替代品. 本章 包含:

  • 如何衡量投资组合的风险和回报
  • 使用均值-方差优化和备选方案管理投资组合权重
  • 使用机器学习在投资组合环境中优化资产配置
  • 使用 Zipline 模拟交易并创建基于 alpha 因子的投资组合
  • 如何使用 pyfolio 评估投资组合绩效

第二部分: 交易机器学习: 基础

第二部分涵盖基本的监督和非监督学习算法并说明如何在交易策略中的应用算法. 它还介绍了 Quantopian 平台,该平台允许您利用和结合本书中开发的数据和 ML 技术来实施在实时市场中执行交易的算法策略.

06 机器学习过程

本章 作为第二章的开篇,说明了如何使用一系列监督和非监督 ML 模型进行交易.在使用各种 Python 库演示相关应用之前,我们将解释每个模型的假设和用例.

这些模型及其应用程序有几个共同点. 本章涵盖了这些常见方面,以便我们可以在后续章节中专注于特定于模型的用法. 它概述了如何制定、训练、调整和评估 ML 模型的预测性能这样一个系统的标准的工作流程. 内容包括:

  • 如何从数据中进行有监督和无监督学习
  • 训练和评估用于回归和分类任务的监督学习模型
  • 偏差方差权衡如何影响预测性能
  • 如何诊断和解决由于过拟合导致的预测错误
  • 在时间序列数据上使用交叉验证优化超参数
  • 为什么在进行样本外检验时需要额外关注财务数据

07 线性模型: 从风险因素到回报预测

线性模型是在回归和分类上下文中进行推理和预测的标准工具. 许多广泛使用的资产定价模型都依赖于线性回归. Ridge 和 Lasso 回归等正则化模型通常通过限制过度拟合的风险来产生更好的预测. 典型的回归应用识别驱动资产回报的风险因素以管理风险或预测回报.另一方面,分类问题包括股价涨跌预测。

第7章 包括以下内容:

  • 线性回归的工作原理及其做出的假设
  • 训练和诊断线性回归模型
  • 使用线性回归预测股票收益
  • 使用正则化来提高预测性能
  • 逻辑回归的工作原理
  • 将回归问题转化为分类问题

08 ML4T工作流: 从模型到策略回测

本章提出端到端的设计观点, 模拟和评估由 ML 算法驱动的交易策略. 我们将详细演示如何使用 Python 库backtrader and Zipline 在历史市场环境中回测 ML 驱动的策略 . ML4T 工作流最终旨在从历史数据中收集证据,以帮助决定是否在真实市场中部署候选策略并将财务资源置于风险之中. 对您的策略进行逼真的模拟需要忠实地反映证券市场的运作方式和交易执行方式. 同时, 需要注意几个方法方面的问题,以避免导致错误的投资决策的有偏见的结果和错误的发现.

更具体地说,学习完本章后,您将能够:

  • 规划和实施端到端策略回测
  • 在实施回测时了解并避免致命的陷阱
  • 讨论向量化与事件驱动回测引擎的优缺点
  • 识别和评估事件驱动回测器的关键组件
  • 使用 ML 模型单独训练或作为回测的一部分,以分钟和每日频率使用数据源设计和执行 ML4T 工作流。
  • 使用 Zipline 和 backtrader 设计和评估您自己的策略

09 波动率预测和统计套利的时间序列模型

本章 侧重于从时间序列的历史中提取信号以预测同一时间序列的未来值的模型. 由于交易固有的时间维度,时间序列模型得到广泛使用. 本章提供了诊断时间序列特征(例如平稳性)和提取捕获潜在有用模式的特征的工具. 还引入了单变量和多变量时间序列模型来预测宏观数据和波动模式. 最后, 解释了协整如何识别跨时间序列的共同趋势,并展示了如何根据这一关键概念制定配对交易策略.

特别地,它涵盖:

  • 如何使用时间序列分析来准备和告知建模过程
  • 估计和诊断单变量自回归和移动平均模型
  • 建立自回归条件异方差 (ARCH) 模型来预测波动率
  • 如何建立多元向量自回归模型
  • 使用协整制定配对交易策略

10 基于贝叶斯的机器学习: 动态夏普比率和配对交易

贝叶斯统计使我们能够量化未来事件的不确定性,并在新信息到达时以有原则的方式改进估计. 这种动态方法很好地适应了金融市场不断变化的性质. 机器学习的贝叶斯方法使人们对统计指标、参数估计和预测的不确定性有了新的认识. 应用范围包括从更精细的风险管理到结合市场环境变化的预测模型的动态更新.

详细来说, 本章 包含:

  • 贝叶斯统计如何应用于机器学习
  • 使用 PyMC3 进行概率编程
  • 使用 PyMC3 定义和训练机器学习模型
  • 如何运行最先进的采样方法来进行近似推理
  • 用于计算动态夏普比率、动态货币对交易对冲比率和估计随机波动率的贝叶斯 ML 应用程序

11 随机森林: 一个基于日本股票市场的多空策略

本章 将决策树和随机森林应用于交易. 决策树从编码非线性输入-输出关系的数据中学习规则. 我们展示了如何训练决策树来预测回归和分类问题,可视化和解释模型学习的规则,以及调整模型的超参数以优化偏差方差权衡并防止过度拟合.

本章的第二部分介绍了集成模型,该模型以随机方式组合多个决策树以产生具有较低误差的单个预测. 它以基于随机森林模型生成的交易信号的日本股票多空策略作为结尾.

简而言之,本章涵盖:

  • 使用决策树进行回归和分类
  • 从决策树中获得洞察力并将从数据中学习到的规则可视化
  • 了解为什么集成模型往往会提供卓越的结果
  • 使用 bootstrap 聚合解决决策树的过拟合挑战
  • 训练、调整和解释随机森林
  • 使用随机森林设计和评估有利可图的交易策略

12 提升你的交易策略

梯度提升是一种替代的基于树的集成算法,通常产生比随机森林更好的结果. 关键区别在于,boosting 会根据模型产生的累积误差修改用于训练每棵树的数据. 随机森林使用数据的随机子集独立地训练许多树,而提升则按顺序进行并对加权数据进行修改. 本章 显示最先进的库如何实现令人印象深刻的性能并将提升应用到每日和高频数据中对日内交易策略进行回测.

更具体地说,我们将涵盖以下主题:

  • boosting 与 bagging 有何不同,梯度 boosting 如何从自适应 boosting 演化而来,
  • 使用 scikit-learn 设计和调整自适应和梯度提升模型,
  • 使用最先进的 XGBoost、LightGBM 和 CatBoost 实现在大型数据集上构建、优化和评估梯度提升模型,
  • 使用 SHAP值 解释梯度提升模型并从中获得见解, 以及
  • 通过高频数据设计日内策略进行策略提升.

13 数据驱动的风险因素和无监督学习的资产分配

降维和聚类是无监督学习的主要任务:

  • 降维将现有特征转换为一个新的、更小的集合,同时最大限度地减少信息损失. 降维存在许多不同的算法,它们的不同之处在于它们如何衡量信息的损失,无论它们应用线性还是非线性变换,又或者是它们对新特征集施加的约束不同.
  • 聚类算法识别并分组相似的观察结果或特征,而不是识别新特征. 算法的不同之处在于它们如何定义观察的相似性以及它们对结果组的假设.

进一步来说, 本章 包括:

  • 主成分分析和独立成分分析(PCA和ICA)如何进行线性降维
  • 使用 PCA 从资产收益中识别数据驱动的风险因素和特征组合
  • 使用流形学习有效可视化非线性、高维数据
  • 使用 T-SNE 和 UMAP 探索高维图像数据
  • k 均值、分层和基于密度的聚类算法如何工作
  • 使用凝聚聚类构建具有分层风险平价的稳健投资组合

第三部分: 交易的自然语言处理

本数据内容丰富,但格式非结构化,因此需要更多的预处理,以便机器学习算法可以提取潜在信号. 关键挑战包括将文本转换为算法使用的数字格式,同时表达内容的语义或含义. 接下来的三章涵盖了几种捕获人类容易理解的语言细微差别的技术,以便机器学习算法也可以解释它们.

14 交易文本数据: 情感分析

文本数据内容非常丰富,但高度非结构化,因此需要更多的预处理才能使 ML 算法提取相关信息. 一个关键的挑战包括将文本转换为数字格式而不失去其意义. 本章 显示如何通过创建文档术语矩阵将文档表示为词向量,该矩阵又用作文本分类和情感分析的输入,它还介绍了朴素贝叶斯算法并将其性能与线性和基于树的模型进行比较.

特别是,在本章中涵盖:

  • 基本的 NLP 工作流程是什么样的
  • 如何使用 spaCy 和 TextBlob 构建多语言特征提取管道
  • 执行 NLP 任务,例如词性标注或命名实体识别
  • 使用文档术语矩阵将标记转换为数字
  • 使用朴素贝叶斯模型对新闻进行分类
  • 如何使用不同的机器学习算法进行情感分析

15 主题建模: 财经新闻汇总

本章使用无监督学习对潜在主题建模并从文档中提取隐藏主题. 这些主题可以生成对大量财务报告的详细见解. 主题模型自动创建复杂的、可解释的文本特征,这些特征反过来可以帮助从大量文本集合中提取交易信号. 它们加快文档审阅速度,支持相似文档的聚类,并生成对预测建模有用的注释. 应用包括识别公司披露、收益电话会议记录或合同中的关键主题,以及基于情绪分析或使用相关资产回报的注释.

更具体地说,它涵盖:

  • 主题建模是如何演变的,它取得了什么成就,以及它为什么重要
  • 使用潜在语义索引减少 DTM 的维度
  • 使用概率潜在语义分析 (pLSA) 提取主题
  • latent Dirichlet allocation (LDA) 如何改进 pLSA 成为最流行的主题模型
  • 可视化和评估主题建模结果
  • 使用 scikit-learn 和 gensim 运行 LDA
  • 如何将主题建模应用于收益电话和金融新闻文章的集合

16 收益电话会议和 SEC 文件的词嵌入

本章 使用神经网络学习单个语义单元(如单词或段落)的向量表示. 与词袋模型的高维稀疏向量相比,这些向量具有密集的数百个实值条目 . 结果,这些向量将每个语义单元嵌入或定位在一个连续的向量空间中.

嵌入是训练模型将标记与其上下文相关联的结果,其好处是相似的用法意味着相似的向量. 因此,它们通过例如单词之间的关系等相对位置对语义方面进行编码. 它们是我们将在后续章节中与深度学习模型一起使用的强大功能.

更具体地说,在本章中,我们将介绍:

  • 什么是词嵌入以及它们如何捕获语义信息
  • 如何获取和使用预训练词向量
  • 哪些网络架构在训练 word2vec 模型方面最有效
  • 如何使用 TensorFlow 和 gensim 训练 word2vec 模型
  • 可视化和评估词向量的质量
  • 如何根据 SEC 文件训练 word2vec 模型以预测股价走势
  • doc2vec 如何扩展 word2vec 并帮助进行情感分析
  • 为什么 transformer 的注意力机制对 NLP 有如此大的影响
  • 如何微调基于金融数据的预训练 BERT 模型

第四部分: 深度学习和强化学习

第四部分解释并演示了如何利用深度学习进行算法交易. 深度学习算法在非结构化数据中识别模式的强大能力使其特别适用于图像和文本等替代数据.

例如,示例应用程序展示了如何结合文本和价格数据来预测 SEC 文件中的额外收益,生成合成时间序列以扩展训练数据量,以及使用深度强化学习训练交易机器人. 其中一些应用程序复刻了最近发表在顶级期刊上的研究.

17 交易深度学习

本章 介绍前馈神经网络 (NN) 并演示如何使用反向传播有效地训练大型模型,同时管理过度拟合的风险. 它还展示了如何使用 TensorFlow 2.0 和 PyTorch 以及如何优化神经网络架构以生成交易信号. 在接下来的章节中,我们将在此基础上,重点关注其他替代数据,将各种架构应用到不同的投资应用中。 其中包括为时间序列或自然语言等顺序数据量身定制的循环神经网络,以及特别适合图像数据的卷积神经网络. 我们还将介绍深度无监督学习,例如如何使用生成对抗网络 (GAN) 创建合成数据. 此外,我们将讨论强化学习以训练从环境中交互学习的机器人.

特别是,本章将涵盖

  • DL 如何解决复杂领域中的 AI 挑战
  • 推动深度学习达到当前主流能力的关键创新
  • 前馈网络如何从数据中学习表征
  • 在 Python 中设计和训练深度神经网络 (NN)
  • 使用 Keras、TensorFlow 和 PyTorch 实现深度神经网络
  • 构建和调整深度神经网络以预测资产回报
  • 基于深度神经网络信号设计和回测交易策略

18 基于金融时间序列数据和卫星遥感图像的CNN模型

CNN 架构不断发展. 本章介绍了成功应用的通用构建块,演示了迁移学习如何加速学习,以及如何使用 CNN 进行对象检测. CNN 可以从图像或时间序列数据生成交易信号. 卫星数据可以通过农业区、矿山或交通网络的航拍图像预测商品趋势. 手机视频可以帮助预测消费者活动; 我们展示了如何构建一个 CNN 来对卫星图像中的经济活动进行分类. CNNs 还可以通过利用它们与图像的结构相似性来提供高质量的时间序列分类结果,我们设计了一种基于像图像一样格式化的时间序列数据的策略.

进一步来说, 本章 包括:

  • CNN 如何使用多个构建块来有效地模拟网格状数据
  • 使用 TensorFlow 针对图像和时间序列数据训练、调整和规范化 CNN
  • 使用迁移学习来简化 CNN,即使数据较少
  • 使用 CNN 对格式类似图像的时间序列数据进行训练的回报预测来设计交易策略
  • 如何根据卫星图像对经济活动进行分类

19 基于多元时间序列和情感分析的RNN模型

递归神经网络 (RNN) 将每个输出计算为先前输出和新数据的函数,有效地创建一个具有内存的模型,该模型在更深的计算图中共享参数. 著名的架构包括长短期记忆 (LSTM) 和门控循环单元 (GRU),它们解决了机器学习中学习长期依赖性的挑战. RNN 旨在将一个或多个输入序列映射到一个或多个输出序列,特别适合自然语言. 它们还可以应用于单变量和多变量时间序列以预测市场或基本数据.本章介绍 RNN 如何使用我们在第 16 章中介绍的词嵌入对替代文本数据进行建模,以对文档中表达的情感进行分类.

更具体地说,本章讨论:

  • 循环连接如何让 RNN 记住模式并对隐藏状态建模
  • 展开和分析 RNN 的计算图
  • 门控单元如何从数据中学习调节 RNN 记忆以实现远程依赖
  • 在 Python 中为单变量和多变量时间序列设计和训练 RNN
  • 如何使用 RNN 学习词嵌入或使用预训练词向量进行情感分析
  • 使用自定义词嵌入构建双向 RNN 以预测股票收益

20 条件风险因素和资产定价的自动编码器

本章展示如何利用无监督深度学习进行交易. 我们还讨论了自动编码器,即经过训练的神经网络可以在学习由隐藏层参数编码的新表示的同时重现输入. 自动编码器长期以来一直用于非线性降维,利用我们在最后三章中介绍的神经网络架构. 我们复现了最近的 AQR 论文,该论文展示了自动编码器如何支持交易策略. 我们将以一系列股票属性为条件,使用依赖于自动编码器的深度神经网络来提取风险因素并预测股票回报.

更具体地说,在本章中您将了解:

  • 哪些类型的自动编码器具有实际用途以及它们是如何工作的
  • 使用 Python 构建和训练自动编码器
  • 使用自动编码器提取考虑资产特征的数据驱动风险因素来预测回报

21 合成时间序列数据的生成对抗网络

本章介绍生成对抗网络(GAN). GAN 在竞争环境中训练生成器和鉴别器网络,以便生成器学习生成鉴别器无法分辨出给定类别的训练数据有区别的样本。目标是生成一个生成模型,能够生成代表此类能瞒过鉴别器的合成样本. 虽然最受图像数据欢迎,但 GAN 也已用于生成医学领域的合成时间序列数据. 随后对财务数据进行的实验探索了 GAN 是否可以产生对 ML 训练或策略回测有用的替代价格轨迹. 我们复制了 2019 年的 NeurIPS 时间序列 GAN 论文来说明该方法并展示结果.

更具体地说,在本章中您将了解:

  • GAN 的工作原理、它们为何有用以及它们如何应用于交易
  • 使用 TensorFlow 2 设计和训练 GAN
  • 生成综合财务数据以扩展可用于训练 ML 模型和回溯测试的输入

22 深度强化学习: 构建一个交易机器人

强化学习 (RL) 通过与随机环境交互的机器人对目标导向学习进行建模。 RL 通过从奖励信号中学习状态和动作的价值来优化代理关于长期目标的决策. 最终目标是推导出一种策略,该策略对行为规则进行编码并将状态映射到动作. 本章 显示如何制定和解决 RL 问题. 它涵盖了基于模型和无模型的方法,介绍了 OpenAI Gym 环境,并将深度学习与 RL 相结合以训练能够在复杂环境中导航的代理. 最后,我们将向您展示如何通过对与金融市场交互的代理建模同时尝试优化目标函数,使 RL 适应算法交易.

更具体地说,本章将涵盖:

  • 定义马尔可夫决策问题 (MDP)
  • 使用价值和策略迭代来解决 MDP
  • 在具有离散状态和动作的环境中应用 Q 学习
  • 在连续环境中构建和训练深度 Q 学习代理
  • 使用 OpenAI Gym 设计自定义市场环境并训练 RL 智能体交易机器人

23 结论和后续步骤

在这最后一章中,我们将简要总结贯穿全书的基本工具、应用程序和经验教训,以免在介绍了如此多的细节后看不到全局。 然后,我们将确定我们没有涵盖但值得关注的领域,但是使用这些我们介绍的机器学习技术会让你在日常使用中变得高效.

总之,在本章中,我们将:

  • 回顾关键要点和经验教训
  • 指出以本书中的技术为基础的后续步骤
  • 建议将 ML 纳入您的投资流程的方法

24 附录 - 阿尔法因子库

在本书中,我们强调如何设计通常能产生有效的策略的特征的机器学习步骤(包括适当的预处理和去噪). 本附录综合了一些关于特征工程的经验教训,并提供了关于这个重要主题的更多信息.

最后,我们关注 TA-Lib 实施的广泛指标(参见第 4 章)和 WorldQuant 的 101 Formulaic Alphas 论文(Kakushadze 2016),它呈现了用于生产的真实量化交易因子,平均持有期为 0.6-6.4 天。

本章涵盖:

  • 如何使用 TA-Lib 和 NumPy/pandas 计算几十个技术指标,
  • 创建上述论文中描述的公式 alpha,以及
  • 使用从等级相关性和互信息到特征重要性、SHAP 值和 Alphalens 的各种指标评估结果的预测质量.

免费下载PDF

如果您已经购买了本书的印刷版或 Kindle 版,您可以免费获得无 DRM 的 PDF 版本。
只需单击链接即可索取免费的 PDF.

https://packt.link/free-ebook/9781839217715

About

Code for Machine Learning for Algorithmic Trading, 2nd edition.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.3%
  • HTML 0.6%
  • PHP 0.1%
  • Python 0.0%
  • Hack 0.0%
  • JavaScript 0.0%