注意: 虽然 JavaScript 对于本网站并非必不可少,但您与内容的互动将受到限制。请启用 JavaScript 以获得完整体验。

联合投资公司金融机器学习中的 Python

介绍

联合投资公司是德国最大的资产管理公司之一,为德国和其他欧洲国家的客户管理总计超过 3500 亿美元的资产。作为一家积极主动的基本面资产管理公司,我们始终致力于进一步改进我们的投资流程。在一个每天都会创建和提供越来越多数据的世界中,为我们的投资流程采用新的数据源和信息是我们业务成功的关键因素。

Python 的机器学习

将新数据集成到资产管理中的一个有前景的方法是机器学习 (ML),它允许揭示金融时间序列数据中发现的模式,并利用这些模式来做出更好的投资决策。机器学习使我们能够

  • 识别可能的收益驱动因素,无论是单个股票的层面,还是整个资产类别(如股票或债券市场),
  • 预测关键绩效指标,例如公司层面的收入,以及
  • 确定我们是否可以从特定数据集获益,并从中为我们的投资流程获得价值。

为了为这些任务创建机器学习模型,我们开发了自己的机器学习平台 MALINA - MAchine Learning for INvestment Applications(投资应用的机器学习)——这是一个为金融时间序列数据创建可解释的机器学习模型而量身定制的解决方案。MALINA 完全使用 Python 开发,包含超过 3 万行 Python 代码。

在我们的 MALINA 框架内,我们创建了四个解耦的模块

  1. 一个机器学习模块,它允许我们使用不同的 ML 算法为金融时间序列数据定义和基准测试模型,
  2. 一个回溯测试模块,它允许我们基于已开发的 ML 模型运行交易策略的回溯测试,
  3. 一个模型解释模块,它集成了我们自己的解释方法,用于 ML 模块中可用的一些机器学习算法,以及
  4. 一个基于 Web 的用户界面,允许用户定义和基准测试模型,而无需实际编写代码。

尤其是模块 3,即为解释我们的机器学习模型开发新方法,对我们至关重要。此模块允许我们打开机器学习的黑匣子,并了解我们的模型及其预测,这进一步帮助我们揭示这些模型学习到的模式。

Screenshot of our web-based user interface powered by Python and the Django framework.

图:我们基于 Web 的用户界面截图,该界面由 Python 和 Django 框架提供支持。

Python 的卓越生态系统

除了 Python 语言本身之外,使用 Python 还使我们能够大量依赖来自 Python 生态系统的经过验证的开源库,例如

  • Pandas,它提供了一个强大而强大的框架来管理和分析数据,
  • Scikit-Learn,它是 Python 中机器学习的“首选”包,并且被许多人认为是所有机器学习的行业标准,
  • statsmodels 和 XGBoost,它们扩展了 scikit-learn 的功能集,以提供高级统计模型和梯度提升,
  • Django,一个出色的综合框架,用于开发 Web 应用程序,我们基于它构建了基于 Web 的用户界面,以及
  • Sphinx,一个出色的包,用于从 Python DocStrings 创建文档,并允许我们自动使我们的文档与代码的开发保持同步。

所有这些包都具有众所周知且广泛应用的优势,这意味着可以在网上找到针对每个包的大量文档和讨论。此外,每个包都作为开源软件提供,这意味着我们可以轻松地深入研究现有代码。例如,对于 Scikit-Learn 提供的机器学习算法,这意味着我们能够开发我们自己的扩展,例如定制的解释方法——这在使用专有的机器学习框架时是不可能的。

此外,Python 生态系统内提供的许多较小的包都非常有用,并在开发 MALINA 时为我们节省了大量时间。这里的一个特殊例子可能是 joblib,它使得以与平台无关的方式并行化计算变得非常容易,而无需为底层操作系统的细节而烦恼。

最后,跨平台功能意味着我们可以轻松地将 MALINA 移植到不同的平台。因此,虽然在开发过程中我们可以坚持使用我们公司常用的 Windows 机器,但我们可以随时切换到 Linux 系统,以便在生产环境中使用我们的 MALINA 框架。

结论

机器学习在分析和预测金融时间序列方面提供了令人兴奋的新可能性。由于金融市场的性质,开箱即用的机器学习工具并不总是按预期工作。更多定制和调整的方法提供了更大的见解。

因此,联合投资公司使用 Python 开发了专有的机器学习工具 MALINA。此工具允许我们开发用于金融应用的机器学习模型,并使用专有的解释方法来更好地理解这些模型。

联合投资公司发现,Python 及其广泛的库非常适合开发定制的机器学习工具,以应对金融时间序列带来的复杂挑战。

关于作者

Christian Mandery 博士目前在联合投资公司担任数据科学家/投资组合经理。作为投资组合管理中量化和智能数据团队的成员,他主要负责机器学习模型在投资决策中的应用以及对此类模型的解释。Christian 拥有德国卡尔斯鲁厄理工学院 (KIT) 的计算机科学文凭学位和工程博士学位。

Nikolas Gerlich 目前在联合投资公司担任高级数据科学家。他负责在投资组合管理部门内建立数据科学能力。这包括集成新的数据源和采用新的定量方法,例如机器学习,以增强投资决策。Nikolas 曾在蒂宾根大学和牛津大学学习经济学和统计学。