量化投资的利器:隐马尔可夫模型(一)

版权声明:本文为作者唐亘的原创文章,欢迎转载,但请注明出处。 https://blog.csdn.net/weixin_39844018/article/details/82534456

在略微枯燥的模型讨论之前,我们先来看一个数学家的故事。

那是一个深秋的傍晚,一位正在过40岁生日的数学家正苦恼地望着远方。40岁对一个数学家来说,是一个悲伤的年龄,因为这个世界上曾出现过的伟大数学家,99%都在40岁之前完成了自己最伟大的工作。数学界也普遍将40岁视为数学家退休的年龄,比如著名的菲尔兹奖就只奖给40岁之前的数学家。

而我们的这位主角虽然也是一流的数学家,但毕竟没做出特别伟大的成就,所以心里有些失落,于是他找到他的数学家朋友商量未来。他的朋友告诉他,有两条路可以走,一个是政界,不过我看你情商不够,还是算了。另一条是金融,听说聪明的人能在里面赚很多钱。

于是,这位男主人公就投身了金融界,创办了自己的投资公司,利用数学公式和机器学习算法来进行投机,结果一战成名,成为了传奇。他就是詹姆斯·西蒙斯 (James Simons) ,他旗下的大奖章基金从1988-2015,27年间平均年化收益率达到了惊人的35%,也就是说翻了3303倍。

据坊间传闻,大奖章基金的秘密武器就是我们这篇文章和接下来几篇文章将讨论的隐马尔可夫模型(Hidden Markov Model – HMM)。

一、模型简介

很多机器学习模型都有一个共同的假设:数据与数据之间是相互独立的,模型只关注当前数据的自变量与因变量之间的关系,比如逻辑回归,SVM等。但这样的假设在很多场景下是不符合现实情况的。

举一个简单的例子,在股票市场上,用变量 y i y_i 表示股票价格,用 X i X_i 表示市场上的公开信息。显然, y i y_i X i X_i 之间存在某种关联关系。但除此之外,股票价格还与最近一段时间的市场环境相关,也就是说 y i y_i ( y i 1 , y i 2 , . . . ) (y_{i - 1}, y_{i - 2}, ...) 也是相关的:对于同样的利空消息,如公司出现亏损,

  • 在牛市(股票价格在一段时间内连续上涨,市场情绪乐观)环境里,市场会倾向认为这是“利空出尽是利多”,股票价格反而会上涨;
  • 在熊市(股票价格在一段时间内连续下跌,市场情绪悲观)环境里,这样的消息往往会造成市场恐慌,引起股票价格下跌。

类似的例子在现实生活中还有很多,它们的共同点是:数据间的顺序对数据本身是有影响的。在学术上,具有这种特性的数据被称为序列数据(sequential data)。显然之前讨论的模型都没办法捕捉到数据中的“顺序”特性,而本节将讨论的隐马尔可夫模型(Hidden Markov Model, HMM)就是为解决这个问题而设计的。正因为这个优点,它在基因分析、语言识别以及量化金融等领域被大量使用。

需要提醒读者注意的是,隐马尔可夫模型这个名字指的是一类模型,而非单个模型。

二、一个简单的例子

隐马尔可夫是一个比较复杂的模型,数学的处理也很繁琐。为了便于理解,我们先来看一个简单的例子1

数据科学家小安有3天假期,她将根据天气情况来决定这3天的活动。天气情况分为两种:下雨或者晴天;而小安的备选活动有3个:郊游、逛街和在家打游戏。天气情况的假设如下:

  • 每天的天气情况与前一天的天气是相互关联的;
  • 如果前一天是下雨,则第二天有70%的概率仍然下雨,有30%的概率第二天将转为晴天;
  • 如果前一天是晴天,则有60%的概率第二天仍是晴天,有40%的概率第二天将下雨;
  • 另外第一天下雨的概率为60%,晴天的概率为40%。

小安将按如下的假设选择她的活动:

  • 在下雨天,3项活动的概率分别为10%、40%以及50%;
  • 而在晴天,3项活动的概率分别为60%、30%以及10%。

用图形表示上述的假设可以得到图1。

图1

现在观察到小安在3天假期内的活动按顺序分别是郊游、逛街和打游戏,需要据此推测这3天假期的天气情况,这就是隐马尔可夫模型的典型应用场景。现在将这个例子抽象,用变量 y i y_i 表示第 i i 天的天气,是需要被预测的量; x i x_i 表示第 i i 天的活动,是被观测到的量,则模型的假设可以分解为如下两方面。

  • 对于单独的某一天来讲,与之间的关系由简单的生成式模型处理,更具体一点,通常使用朴素贝叶斯模型捕捉它们之间的关系,比如这个例子使用的模型就是朴素贝叶斯中的多项式模型。
  • 对于被预测量,它们之间也是相互关联的,并且假设当前状态只与前一个状态相关,即只与相关。这样的关系在数学上被称为马尔可夫链,这也是模型名字的来源,具体的细节将在《量化投资的利器:隐马尔可夫模型(二)》中讨论。

稍微扩展一下,从图形直观上来看,隐马尔可夫模型是一个基于贝叶斯框架的网络。事实上,很多复杂的模型都可以表示成网络的形式,这些模型在学术上它常被形象地称为图模型2(graphical model)。图模型无论是在理论上还是在工程实现上都是十分复杂的,是机器学习里非常前沿的领域,而隐马尔可夫是一种很简单的(可能是最简单的)图模型。

从模型的架构上来讲,隐马尔可夫又能被看作多个朴素贝叶斯模型的联结。这再次说明模型联结主义(connectionism)的强大。

这篇文章中,我们比较“文学地”介绍了隐马尔可夫模型(HMM)的基本思想。而下一篇文章(《量化投资的利器:隐马尔可夫模型(二)》)将深入地从数学上来讨论HMM模型的细节

三、广告时间

这篇文章的大部分内容参考自我的新书《精通数据科学:从线性回归到深度学习》

李国杰院士和韩家炜教授在读过此书后,亲自为其作序,欢迎大家购买。

另外,与之相关的免费视频课程请关注这个链接


  1. 本例参考自维基百科 ↩︎

  2. 图模型并不是指专门处理图形的模型,而是指模型的架构可以表示为一张网状图。 ↩︎

猜你喜欢

转载自blog.csdn.net/weixin_39844018/article/details/82534456
今日推荐