关于r语言:R语言隐马尔可夫模型HMM识别不断变化的股票市场条件

25次阅读

共计 1288 个字符,预计需要花费 4 分钟才能阅读完成。

原文:http://tecdat.cn/?p=3784

理解不同的市场情况如何影响您的策略体现可能会对您的回报产生微小的影响。

某些策略在稳定激烈的市场中体现良好,而其余策略则须要强劲而安稳的趋势,否则将面临长时间的上涨危险。搞清楚什么时候开始或进行交易策略,调整危险和资金治理技巧,甚至设置进入和退出条件的参数都取决于市场“制度”或以后的状况。

可能辨认不同的市场制度并相应地扭转您的策略可能意味着市场胜利和失败之间的差别。在本文中,咱们将探讨如何通过应用一种弱小的机器学习算法来辨认不同的市场机制,称为“隐马尔可夫模型”。

隐马尔可夫模型

马尔科夫模型是一个概率过程,看以后的状态来预测下一个状态。一个简略的例子就是看天气。假如咱们有三个天气条件:多雨,阴天,晴天。如果明天下雨,马尔可夫模型寻找每个不同的天气情况产生的概率。例如,今天可能持续下雨的概率较高,多云的可能性略低,晴天可能性较小。

明天的天气今天的天气变动的概率

多雨的多雨的 65%

多雨的多云的 25%

多雨的晴朗 10%

多云的多雨的 55%

多云的多云的 20%

多云的晴朗 25%

晴朗多雨的 10%

晴朗多云的 30%

晴朗晴朗 60%

这仿佛是一个非常简单的过程,但其复杂性在于不晓得每个机制转移的概率,以及如何解释这些随工夫变动的概率。这就是隐马尔可夫模型(HMM)发挥作用的中央。他们可能预计每个制度的转变概率,而后依据目前的状况输入最可能的制度。

交易申请十分清晰。咱们能够将市场定义为看涨,看跌,横盘整顿,或者稳定率高或者低,或者咱们晓得的一些因素的综合影响咱们的策略的体现,而不是天气条件。

构建实在数据模型

咱们正在寻找基于这些因素的不同的市场制度,而后咱们能够用它来优化咱们的交易策略。为此,咱们将应用 depmixS4 R 库以及可追溯到 2012 年的 EUR / USD 日图来构建模型。

首先,咱们装置这些库并在 R 中构建咱们的数据集。

ModelData <-data.frame(LogReturns,ATR)#为咱们的 HMM 模型创立数据框 ModelData <-ModelData [-c(1:14),]#删除正在计算指标的数据 colnames(ModelData)< - c(“LogReturns”,“ATR”)#name 咱们的列 

咱们将 LogReturns 和 ATR 设置为咱们的响应变量。咱们将 LogReturns 和 ATR 设置为咱们的响应变量。咱们将 LogReturns 和 ATR 设置为响应变量应用咱们刚刚构建的数据框架,要设置 3 个不同的机制,并将响应散布设置为高斯。

HMMfit <-fit(HMM,verbose = FALSE)#将咱们的模型增加到数据集中 

转换矩阵给了咱们从一个状态挪动到下一个状态的概率。

HMMpost <-posterior(HMMfit)#查找咱们的数据集中每个状态的后验概率 

#咱们能够看到,咱们当初有每个状态的概率每天以及最高概率类。

让咱们看看咱们发现了什么:

每个制度别离的概率:

咱们能够看到,机制 3 往往是高稳定和大幅度稳定的期间,机制 2 的特点是中等稳定,机制 1 是低稳定的。

隐马尔可夫模型是弱小的工具,能够让你洞察一直变动的市场条件。

正文完
 0