概率模型简介
概率模型是一大类模型的统称,是常规金融模型的概率化表达。通常概率模型会把常规金融模型中的某些参数看作是一个未知的概率分布,这个未知的分布通常会预先给定一个基本假设,即先验概率,然后再根据具体的观测数据去推断或者逐步修正这些假设。一种比较常见的概率模型就是贝叶斯线性回归模型,这类模型把线性回归中的系数 和截距等参数作为未知的概率分布。另外一类是最近二十年兴起的状态空间模型(State- Space Model, SSM)和隐含马尔科夫模型(Hidden Markov Model, HMM),这类模型假设在可 观测数据背后包含了某种隐含模式,并且可以利用条件概率分布来发掘这些隐含模式来 总结数据规律以及预测未来数据。SSM 通常用于描述连续的隐含状态而 HMM 通常指有 限的隐含状态。这类模型首先在物理学中得到应用,随后在自然语言处理中被发现取得 良好效果。目前这类模型也常出现在金融、经济等学术论文中用于检验经济指标有效性 或者用作预测。这类模型在国外一些对冲基金公司也有所应用。
概率模型可以比灵活地从较少量数据中调校出来,但是在传统机器学习问题上,比 如分类,非线性回归等,这类模型效果在精确性和扩展性方面表现不会特别好。而另一 方面,深度学习在图像识别、语音识别方面取得较大突破,其原因之一是大数据为较复 杂的模型架构提供了支持。如果把这两者的优势结合,则有可能在少量数据的基础上构 造出较为复杂的模型,例如贝叶斯神经网络。
本报告将简单介绍概率模型的构造流程,常见概率模型的类型,最后给出贝叶斯线 性回归模型和贝叶斯神经网络在期货预测中的应用例子。
概率模型构建流程
概率模型的构造通常要求对待预测的问题有一个直观的认识,比如从可观测数据库存,现货价格,利率,工厂开工率,产品优良率,成交量和持仓量等信息中推断出期货价格可能由基本面,宏观,流动性等不可观测的因子在背后驱动期货价格涨跌。由此构造出有一定经济学含义的模型,并且加入一定的主观预期,即模型参数的先验分布。再由可观测数据去推断出这些隐含因子对期货价格的影响作用,也就是说利用特定的推断算法 计算后验分布。最后使用后验分布来测试模型,找出其优点和缺点,如果能满足则该概率 模型在此问题上有一定的解决能里,否则则重新修改。这就是Box循环,如下图所示。
概率模型类型
概率模型包含了一大类模型,在金融建模中经常会用到,但是他们的名称常常不统一,例如常用的regime-switch 模型通常包含2-3个regime,他们其实就是一类特殊的隐含马尔科夫模型。David M. Blei 在 Build, Compute, Critique, Repeat: Data Analysis with Latent Variable Models(2014)中总结了几类常用的概率模型,其架构如下图所示。图中深蓝色 圆圈为可观测变量,白色圆圈代表不可观测变量,深蓝色方框代表固定的模型超参数。灰色的箭头表示各个变量之间的依存关系。其中的混合会员模型(mixed membership)常用于无监督的聚类分析,矩阵因子分解模型(matrix factorization)则用于特征分解,如用户行为分析等,这两类概率模型在金融上的应用较为少见,所以在这里不作讨论,下面主要介绍其他几种在金融中较为常见的概率模型
1.贝叶斯线性回归(Bayesian Linear Regression, BLR)
这类模型比较基础,主要就是把通常线性回归模型中的系数看作是未知分布,可以用如下式子表示
2.隐含马尔科夫模型(Hidden Markov Model, HMM)
隐含马尔科夫模型在线性模型的基础上可以用公式表示为
在实际使用当中HMM的具体形式可能会稍作变化,例如Andrew Ang在How do Regimes Affect Asset Allocation?(2002)中使用了如下形式的HMM来研究在牛市和熊市中如何调节资产配置方案。在其论文中,股票超过政府债券的额外收益t表示为
在图 3:e中David M. Blei提到的卡曼滤波(Kalman filter)通常是作为一种实现SSM的推断方法,其最初的设计目地就是用于雷达跟踪,与HMM的发展是相互独立的而且起源于不同的研究群体,但他们都是概率模型的一种实现形式。
4.贝叶斯神经网络(Bayesian Neural Network, BNN)
前面所提到的几类概率模型都是线性的,虽然也可以做成非线性的形式,但是要求模型构造者对建模问题需要有一定的认识前提。而利用期货产业链构建贝叶斯网络更要求研究者对整个产业有较为深刻的认识。上述模型都要求研究员对数据进行不同程度的加工,这也使得概率模型的构建更像一门艺术。目前正在兴起的深度学习其成功的原因之一是能 够利用算法自动发掘数据内部特征,从而减少研究人员对数据人工预处理的依赖。由于深度学习用有一套相对比较科学的特征提取和筛选方法,从而使得模型构造过程更加理性与客观。如果把概率模型和深度学习相结合,则有可能实现优势互补。其中贝叶斯神经网络 就是两者结合的一种形式,这类模型其实是把神经网络中的权重看成是一个未知的先验分布,然后根据观测数据利用贝叶斯统计推断的方法去求解权重的后验分布。有概率模型开 源软件的研究人员认为贝叶神经网络具备的优势包括:
1.预测结果的不确定性
贝叶斯模型能够体现预测结果的不确定性,而这点通常是深度学习中被忽略掉的。比如预测结果的不确定性可以帮助研究者找到预测不太好的样本,从而加强对这些样本的训练。
2.模型参数的不确定性
考察模型参数的不确定性也能帮助研究人员评价模型是否稳定。
3.通过先验分布实现正则化
普通深度神经网络通常使用权重惩罚来使得模型某个参数不至于过大或过小,从而防止过度拟合,而贝叶斯模型则由于有先验分布的约束从而使后验分布不至于产生过大的偏离。
4.通过先验分布进行迁移学习 如果需要对某个新问题进行建模,那么可以把在就问题中训练好的模型参数作为研究新问题的先验分布。这在期货上可能也会有所应用,比如对国内即将上市的原油期货,在上市初期,相关研究员可以用外盘布伦特原油期货的大量相关数据进行模型训练然后再把其作为先验分布,结合国内原油期货上市初期的少量数据进行训练。
概率模型应用实例
在这一节里尝试对比贝叶斯线性回归模型(BLR)和贝叶斯神经网络(BNN)在预测沪铜主力期货的收益。这里选择 BNN 而非其他介绍的模型,原因是他是概率模型的一个较高形 态而且不太依赖人工对数据的预处理。这里的输入参数以周频基本面数据为基础,包括铜库存、期货持仓量、成交量、相关利率、汇率等20多个可观测因素。由于因子数目较多, 直接导入上述贝叶斯模型进行计算运算量较为庞大,所以这里使用了主成份分析(Princinple Component Analysis, PCA)的方法以减少变量个数。贝叶斯线性回归模型采用留一交叉验证 法(Leave One Out Corss Validation)进行超参数筛选,详情可参阅2017年8月华泰期货量化专题报告:贝叶斯线性回归在期货交易中的应用。
目前贝叶斯神经网络是采取了较为简单的全连层结构如下图所示,层神经元使用的激活函数为tanh,输出层激活函数为 sigmoid,权重的先验分布为标准正态分布,超参数包括层数目和其包含的神经元数量等。为方便比较两个模型,贝叶斯神经网络的输入与线性回归模型一致,都是使用PCA后相同的主成份。与线性回归模型不同的是,由于训练贝叶斯模型的计算量较大,只采用时间序列上前350个周频数据样本作为训练集,约60个的样本作为验证集筛选超参数,约60个样本作为测试集,所以BNN只训练了一次,而BLR则是固定时间窗口每周滚动拟合。这里使用的模型统计推断方法为开源软提供的自微 分变分推断(Automatic Differentiation Variational Inference, ADVI)。
结果讨论
本报告首先对概率模型进行了基本介绍,包括其框架,构建流程,同时简述了几类重要模型在金融建模上的应用,包括熊市和牛市的转换判别,随机波动率的推算和混频数据的预测等。最后本报告尝试基于沪铜期货基本面因子,比较了贝叶斯线性回归模型和贝叶斯神经网络对交易沪铜期货的收益。虽然贝叶斯神经网络没有使用滚动训练的方法,运算量大大降低,但是在相同的数据样本上却取得比贝叶斯线性回归模型更好的效果,是值得深入研究的一类模型。
作者:华泰期货研究院量化策略组 陈维嘉
延展阅读:创新工场认为智慧金融,是目前AI最被看好的领域。
这几年人工智能的发展突飞猛进,主要得益于深度学习算法的成功应用和大数据所打下的坚实的基础。判断人工智能技术能在哪个行业最先引起革命性的变革,除了要看这个行业对自动化、智能化的内在需求之外,主要还看这个行业内的数据积累、数据流传、数据存储和数据更新是不是达到了深度学习算法对大数据的要求。
放眼各个垂直领域,金融行业可以说是全球大数据积累最好的行业。银行、保险、证券等业务本来就是基于大规模数据开展的,这些行业很早就开始了自动化系统的建设,并极度重视数据自身的规范化、数据采集的自动化、数据存储的集中化、数据共享的平台化。以银行为例,国内大中型银行早在20世纪90年代,就开始规划、设计、建造和部署银行内部的大数据处理流程,经过20多年的建设,几乎所有主要银行都可以毫不费力地为即将到来的智能应用提供坚实的数据基础。
从需求层面来看,金融行业有着各垂直领域里最迫切的自动化和智能化的需求,而基于深度学习的人工智能正好可以满足这些需要。
在金融行业里,最有可能应用人工智能技术的领域主要包括:
1,量化交易与智能投顾:一方面人工智能技术可以对金融行业里的各项投资业务,包括股权投资、债券投资、外汇投资、贵金属投资等,利用量化算法进行建模,并直接利用自动化的算法参与实际交易,获取最高回报。另一方面,人工智能的算法也为银行、保险公司、证券公司以及它们的客户提供投资策略方面的自动化建议,引导他们合理配置资产,最大限度规避金融市场风险,最大限度提高金融资本的收益率。
2,风险防控:银行、保险等金融机构对于业务开展中存在的信用风险、市场风险、运营风险等几个主要的风险类型历来高度重视。而相关风险防控体系需要依赖高纬度的大量数据进行深入的分析,在这方面,基于深度学习的现代人工智能算法与人类分析员或传统机器学习算法相比,有着先天的优势,可以对更为复杂的风险规律进行建模和计算。
3,安防与客户身份认证:银行各个办公地点可以利用新一代的人脸识别技术,对往来人员进行身份甄别,确认没有坏人进入敏感或者保密区域。
4,智能客服:银行、保险、证券等行业为确保客户服务质量,一般都会建立大规模的呼叫中心或客服中心,雇用大量的客服人员,利用电话、网站、聊天工具等,解答问题。随着支持语音识别、自然语言理解和知识检索的人工智能客服技术逐渐成熟,金融行业的客服中心会慢慢引入机器人客服专员,由人工智能算法代替工作人员,并最终建立全智能化的客服中心。
5,精准营销:人工智能可以为银行的潜在客户进行精准的画像,根据潜在客户曾经的购买行为、个人特征、社交习惯等, 将潜在客户分为若干种类别,并为每一种类别的潜在客户匹配最合适他们的金融产品。