编者按:本文是华泰期货研究院量化策略组研究员陈维嘉于2017年9月撰写的一系列量化策略报告之一。

1、概率模型简介

概率模型是一大类模型的统称,是常规金融模型的概率化表达。通常概率模型会把常规金融模型中的某些参数看作是一个未知的概率分布,这个未知的分布通常会预先给定一个基本假设,即先验概率,然后再根据具体的观测数据去推断或者逐步修正这些假设。一种比较常见的概率模型就是贝叶斯线性回归模型,这类模型把线性回归中的系数 和截距等参数作为未知的概率分布。另外一类是最近二十年兴起的状态空间模型(State- Space Model, SSM)和隐含马尔科夫模型(Hidden Markov Model, HMM),这类模型假设在可 观测数据背后包含了某种隐含模式,并且可以利用条件概率分布来发掘这些隐含模式来 总结数据规律以及预测未来数据。SSM 通常用于描述连续的隐含状态而 HMM 通常指有 限的隐含状态。这类模型首先在物理学中得到应用,随后在自然语言处理中被发现取得 良好效果。目前这类模型也常出现在金融、经济等学术论文中用于检验经济指标有效性 或者用作预测。这类模型在国外一些对冲基金公司也有所应用。

概率模型可以比灵活地从较少量数据中调校出来,但是在传统机器学习问题上,比 如分类,非线性回归等,这类模型效果在精确性和扩展性方面表现不会特别好。而另一 方面,深度学习在图像识别、语音识别方面取得较大突破,其原因之一是大数据为较复 杂的模型架构提供了支持。如果把这两者的优势结合,则有可能在少量数据的基础上构 造出较为复杂的模型,例如贝叶斯神经网络。

本报告将简单介绍概率模型的构造流程,常见概率模型的类型,最后给出贝叶斯线 性回归模型和贝叶斯神经网络在期货预测中的应用例子。

2、概率模型构建流程

概率模型的构造通常要求对待预测的问题有一个直观的认识,比如从可观测数据库存,现货价格,利率,工厂开工率,产品优良率,成交量和持仓量等信息中推断出期货价格可能由基本面,宏观,流动性等不可观测的因子在背后驱动期货价格涨跌。由此构造出有一定经济学含义的模型,并且加入一定的主观预期,即模型参数的先验分布。再由可观测数据去推断出这些隐含因子对期货价格的影响作用,也就是说利用特定的推断算法 计算后验分布。最后使用后验分布来测试模型,找出其优点和缺点,如果能满足则该概率 模型在此问题上有一定的解决能里,否则则重新修改。这就是Box循环,如下图所示。

Box循环清晰地把以下几个步骤区分开了:把主观认识加进模型,根据数据进行推断,在现实环境中进行模型评价以及根据结果修改模型假设。第一个步骤概率模型构造由于需要加入对期货价格行程的主观认识,这个步骤更像是一个艺术过程。研究员甚至可以把商品产业链的相关信息编进概率模型中,例如一个简单的豆粕和豆油的部分产业链可以如下图表示。从大豆种植面积开始经过贸易,加工等环节生产出豆粕和豆油,这里面的各种因素都会对其最终价格产生影响,而其下游产物也可能由于供需关系的变动对原材料产生影响,这一系列过程可以都用一类称作贝叶斯网络的概率模型来表示,模型参数就是各个流程之间的条件概率分布。随着研究员的认识深入,这个网络可以不断扩展。甚至添加一些变量,例如贸易利润和加工成本可能同时受制于某些不可观测的宏观因素。

期货研究员如果对某一商品品种有一定认识都可以构建出类似的概率模型,然后把可观测数据交给模型利用特定的推断算法计算出模型参数的后验分布。对大多数概率模型来说,根据可观测数据进行调校都不是简单的步骤,两种常用的方法是马氏链蒙特卡罗和变分推断。调校后的模型是否有效则受制于更多因素,例如数据质量,数据样本是否足够多,概率模型的推断方法选取是否适当等等。最后可以用后验预测检验(Posterior Predictive Checks, PPC)来评价模型对数据的拟合程度以及交叉验证来评价模型的预测能力。

3、概率模型类型

概率模型包含了一大类模型,在金融建模中经常会用到,但是他们的名称常常不统一,例如常用的regime-switch 模型通常包含2-3个regime,他们其实就是一类特殊的隐含马尔科夫模型。David M. Blei 在 Build, Compute, Critique, Repeat: Data Analysis with Latent Variable Models(2014)中总结了几类常用的概率模型,其架构如下图所示。图中深蓝色 圆圈为可观测变量,白色圆圈代表不可观测变量,深蓝色方框代表固定的模型超参数。灰色的箭头表示各个变量之间的依存关系。其中的混合会员模型(mixed mrship)常用于无监督的聚类分析,矩阵因子分解模型(matrix factorization)则用于特征分解,如用户行为分析等,这两类概率模型在金融上的应用较为少见,所以在这里不作讨论,下面主要介绍其他几种在金融中较为常见的概率模型

