机器学习在基金绩效评价模型中的应用
由crisvalentine创建,最终由crisvalentine 被浏览 73 用户
摘要
在基金产品实际运行管理的过程中,基金绩效评价具有较 强的现实意义。基金公司管理者对基金经理的业绩考核、 基金经理对历史业绩的原因分析,都需要以科学的绩效归因和 评价模型为依据。
早期的基金评价主要评价基金的收益、超额收益、夏普 率、最大回撤等较为直观的指标。对基金的风格类型、收益来 源、选股能力、风险控制等方面还没有较为客观的评价。在实 践过程中发现,这种方式对于不同主题、不同风格类型的基金 经理的评价缺乏客观性。例如 :一只策略为单纯买入小市值股 票的基金,在 2014 年到 2015 年间,能够取得非常可观的业绩,在许多指标上的表现也可能较为优秀。但是这样的基 金其实存在非常大的问题。
首先,基金没有额外的选股能力; 其次,基金在市值风格上的风险暴露非常集中,一旦市场 风格变化基金就可能产生较大亏损 ;再者,基金的收益来 源单一,可能具有较大的偶然性。给予这样的基金高评价 显然是不正确的。 什么是基金绩效评价模型 基金绩效评价是指在剔除了市场一般收益率水平、基金 的市场风险和盈利偶然性的前提下,对基金经理人投资才能公 正客观的评价。
基金绩效评价具有十分广泛的实际意义,它既 可以为基金经理绩效考核提供参考,也可以为 FOF 组合构建 提供基金池的筛选,还可以为基金管理人回顾历史业绩提供观 测角度。 基金绩效评价模型在国内外经过了长时间发展,已形成 了多种不同的理论体系。其中较为成熟,也较为被基金公司接 受的是以风险模型为基础开发的商用闭源分析软件。
这种方法 体系的原理可以概括为 :以风险模型为基础,实现基金组合的 收益分解和风险分解,分解的结果作为对该基金的评价。 收益分解是指将基金组合的主动收益贡献分解到不同的 风险因子(风险来源)和个股的特殊收益上 ;风险分解则分析 组合的主动风险来源,计算组合在各种风格因子上的暴露程度 为组合提供的风险贡献大小。 该方法体系中也存在各种难点。比如 :如何设计和构建 出有效的风险因子 ;如何对风险模型中的成份结果进行优化调 整,减少估计偏差 ;如何实现多期收益分解的方法等等。而在 FOF 组合构建的实际应用过程中,还存在着基金未来短期预 期暴露等问题。 本文将主要介绍如何基于风险模型构建基金绩效评价的 方法框架,并通过机器学习和深度学习的方法来解决和优化整 个方法体系,包括对个股特质风险等部分估计量的系统性偏差 调整,和基金的预期风格暴露预测的应用。
机器学习在金融投资中的应用
近年来,算力快速提升,算法不断优化,机 器学习和深度学习在图像与人脸识别、语音识别、 自然语言处理、推荐系统等领域获得了许多成功, 机器学习和深度学习技术受到了越来越广泛的重 视。但在投资领域,机器学习和深度学习尚未在 端到端的模型中提供非常成功的案例。究其原因, 是图片等领域的学习问题,这是一个有限信息维 度下的同分布问题。信息的噪声仅来源于标注的 质量。但金融数据的特点却不太相同 : 金融数据噪声来源广泛 :有事件引起的短期 价格变化,有一定程度的随机游走,有未知但可 能存在的价格操纵等等。信噪比低是金融数据的 一大特点。
金融投资领域的信息维度较高 :一条关于某 支证券价格影响的信息,不仅有可观测的价量数 据、财务基本面数据、公开事件、可预期的市场 环境变化,还有许多不可观测的未公开数据、未 公开事件、一些不可直接观测的资金行为等等。 例如,以 Barra 的 CNE5 为代表的风险模型,对 市场的横截面年收益解释力度约在 40% 左右,有 60% 的收益来源无法被模型解释。
是否为同分布问题有待考证 :金融市场受监 管方式、市场发展、投资者构成等影响,是否为 一个同分布问题尚无定论。 因此,本文对机器学习应用的定位不在于为 基金绩效评价问题提供一个完整的端到端模型, 而主要着重对风险模型和基金绩效评价方法中所 需的传统模型评估方法进行改进,如对个股特质 风险的调整优化,对潜在规律的总结,以及对基 金短期暴露的预测调整。
风险模型的偏差调整
现有的研究结果表明,在风险模型的构建过 程中,两个核心的问题是 :因子收益协方差观测 值(以下简称 Cov)存在系统性的偏差 ;个股特 质风险观测值(SRisk)存在系统性的偏差。 两者都表现为 :高估高波动率组合的风险, 低估低波动率组合的风险 ;但成因却大相径庭。
Cov 的偏差原因是有限的观测样本和过多的估计 数 而 引 起 的 N/T Effect ;而 SRisk 的 系 统 性 偏 差则来源于个股风险的向相似类型股票的均值回 归。 如果根据 SRisk 的观测值将市场中的股票从 小到大排序并分为 10 组,构建不同的组合,使 第一组具有较低的 SRisk,而第十组具有较高的 Srisk,并根据组合的实际值 / 模型的估计值构建 偏差统计(Bias Statistics)。则通过观测可以发现, 低 SRisk 组的波动估计值更低于实际波动值,高 SRisk 组的波动估计值更高于实际波动值 1。
针对这一现象,贝叶斯压缩是一种常用的处 理方法。但它调整的 SRisk 虽然能够在一定程度 上调整系统性偏差,但是并非所有组合都能落在 5% 置信水平内。 SRisk 的调整,本质上是一个横截面数据分 布的调整问题。先验的专家经验认为 :某个证券 的 SRisk 未来朝着某个同质类型股票域的均值回 归。因此该模型有两个核心问题 :一是如何界定 某个证券的类型。过小的圈定空间容易造成过优 化问题,过大的空间不容易起到应有的效果。本 文采用个股的市值大小与行业大类划分同质股票 的空间 ;二是如何计算该证券的 SRisk 向同质股 票做均值回归的幅度。回归幅度一定程度上取决 于整个同质样本空间的 SRisk 分布情况。当某个 标的位于同类型股票 SRisk 分布的离散点时,往 往有更大的概率和更大的幅度向均值回归(此类 情况往往发生于该股近期发生某类短期事件,导 致短期 SRisk 剧增,未来事件影响减轻,SRisk 有较大概率回归)。或者,当样本空间的整体分 布情况发生变化时(比如峰度较大,往往发生在 市场剧烈波动时),可能会导致整个空间的个股 SRisk 都发生较大程度的回归。
本文构建了基于神经网络的 SRisk 估计值 调整方法来解决这一问题。模型的网络结构如图 1(a) 所示。考虑到上述两个核心问题,因此本文 设置模型输入为 :SRisk 观测值 ;相似类型股的 SRisk 分布情况;市场的分布情况,共 32 个特征。
输出为 :一个调整过后的 SRisk 估计值(调整系数 * 原始 SRisk)。 损失函数略
其中b为对应每一组组合的 Bias Statistics1。 实验表明,该方法优于传统的贝叶斯压缩方法。如图 1 所示,基于机器学习的 SRisk 系统性偏差(Bias_DL)更低, 且 10 个组合均达到 95% 水平置信。
基金预期暴露的估计
当基金绩效评价模型应用到 FOF 组合构建的实际问题时, 需要根据基金的风格暴露做组合优化。此时有必要估计基金的 下期暴露,主要原因有 :组合构建的再平衡具有一定延时,权 重配置实际作用在 T+1 期的暴露上 ;由于市场波动,当期的 组合暴露并非一定是基金经理的目标暴露,未来单基金的组合 构建也会再平衡。 同时,预期基金的风格暴露存在可行性 :许多基金经理 具有持续性的风格偏好 , 许多量化型的基金经理有精准的暴露 目标 ;基金经理的风格偏好往往受到可观测的市场环境和市场 风格收益变化的影响(例如 2017 年,市场市值风格收益出现 反转,许多基金的市值偏好便有所改变)。
基金的风格暴露变化依赖于基金经理的个人偏好选择及 市场风格收益的变化,其本质是一个时序预测问题,本文采用 在时间序列预测上较为成功的长短期记忆网络(LSTM)模型。 LSTM 通过“记忆”解决长期依赖问题的深度神经网络, 被广泛应用于序列预测任务之中并取得了重大的成功。近期也 出现了不少研究者尝试使用 LSTM 对金融数据进行预测的报 道。针对这一问题本文的网络模型结构设计如图 1(b) 所示。 其中输入特征的维度包括 :过去 21 天的基金收益 (21,1) ; 过去 21 天的基金风格暴露 (21,1) ;过去 21 天的市场风格收益 (21,43) ;过去 21 天的市场指数收益 (21,1)。 网络的输出则为基金 T+1 期的风格暴露。 实验表明,该方法具备可行性。模型的样本内外预测值 优于 T 期暴露的比率,模型在各类风格因子上普遍具有一定 预测能力,且样本内外表现基本一致。
系统化实现与验证
本文中的整个基金绩效评估框架与相应的机器学习模型 都在东方证券内的投研和资讯平台进行了系统化实现。整体系统框架如图 2 所示。 其中,在数据层系统所需的各类行情数据均落地在 InfluxDB 的时序数据库中,而其它所需的公开市场资讯数据、 基金产品和估值数据,以及风险模型和绩效评价结果数据等均 存放在 MySQL 中。 神 经 网 络 的 建 模 与 实 现 主 要 基 于 Tensorflow 和 Keras 接口实现。为了便于快速模型的开发验证,降低模型设计门槛 和重复开发,我们在底层的算法库之上也封装了包括常用机器 学习和深度神经网络的模板和接口,并实现了配套的参数调整、 优化与交叉验证框架。文中的网络模型正是基于这一框架实现 和验证的。 整个因子与风险模型的计算服务,以及基金绩效评价系 统本身(计算过程的调度、计算结果的管理、用户认证与权限、 事件通知、报告生成与可视化展示等等)则是基于东方证券 自主研发的 Genesis 开发框架实现的。它基于服务容器化的理 念,实现了包括 Dubbo 微服务、GPRC 等不同框架的统一调 用和管理,整合了从微服务注册、配置,应用网关,权限认证、 任务调度、调用链追踪、OA、通知预警等一系列工具链体系, 从而支持对业务服务的快速开发,做到最小化重复代码的新业 务开发与配置。同时,框架还包含了东方证券自身的前端开发 组件与样式库 GenesisUI(基于 VueJS 实现),为绩效归因最 终的报告声称与可视化展示提供标准化的实现支持。 该基金绩效评价系统已在一些真实基金历史数据上进行 了实证测试,目前主要计划服务于公司内部自营投资与 FOF 管理等领域。后续我们将结合客户反馈,在风险模型计算与训 练性能和用户体验等方面继续对系统进行完善。
文‖东方证券股份有限公司 许可 张磊伟