2023年10月,彭博买方论坛在上海、深圳和北京圆满举办。活动期间,我们邀请到业内风险管理领域的众多专家和彭博研究与工程负责人齐聚一堂,分享交流了买方市场的发展趋势,以及如何应用彭博模型和系统解决方案,有效管理投资组合的收益与风险。
在上一期内容中,我们回顾了施罗德基金风险主管王玮先生有关于本地实践与模型的精彩分享。本期我们聚焦彭博开放式API对接技术与应用。
第三期 – 开放式API对接技术与应用
- 组合管理API解决方案概览
在系统技术对接时,除了需要彭博终端的解决方案,很多时候客户也需要实时对接方案,将引擎计算出的结果应用到本地场景和设施。这类需求已经演变为全球化趋势。基于此,我们的产品部门做出了相应的开发。本期分享分为三个部分:
1)组合管理API整体解决方案的介绍;
2)优化器API针对风险控制的应用场景;
3)运营API对于模型回测的应用场景分享。
我们希望通过特定的应用场景,为大家梳理如何将API解决方案应用到日常的风险查看与管控。

我们先从整体方案开始,首先我们会通过自定义投资组合报告的形式,如上期施罗德基金王玮先生所分享,用户基于彭博风险模型和计算引擎跑出来的结果,制作自定义的投资组合报告。同时,随着时间推进,仅凭自定义报告有时不能完全满足用户的实际需求,很多时候我们需要结合第三方数据和本地场景,进行再次开发,帮助前中台同事更好地应用这些数据,从而得到更有价值的细节和信息以便于更好地制定投资决策。为此,我们推出了一整套API解决方法,目前涵盖三个范围:1)组合分析API;2)组合运营API;3)数据湖Datalake API。
首先是组合分析API解决方案,例如优化器API。简单来说,用户平日里使用彭博终端时可能会接触到彭博投资组合优化器。基于优化器,用户可以创建一个模拟组合,或者针对现有组合进行一定的优化假设,看运行出来的优化版本相比之下有何差异。最新的突破是,可以将一整套的设定和运用脱离终端的环境,用户在进行批量优化运行的时候,可以更便捷地执行。比如在进行投资组合优化时, 用户可以指定一个指标的范围,查看该范围内最优的组合是什么,即有效前沿。对于这样大量高密度的运行,通过API的解决方法会更高效便捷。

第二种是组合运营API,例如排程管理API。在报告批量生成的过程中,可以使用程序化语言,通过API调用任务管理器,实现高度灵活和自动化。在整体API运行过程中,本地技术团队可以将完整的工作流程,从数据流入、报告产出,到后续应用,实现完全自动化。

最后一种是比较新的概念,也就是数据湖的概念。数据湖更强调整体高质量数据,比如高质量的风险和归因数据产出之后,用户如何做到数据对接。我们的解决方案是,通过比较通用的API 请求渠道,和本地的数据库及第三方云端的数据中心做对接,将数据汇总到一个集中的地方。后续的应用和开发都能比较快速地实施。在这方面,我们目前在尝试与第三方的数据管理公司(data warehouse)进行更加直接的对接。

以上是整体API三个范围的简单介绍。接下来,围绕情景分析,即如果针对组合进行风险控制的情况下,我们如何通过彭博终端进行分析与查看。
- 应用场景1 — 风险控制
我们通过优化器及其API对组合进行优化, 以实现组合构建、对冲、再平衡等功能,达到自定义预期风险、回报、组合特征,同时可以对比模拟优化前后组合的特征,并生成交易订单。具体如下:
- 复制指数
- 根据行业、公司敞口进行基于特定规则的选股和对冲
- 基于行业限制的同时实现最大化预期收益
- 通过选择10支股票实现最小化跟踪误差的目的
优化器的核心设置页面包含四个部分:1) 优化目标、2) 可交易的证券范围、3) 组合层面优化限制、4) 证券层面优化限制。

在本例中我们针对沪深300指数,设置了四个优化目标。前三个目标是设置自定义情景,通过因子变化模拟市场下行的环境,并最大化投组收益。第四个目标是最小化投资组合总体风险。同时,我们限制最大换手率为30%、最大持仓个数为200、各行业权重不大于3%和控制跟踪误差不超过5%。基于这些设置,优化器进行模拟优化,结果显示如下:

从优化结果中,我们可以看出投资组合在指定的情境下提高了收益,即在市场下行时表现出了更好的抗压性。与此同时,跟踪误差降低、波动率得以控制。
同时,针对系统化应用场景,彭博提供API形式的解决方案,可实现灵活批量运行优化任务。完整调用优化器使用流程分为以下阶段:插件安装、用户认证、优化任务设定、请求和响应。
下图中用Python接口展示了优化器四个核心设置:优化目标设定、定义调仓范围、组合优化限制、证券优化限制。返回结果会包含:优化结果、组合特征和交易列表。

该API适用于系统程序化优化的应用场景。
- 应用场景2 — 模型回测
第二个应用场景我们将通过模型回测来查看模型的实际应用效果、在不同时间段的稳定性,以及输出结果是否能够解释投组的实际情况。
首先介绍一个新的概念:数据管道与数据编排。作为一个机构的数据管理中心,需要知道机构中所有数据的流入、编排和处理方式,以及如何对接到下游的应用程序,比如视图化工具、本地编辑脚本,从而进一步分析和演算。我们的API解决方案可以完全满足这些需求。通过排程API,我们先把所有需要的基本数据进行定制和排程,然后将数据存储到数据湖。相当于数据湖作为彭博的数据中心,将比如组合风险、敞口、归因、因子等数据进行集中处理。如果涉及数据对接,也可以从这个数据湖直接调用数据。

下图是我们根据欧洲的一个案例拟定的流程图。有些情况下客户会使用多家数据中心,通过传统的FTP的方式进行数据对接。这种处理方式可能会伴随系统性或者人为操作失误的风险。彭博则可以运用以上介绍的两种API,直接对接到数据中心,甚至可以通过数据湖对接,连接到底层的应用程序。这样在整体数据的处理上,保证了数据传递的快捷性,也降低了数据误差的潜在风险。这一套方案在目前欧洲市场被广泛应用,在国内也有潜在的使用场景。

在实际操作中,我们先批量生成数据报告,然后进行数据应用。作为演示,彭博技术团队进行了模拟开发。以批量报告的内容设定为例,程序指定具体组合、基准、报告周期、回测范围等信息,从而在后台生成对应的报告。这些代码可以通过Python等编程语言,以下拉菜单的交互形式,让用户指定报告内容。

数据导出后的应用场景非常广泛,比如风险模型回测。这里,我们用刚刚介绍的投组从2022年至今做了一个回溯测试,可以看到投组在不同周期下的特点,比如风险的周期性可以帮助投资团队决定调仓频率等投资策略。另外,我们可以批量生成风险预测,通过回测来评估风险模型的适用性。

在彭博组合管理API整体解决方案中,优化器API可以通过请求和交互的形式执行优化,其结果以代码形式返回,用于后续开发或模拟组合构建。排程管理API和数据湖API将数据进行排程和推送后,可以直接将数据库和下游对接,基于彭博风险模型的数据,进行风险应用的开发。
如果您想要了解更多关于组合管理API解决方案的信息,欢迎联系您的客户经理。
本文作者:
彭博中国区买方市场专家,汪洋