1.贝叶斯线性回归(Bayesian Linear Regression, BLR)

这类模型比较基础,主要就是把通常线性回归模型中的系数看作是未知分布,可以用如下式子表示

其中ft1为自变量因子。A 和b为贝叶斯模型的系数和截距,其先验分布均通常取为标 准正态分布,但也可根据具体情况采用其他与现实情况更为接近的分布。rt的预测误差服从 正态分布(0, 2),其方差2可取标准对数正态分布。这里的参数= , b, 2的后验分布 都是通过历史数据进行马尔科夫链蒙特卡诺或者变分推断。在推断出后验分布后就可以计 算rt的后验分布了,也就是给定了当前因子下的条件概率分布(rt, )。

2.隐含马尔科夫模型(Hidden Markov Model, HMM)

隐含马尔科夫模型在线性模型的基础上可以用公式表示为

其中St1为当前的区域变量(regime),其取值是离散的St1 = 1,2,3, …。通常在金融应用中只取2-3个区域,例如当St1=1时,市场处于上升状态,当St1= 2时,市场处于调整状态,当St1=3时,市场处于下跌状态。而有的模型会忽略掉市场的调整状态,只取剩下两种。同时模型通常也会假设各个状态之间的存在一个转移概率矩阵,这个转移概率和在各个状态下的系数A都是不可观测的,他们可以是固定的参数也可以是贝叶斯化的概率分布。模型 的使用者并不知道当前市场处于哪个区域,需要从可观测数据中使用特定算法进行推断出当前市场所处区域的概率,将来市场所处的概率,以及市场出现转换的概率。

在实际使用当中HMM的具体形式可能会稍作变化,例如Andrew Ang在How do Regimes Affect Asset Allocation?(2002)中使用了如下形式的HMM来研究在牛市和熊市中如何调节资产配置方案。在其论文中,股票超过政府债券的额外收益t表示为

Min Dai 等人在 Optimal Trend Following Trading Rules (2011)中把 HMM 加入到随机过程模型中。例如用ft表示在t时刻的股票价格,满足如下随机过程

其中()为预期收益率,其值取决于所处的两个牛市或熊市区域,为常数波动率,与所处regime无关,是标准布朗运动。下表中列出了利用 S&P500 校正该 HMM 模型的参 数值,其中1和2分别是牛市和熊市的期望收益,1和2是从牛市转移到熊市和熊市转移 到牛市的转换强度。从表中可以看出这些参数在 2008 年以前都比较稳定,2009年达到峰值,之后开始回落,这跟 2008-2009年间美股出现的大幅下滑表现一致,尤其是1达到最大值,说明市场有强趋势向熊市转换。由此可见该HMM模型对市场有一定的描述能力。

3.状态空间模型(State Space Model, SSM) 

状态空间模型是隐含马尔科夫模型的进一步扩展,其线性形式可以表示为其中公式(5)被称为观测方程,At是一个不可观测的隐含状态向量。该向量序列At由被称为过渡方程的公式(6)定义,Bt是一个过渡矩阵。(0, 2)和(0, 2)相当于白噪声。与之前的 HMM 相比,SSM中的At的取值变成了可变的时间序列,而且其分布不再是独立相同的了。这类模型首先被用在航空学上,观测方程所描绘的变量rt为雷达可观测结果并带有白噪声干扰,状态At表示飞行器在空间位置、速度等状态,该模型目标就是为了通过雷达观测,求解出飞行器的状态。这类模型在金融上的应用也有很多,较为经典的是随机波动率模型。例如 Heston,

经过一阶离散线性化后就可以写成状态空间的形式,其中为可观测的股票价格,随机波动率作为不可观测的隐含状态。把Heston模型写成状态空间的形式就可以使用时间序列,而非通常的期权价格进行校正了。

在图 3:e中David M. Blei提到的卡曼滤波(Kalman filter)通常是作为一种实现SSM的推断方法,其最初的设计目地就是用于雷达跟踪,与HMM的发展是相互独立的而且起源于不同的研究群体,但他们都是概率模型的一种实现形式。

4.贝叶斯神经网络(Bayesian Neural Network, BNN)

