当我们谈论AI+Finance时,风险从何而来?

本文的内容整理自ArXiv上最新的一篇文章“Black-box model risk in finance”,文章作者来自艾伦·图灵研究院(英国国家数据科学和人工智能研究院)。作为一篇综述性质的文章,作者从数据和模型两个方面阐述了将深度模型应用于金融领域可能引发的风险,不仅对于具体的应用有指导意义,对相关的研究也有非常好的参考价值,非常值得推荐。因为原文的精华内容比较多,为了便于阅读,分成数据风险和模型风险两部分来写,本文主要介绍数据风险。

1. 数据风险

当深度模型应用于金融场景时,数据方面的风险主要来自于三个方面:训练数据中的偏差,错误数据或错误的数据预处理,数据的合法合规问题。数据的合法合规问题不谈,主要来聊聊前两个问题。

数据偏差

训练数据中存在的偏差会让模型训练时学习到错误的关系和规律,这种风险分为以下几个形式:

  1. 回看偏差(Backward looking)。因为模型使用历史数据进行训练,这可能会使模型学到一些当前不再适用的规律或关系,如使用低波动率时期或者过时的监管制度下数据训练的期权模型很可能在当前新的情景下带来新的风险,因为金融市场不是一成不变的,恰恰相反,金钱的诱惑下金融市场中的新工具、新方法层出不穷,一个高频交易主导的市场显然与十年前的市场不是一回事。但如果只使用近期的数据进行训练,那么数据量会很少。
  2. 虚假相关(Spurious correlations)。在一个黑箱模型中通常很难鉴定不合理的关系。随着模型维度的提升,可以推断出的潜在关系也会快速增加,而很多时候,这些相关关系并不一定合理,甚至只在某一个时间出现。
  3. 样本差异(Sample disparity)。在采样过程中的偏差可能会导致数据并不能真实反应市场的状态。比如一家公司可能想要用同一种算法在不同的交易所之间交易,而它们每一个都有不同的规范和数据,如何合理的采样是一个非常重要的问题。
  4. 不平衡的输入(Imbalanced inputs)。深度学习的损失函数会考虑模型的整体表现,因此可能会忽视那些占比比较少但至关重要的样本。即使它的训练数据中包含了高波动阶段的数据,但因为占比比较少,可能模型仍然只能在低波动的市场上表现良好。
  5. 数据不充分(Insufficient data)。训练深度模型需要大量的数据,虽然金融领域沉淀了大量的结构数据,但在我们需要的方向上却往往是匮乏的。因为历史是单向的,所以我们所获得的数据只能展示一种可能性,也在某种程度上加剧了这种数据匮乏。

错误数据和错误的数据预处理

错误的数据以及错误的数据预处理会让模型从源头上出现问题,这一风险会出现在:
1. 有些数据可能不符合基础的经济学约束。如某些研究指出的,历史期权价格数据,无论是上市合约还是场外交易合约,可能都不满足无套利的限制,这一错误在新兴市场市场数据中尤为严重。
1. 时序数据中的数据泄露。在数据集划分、特征工程中,可能会出现倒“因”为“果”的feature的现象,即模型提前获得了需要预测的信息。例如,如果在调用train_test_split之前运行预处理(比如为丢失的值拟合填充),就会发生这种情况。
1. 金融数据通常要求及时准确的数据,但这没有反映在历史数据中。对于高频数据,延时须要考虑的因素。而对于广泛应用的非市场数据,如在线新闻等,其能够获取的时间也是需要关注的。
1. 金融数据通常是长尾、非静态的,这使得检测和排除错误数据是非常困难的。

2. 解决方案

为了解决上面提出的问题,文章提出了两种解决或者缓解的方案,简单概括:一是合成数据(Synthetic data generation),二是市场仿真(Market simulator engine)。

合成数据

合成数据可以帮助解决数据偏差的问题,通过增强数据的方式提升历史数据的质量和数量。常用的模型有对抗生成网络(GAN)以及变分自编码器(VAE)。这些模型相比传统对于高维数据更具表达能力,可以更具专家建议以及已知的事实生成数据,提供了一种更加准确和健壮的方法来进行解决样本不平衡,缺失值填充和异常值处理的问题。



此外,合成数据的方法也可以与其他方法解决解决数据错误的问题。例如,可以将其与联邦学习相结合,通过汇集不同来源的数据提升单站数据的质量。

当然,合成数据的过程本身也需要选择评价指标(metrics),损失函数,训练算法,这些过程同样蕴藏风险。当前这一方面的研究缺乏标准化的benchmark和理论保证。如何保证生成的数据符合基本的经济学假设(如无套利)也是值得研究的问题。

市场仿真

这一个解决数据风险的思路很直接,既然你担心历史数据的来源、处理、分布之类的有问题,那我不用这些东西了,我直接做一个仿真的市场,直接用这个模拟器里面的数据来训练模型。

这一方法起效的关键在于模拟环境要足够真实,比如基于历史数据训练和测试的模型在真实环节中可能仍然表现不好,而将这个模型在仿真环境中训练一段时间则可以缓解这个问题。此外,一个仿真环节对于部署强化学习也是至关重要的。

目前很多量化基金正在寻求这样一种系统,可以在不同的环境中开发测试交易算法,评估市场上的因果关系。最后,一个好的仿真器也可以用于生成合成数据,尤其是那些比较难以获取的细粒度的数据。

标准化的数据预处理

除了上述两种方法,标准化的数据预处理过程是消除数据风险不可或缺的。

首先要制定一些数据预处理的约束或规范,同时采用一定的手段检测数据是否符合这种规范。比如,无套利要求极大地限制了期权可能的价格范围,因此施加这些要求可以避免很多其他错误。

另一种方法就是采样不同频率和周期的数据。通过比较这些数据集的结果,可以评估和校准模型的稳定性。

最后就是效仿其他领域的开源社区,开发标准化的示例、代码库以及资源,来提升识别和处理数据错误的能力。


对于AI+Finance方向感兴趣的童鞋,欢迎扫描下面的二维码学习交流:

0 0 投票数
Article Rating
订阅评论
提醒
0 评论
内联反馈
查看所有评论