西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用

西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用

ID:39306523

大小:197.51 KB

页数:8页

时间:2019-06-30

西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用_第1页
西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用_第2页
西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用_第3页
西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用_第4页
西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用_第5页
资源描述:

《西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用之前做过相关方面的研究,针对的是国外的期货市场。也有朋友建议说拿A股来试试看。所以有了下面的这篇东西。扯上西蒙斯前辈,是因为确实不少猜测认为文艺复兴用的就是HMM模型。一、从大奖章讲起Renaissance&Medallion(文艺复兴科技和大奖章)量化圈都非常熟悉了。Simons一群物理学家和数学家碰撞在一起,1989年到2008年的yearlyreturn达到35.6%。文艺复兴大概一百多个员工,AUM:50亿美金,在全球金融危机的08年,大部分对冲基金都亏损,而大奖章的r

2、eturn高达80%。神秘的文艺复兴科技和神秘的大奖章基金,到底一群数学家和物理学家聚在一起搞出了什么赚钱利器?外界猜测众说纷纭。而隐马尔科夫模型也由于一些原因被推举出来。成立初期的创始人中,有一位科学家发明了广泛应用在语音识别等领域的鲍姆-威尔士算法,用来确定不可确知的变量可能出现的概率。今天要介绍的HMM模型,也是在语音识别中运用非常成功的模型,最早是由鲍姆等人提出的。之前拜读人大的一位教授14年写的一本书,解密复兴科技:基于隐蔽马尔科夫模型的时序分析方法,书中介绍了为什么觉得HMM是Renaissance使用的模型,并且含

3、有详细的公式推导和运算,以及附上了一些些实证结果(个人认为还有很多有待补充和粗糙的地方)。感兴趣推荐研读。二、认识模型HMM模型,又叫隐马尔科夫模型。要正确的理解和搞懂模型,教材里有很多经典的例子。我从自己理解后的角度尽量浅显的给大家做一个解释,方便大家快速理清概念投入应用。我们能观测到的序列(Y1,...,Yn)称为可观测序列,如股价,成交量,资金净额等等。而每一个可观测值的产生对应着市场状态序列(Z1,...,Zn),每个状态通过不同的分布函数来产生观测值。通过HMM模型,可以用简单的输入,来得出对目前市场状态的判断,从而帮

4、助我们进行择时选择。因为市场状态不是显性可观测的,属于隐藏状态,我们通过对可观测变量的处理来进行推测。这里对HMM模型进行了扩展得到HMS-GMD模型,因为收益率序列尖峰厚尾的特性导致的非正态分布,引入了混合高斯分布作为状态到观测值之间产生关系的分布函数。将HMM模型看作一个黑箱子,这个黑箱子可以利用极其方便、简洁的数据,处理后得出:1.每个时刻对应的状态序列;2.混合分布的均值和方差矩阵;3.混合分布的权重矩阵;4.状态间转移概率矩阵。而黑箱子需要事先给定两个参数:状态数目、混合高斯分布的成分数目。当然,输入这里是拿单一的价格

5、序列举例。输入也可以是并行的数据矩阵,比如从价格、成交量、资金净额等多个角度来看。总结一下,使用模型需要在初期设定:1.隐藏状态数目2.输入的观测变量3.混合高斯分布成分数目三、A股市场实证下面拿A股市场来做检验。模型的设定如下:1.隐藏状态数目:62.输入变量:当日对数收益率,五日对数收益率,当日对数高低价差(其他备选因素成交量、成交额等大家可以自行尝试)3.混合高斯分布成分数目:1(为了简便,假定对数收益率服从单一高斯分布)In[1]:fromhmmlearn.hmmimportGaussianHMMimportdateti

6、meimportnumpyasnpimportpandasaspdimportseabornassnsfrommatplotlibimportcmfrommatplotlibimportpyplotstartdate='2012-06-01'enddate='2016-04-07'df=get_price(['000300.XSHG'],start_date=startdate,end_date=enddate,frequency='daily',fields=['close','volume','high','low'])cl

7、ose=df['close']['000300.XSHG']high=df['high']['000300.XSHG'][5:]low=df['low']['000300.XSHG'][5:]volume=df['volume']['000300.XSHG'][5:]money=df['volume']['000300.XSHG'][5:]datelist=pd.to_datetime(close.index[5:])logreturn=(np.log(np.array(close[1:]))-np.log(np.array(c

8、lose[:-1])))[4:]logreturn5=np.log(np.array(close[5:]))-np.log(np.array(close[:-5]))diffreturn=(np.log(np.array(high))-np.log(np.arr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。