前面所提到的几类概率模型都是线性的,虽然也可以做成非线性的形式,但是要求模型构造者对建模问题需要有一定的认识前提。而利用期货产业链构建贝叶斯网络更要求研究者对整个产业有较为深刻的认识。上述模型都要求研究员对数据进行不同程度的加工,这也使得概率模型的构建更像一门艺术。目前正在兴起的深度学习其成功的原因之一是能 够利用算法自动发掘数据内部特征,从而减少研究人员对数据人工预处理的依赖。由于深度学习用有一套相对比较科学的特征提取和筛选方法,从而使得模型构造过程更加理性与客观。如果把概率模型和深度学习相结合,则有可能实现优势互补。其中贝叶斯神经网络 就是两者结合的一种形式,这类模型其实是把神经网络中的权重看成是一个未知的先验分布,然后根据观测数据利用贝叶斯统计推断的方法去求解权重的后验分布。有概率模型开 源软件的研究人员认为贝叶神经网络具备的优势包括:

1.预测结果的不确定性

贝叶斯模型能够体现预测结果的不确定性,而这点通常是深度学习中被忽略掉的。比如预测结果的不确定性可以帮助研究者找到预测不太好的样本,从而加强对这些样本的训练。

2.模型参数的不确定性

考察模型参数的不确定性也能帮助研究人员评价模型是否稳定。

3.通过先验分布实现正则化

普通深度神经网络通常使用权重惩罚来使得模型某个参数不至于过大或过小,从而防止过度拟合,而贝叶斯模型则由于有先验分布的约束从而使后验分布不至于产生过大的偏离。

4.通过先验分布进行迁移学习

如果需要对某个新问题进行建模,那么可以把在就问题中训练好的模型参数作为研究新问题的先验分布。这在期货上可能也会有所应用,比如对国内即将上市的原油期货,在上市初期,相关研究员可以用外盘布伦特原油期货的大量相关数据进行模型训练然后再把其作为先验分布,结合国内原油期货上市初期的少量数据进行训练。

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)。

回测时这两个模型都是先预测出沪铜主力合约下一周的上涨和下跌概率,如果上涨概率大于0.5就做多,下跌概率大于0.5就做空。每周最后一个交易日进行预测和调仓,为方便计算假设能以收盘价交易。这两个模型的收益曲线如下图,由于贝叶斯线性回归模型采用了较小的时间窗口进行滚动拟合,所以验证集数据较多。但由图中可以看出这两个模型的交易曲线差异并不是十分大,在2015年这段时间收益都比较平缓,而之后贝叶斯神经网络的收益增长的趋势则比较明显。

这两个模型在沪铜期货上的收益如下图所示,由于这两个模型的验证集和测试集数据样本的时间跨度不一致,所以对其分别做了调整,使他们使用相同的样本,从而BLR的验证集能与BNN的验证集比较,BNN的测试集能与BLR的测试集比较。在相同的验证集区间BNN的收益为10.13%而BLR只有1.97%。在相同的测试集合上BNN的收益为20.91%略高于 BLR的18.84%。但考虑到BNN并没有使用滚动训练的方法,BNN的效果提升还是比较明显的。

结果讨论

本报告首先对概率模型进行了基本介绍,包括其框架,构建流程,同时简述了几类重要模型在金融建模上的应用,包括熊市和牛市的转换判别,随机波动率的推算和混频数据的预测等。最后本报告尝试基于沪铜期货基本面因子,比较了贝叶斯线性回归模型和贝叶斯神经网络对交易沪铜期货的收益。虽然贝叶斯神经网络没有使用滚动训练的方法,运算量大大降低,但是在相同的数据样本上却取得比贝叶斯线性回归模型更好的效果,是值得深入研究的一类模型。

------------------------------------------------------------------------------------

推荐阅读:

1.一个量化策略师的自白(好文强烈推荐)

2.市面上经典的量化交易策略都在这里了!(源码)

3.期货/股票数据大全查询(历史/实时/Tick/财务等)

4.干货| 量化金融经典理论、重要模型、发展简史大全

5.干货 | 量化选股策略模型大全

6.高频交易四大派系大揭秘

