Python 机器学习算法交易实用指南(五)(4)

简介: Python 机器学习算法交易实用指南(五)

Python 机器学习算法交易实用指南(五)(3)https://developer.aliyun.com/article/1523712

第十六章:下一步

本书的目标是使您能够将机器学习ML)应用于各种数据源,并提取对投资策略的设计和执行有用的信号。为此,我们将机器学习介绍为交易策略过程的重要组成部分。我们看到,机器学习可以在设计、测试、执行和评估策略的多个步骤中添加价值。

显然,机器学习的核心价值主张在于能够比人类专家更系统地从更大量的数据中提取可行动的信息。一方面,这一价值主张随着数字数据的爆炸而变得更具吸引力和必要性,使得利用计算能力进行数据处理变得更有前景。另一方面,机器学习的应用仍然需要人类的重大干预和专业知识来定义目标、选择和筛选数据、设计和优化模型以及适当地利用结果。

在这个总结性的章节中,我们将简要总结本书中学到的关键工具、应用和经验教训,以避免在许多细节之后失去对整体情况的把握。然后,我们将确定我们未涵盖但值得关注的领域,这些领域将有助于您进一步扩展我们介绍的许多机器学习技术,并在日常使用中变得高效。我们将强调对个人生产力有价值的技能组合。

总之,在本章中,我们将讨论以下主题:

  • 回顾主要收获和经验教训,
  • 指出在本书中技术的下一步建设方向,
  • 建议将机器学习纳入您的投资过程中的方法。

主要收获和经验教训

在继续进行交易机器学习实践时要牢记的重要见解包括:

  • 数据是最重要的因素
  • 领域专业知识有助于发现数据的潜在价值,特别是在金融领域
  • 机器学习提供了许多用例的工具,应进一步发展并结合使用数据解决新问题
  • 模型目标的选择和性能诊断对于朝向最佳系统的生产力迭代至关重要
  • 回测过拟合是一个需要重视的巨大挑战
  • 黑盒模型透明化有助于建立信心并促进采用

我们将更详细地阐述这些想法。

数据是最重要的因素

交易和其他领域中机器学习的崛起很大程度上补充了我们详细介绍的数据爆炸。我们在第二章,市场和基本数据中说明了如何访问和处理这些数据源,历来是量化投资的支柱。在第三章,金融替代数据中,我们提出了一个框架,用于评估替代数据潜在价值的标准。

一个关键的见解是,像深度神经网络这样的最新 ML 技术之所以成功,是因为它们的预测性能随着数据的增加而不断提高。另一方面,模型和数据复杂性需要匹配,以平衡偏差-方差的权衡。管理数据质量和整合数据集是实现潜在价值的关键步骤。

质量控制

就像石油一样,这些天很流行的一个比较,数据经过从原始形式到能够推动交易策略的精炼产品的多个阶段的管道。仔细关注最终产品的质量至关重要,以达到预期的里程碑。

有时,您会获得原始数据,并控制所需的大量转换。更常见的情况是,您处理中间产品,并应明确了解此时数据究竟测量了什么。

不同于石油,随着数据源的不断增加,通常没有客观的质量标准。相反,质量取决于其信号内容,而信号内容又取决于您的投资目标。对新数据集的成本效益评估需要一个高效的工作流程,包括我们将在以下部分介绍的适当基础设施。

数据整合

对于投资策略的数据价值往往取决于结合市场、基本和替代数据的互补来源。我们发现,像基于树的集成或神经网络这样的 ML 算法的预测能力部分是由于它们能够检测到非线性关系,特别是变量之间的相互作用效应。

调节变量影响的能力作为其他模型特征的函数在捕获目标结果的不同方面的数据输入上得到了发展。将资产价格与宏观基本面、社会情绪、信用卡支付和卫星数据相结合,可能会在不同的经济和市场环境中产生更可靠的预测,比单独使用每个来源(假设数据足够大以学习隐藏的关系)更可靠。

从多个来源获取数据增加了正确标注的挑战。为了避免通过使用数据来测试算法,在数据实际可用之前就有了预见性偏见,分配准确的时间戳至关重要。例如,数据可能由提供者分配了时间戳,需要调整以反映数据实际可用于实时算法的时间点。

领域专业知识有助于释放数据的价值。

我们强调了数据是成功的机器学习应用的必要驱动因素,但领域专业知识也是重要的,以指导战略方向、特征工程和数据选择、模型设计。

在任何领域,从业者都对关键结果的驱动因素以及它们之间的关系有着理论。金融领域以大量相关的定量研究(理论和实证)脱颖而出。马科斯·洛佩斯·德·普拉多等人(参见 GitHub 的参考资料github.com/PacktPublishing/Hands-On-Machine-Learning-for-Trading)批评了大多数经验结果,因为普遍存在的数据挖掘可能会使研究结果无效。尽管如此,对金融市场运作方式的深刻理解是存在的,并应该指导数据的选择和使用,以及依赖机器学习的策略的正当化。我们在第四章 Alpha Factor Research 和 第五章 Strategy Evaluation 中概述了关键思想。

另一方面,新的机器学习技术可能会发现有关金融结果驱动因素的新假设,这将为机器学习理论提供信息,并应进行独立测试。

特征工程和 alpha 因子研究

与原始数据相比,特征工程通常是使信号对算法有用的关键。利用几十年的风险因素研究成果,从理论和实证的角度来驱动收益是一个很好的起点,以优先考虑更有可能反映相关信息的数据转换

然而,只有创造性的特征工程才能带来能够随着时间竞争的创新策略。即使对于新的 alpha 因子,一个能够解释它们如何工作的引人注目的叙述,鉴于已有的市场动态和投资者行为理念,将会为资本分配提供更多信心。