常见概率模型在市场中的应用相关推荐

  1. 智能家居市场中zigbee通信技术与RF315/433通信技术的区别

    zigbee通信技术和RF315/433是我们目前市场中常见的智能家居的通信协议,那么两者有什么区别,我们又该如何去进行选择?接下来就让我们一起来看一下这两者的区别. 郑州智能家居http://ww ...

  2. 波段选股王怎么在市场中利用头肩底实现杀跌

      小孙我自己一直对金融市场交易很感兴趣,从三年前开始,就不断地在理论实践两方面逐渐加深对于金融市场的理解,最近发现一个叫QR量化社区的平台,也给了自己很多灵感.结合最近的市场情况,突然来了动力,在此 ...

  3. 虾皮市场中店铺定位是什么,如何做好产品线布局?这些东西你有了解吗?

    当下,东南亚无疑是跨境电商人的新兴热门平台,众多卖家争先布局.其中,以虾皮为例,年均整体增速都超过100%的增长.卖家要想找准自身店铺的定位.做好产品线的布局,在新兴蓝海市场中大获全胜,了解虾皮中店铺 ...

  4. 当下网络营销市场中为何企业可通过网络营销提升自我价值?

    在当下网络营销市场中越来越多的企业选择通过借助网站建设的力量实现企业线上营销获益,网络营销属实是当下企业展开线上营销不可或缺的一种营销推广模式,广受众多中小企业的欢迎.网络营销的开展可以为企业带来更多 ...

  5. Gartner:2025年有效细分市场中过半企业的 IT 支出将转向云

    来源 | CSDN云计算 根据Gartner的最新预测,2025年有效细分市场中的企业在公有云计算领域的IT支出将超过传统IT服务支出. Gartner的"云迁移"研究只包括可以迁 ...

  6. 诺基亚X71上手评测:中端机市场中的绝对C位

    聊起诺基亚与摩托罗拉,单论好感度,前者路人缘显然比后者要好很多.摩托罗拉尽管归入联想麾下,并经过几年调教,但在手机市场一直都没掀起太大波澜;而诺基亚借由HMD Global复活,凭借多年前积攒下来的口 ...

  7. 创业者需要广泛了解市场中相关产品的基本情况

    想要生产出更优秀的产品,创业者需要广泛了解市场中相关产品的基本情况. 这里有一个小方法,创业者可以通过关注专业购物网站快速搜集相关产品的信息.如淘宝.京东等普通民众眼里的专业购物网站,对于创业者来说大 ...

  8. 未来无人车市场中,谁最赚钱?

    作者 Tasha Keeney 李杉 编译自 ARK Invest 量子位 出品 | 公众号 QbitAI 现在,汽车行业和科技公司都在紧紧盯着一个新市场:无人驾驶出租车.大家都想抓住这个趋势,从中获 ...

  9. arcgis支持python3吗_常见问题解答:ArcGIS 中使用的 Python 是什么版本?

    常见问题解答:ArcGIS 中使用的 Python 是什么版本? 问题 常见问题解答:ArcGIS 中使用的 Python 是什么版本? 答案 Python 编程语言用于自 9.0 起的各版本 Arc ...

  10. 从两万亿医疗市场中寻找IT商机

    从两万亿医疗市场中寻找IT商机 挂号有自助挂号机,病历有电子病历,取CT片子也不用跑了,放射科直接通过PACS发给临床医生.IT给医疗带来诸多便利,更多的IT厂商开始关注医疗市场里的商机. 尽管挂号依 ...

最新文章

  1. tenflow数据集_计算机视常用的数据集 Data sets
  2. 算法经典书籍--算法设计与分析基础
  3. 河南派出所犯罪嫌疑计算机网络人,【出彩河南公安人】息县公安局冯振娇:平凡岗位献青春 恒心不改展风采...
  4. Boost:connect pair连接对测试程序
  5. Spark修炼之道(基础篇)——Linux大数据开发基础:第二节:Linux文件系统、文件夹(一)...
  6. JFinal 源码导读第四天(3) initRender
  7. 教程 参数设置_呼吸机的使用方法教程及参数设置
  8. winserver2008 安装elasticsearch
  9. 论文写作课程收获总结
  10. WRF users guide Chap5
  11. 点线特征融合求取相机位姿
  12. 文本和输入:复制和粘贴
  13. CGB2109-Day01
  14. 中国计算机软件工程大学专业,全国开设软件工程专业院校有哪些 都有什么大学名单...
  15. QP是什么,为什么在国内不为我们所熟悉?
  16. 计算机网络教育计算机统考,网络教育统考计算机复习资料 (4).doc
  17. 使用CSS3中Canvas 实现两张图片合成一张图片【常用于合成二维码图片】
  18. Soul网关(十三)---- Tars 框架在Soul中的应用
  19. leetcode 1110. 删点成林
  20. Spring IoC容器初始化源码(1)—容器初始化入口以及setConfigLocations设置容器配置信息【一万字】

热门文章

  1. android expandablelistview简单应用,android ExpandableListView简单例子
  2. Linux操作系统安装教程
  3. Python实现支持人机对战的五子棋软件(超详细)
  4. 精品软件试用及分享 屏幕录像专家注册版 附下载地址
  5. Nike Zoom KD 5 “OKC / Away” colorway
  6. 如何备考软考中级-系统集成项目管理工程师
  7. 2020年日历电子版(打印版)_2020年日历打印版下载
  8. 利用ESP8266与米思齐从零制作模拟温室大棚--接线篇
  9. mysql身份证校验码_MySql整理篇之身份证提取生日性别
  10. 敲电子木鱼微信小程序源码下载+搭建教程