假设发现的风险和对历史数据过拟合的风险使得在测试之前优先考虑策略变得更加必要,而不是让数据说话。我们讨论了如何根据实验数量调整夏普比率。

机器学习是解决数据问题的工具包

机器学习提供了可以应用于许多用例的算法解决方案和技术。本书的第 2、3 和 4 部分(如第一章,用于交易的机器学习 中所述)将机器学习作为一套多样化的工具集,可以为策略过程的各个步骤增加价值,包括:

  • 想法生成和阿尔法因子研究,
  • 信号聚合和投资组合优化,
  • 策略测试
  • 交易执行,并且
  • 策略评估

更重要的是,机器学习算法被设计成进一步发展、适应和结合以解决不同环境中的新问题。因此,除了能够将它们应用于数据以进行富有成效的实验和研究外,理解这些算法背后的关键概念和思想也非常重要,如第六章,机器学习过程 中所述。

此外,最佳结果通常是通过将人类专家与机器学习工具结合起来实现的。在第一章,用于交易的机器学习 中,我们介绍了量化投资风格,其中包括定量和算法交易。这种方法可能会变得越来越重要,并且依赖于对我们涵盖的基本工具以及将它们扩展到各种数据集的灵活和创造性应用。

模型诊断有助于加快优化速度

在第六章,机器学习过程 中,我们概述了一些最重要的概念。机器学习算法通过对功能形式做出假设来学习输入数据和目标之间的关系。如果学习基于噪声而不是信号,预测性能将受到影响。

当然,我们今天无法从明天的结果的角度分离信号和噪声。例如,使用学习曲线和优化验证测试的模型诊断可以帮助缓解这一基本挑战,并校准算法的选择或配置以适应手头的数据或任务。通过定义专注的模型目标,以及对于复杂模型,区分由于优化算法或目标本身的问题而导致的性能缺陷,可以使这项任务变得更容易。

Python 机器学习算法交易实用指南(五)(5)https://developer.aliyun.com/article/1523714

相关文章
|
4天前
|
机器学习/深度学习 数据采集 算法
Python实现ISSA融合反向学习与Levy飞行策略的改进麻雀优化算法优化支持向量机回归模型(SVR算法)项目实战
Python实现ISSA融合反向学习与Levy飞行策略的改进麻雀优化算法优化支持向量机回归模型(SVR算法)项目实战
|
2天前
|
搜索推荐 C++ Python
Python排序算法大PK:归并VS快速,谁才是你的效率之选?
【7月更文挑战第13天】归并排序** 使用分治法,稳定且平均时间复杂度O(n log n),适合保持元素顺序和并行处理。
12 5
|
3天前
|
存储 算法 搜索推荐
算法进阶之路:Python 归并排序深度剖析,让数据排序变得艺术起来!
【7月更文挑战第12天】归并排序是高效稳定的排序算法,采用分治策略。Python 实现包括递归地分割数组及合并已排序部分。示例代码展示了如何将 `[12, 11, 13, 5, 6]` 分割并归并成有序数组 `[5, 6, 11, 12, 13]`。虽然 $O(n log n)$ 时间复杂度优秀,但需额外空间,适合大规模数据排序。对于小规模数据,可考虑其他算法。**
15 4
|
4天前
|
机器学习/深度学习 数据采集 算法
Python实现WOA智能鲸鱼优化算法优化支持向量机分类模型(SVC算法)项目实战
Python实现WOA智能鲸鱼优化算法优化支持向量机分类模型(SVC算法)项目实战
|
2天前
|
存储 算法 Python
“解锁Python高级数据结构新姿势:图的表示与遍历,让你的算法思维跃升新高度
【7月更文挑战第13天】Python中的图数据结构用于表示复杂关系,通过节点和边连接。常见的表示方法是邻接矩阵(适合稠密图)和邻接表(适合稀疏图)。图遍历包括DFS(深度优先搜索)和BFS(广度优先搜索):DFS深入探索分支,BFS逐层访问邻居。掌握这些技巧对优化算法和解决实际问题至关重要。**
9 1
|
4天前
|
机器学习/深度学习 数据采集 算法
Python实现ISSA融合反向学习与Levy飞行策略的改进麻雀优化算法优化支持向量机分类模型(SVC算法)项目实战
Python实现ISSA融合反向学习与Levy飞行策略的改进麻雀优化算法优化支持向量机分类模型(SVC算法)项目实战
|
4天前
|
机器学习/深度学习 数据采集 算法
Python实现GBDT(梯度提升树)分类模型(GradientBoostingClassifier算法)并应用网格搜索算法寻找最优参数项目实战
Python实现GBDT(梯度提升树)分类模型(GradientBoostingClassifier算法)并应用网格搜索算法寻找最优参数项目实战
|
4天前
|
机器学习/深度学习 数据采集 算法
Python实现WOA智能鲸鱼优化算法优化支持向量机回归模型(LinearSVR算法)项目实战
Python实现WOA智能鲸鱼优化算法优化支持向量机回归模型(LinearSVR算法)项目实战
|
4天前
|
机器学习/深度学习 数据采集 算法
Python实现SSA智能麻雀搜索算法优化支持向量机回归模型(SVR算法)项目实战
Python实现SSA智能麻雀搜索算法优化支持向量机回归模型(SVR算法)项目实战
|
4天前
|
机器学习/深度学习 数据采集 算法
Python实现SSA智能麻雀搜索算法优化支持向量机分类模型(SVC算法)项目实战
Python实现SSA智能麻雀搜索算法优化支持向量机分类模型(SVC算法)项目实战