r语言depmix_使用R语言进行机制检测的隐马尔可夫模型

本文介绍如何使用R语言的depmixS4包来识别“牛市”和“熊市”等不同市场状态。通过模拟数据和实际S&P500股票收益,应用隐马尔可夫模型进行状态检测,揭示市场机制的后验概率变化。
摘要由CSDN通过智能技术生成

在本文中,将对“牛市”和“熊市”两个独立机制下的市场收益进行模拟。隐马尔可夫模型识别处于特定状态的概率。

在概述了模拟数据的过程之后,将隐马尔可夫模型应用于美国股票数据,以确定基本机制。

市场体制

将隐马尔可夫模型应用于状态检测是棘手的,因为该问题实际上是无监督学习的一种形式。也就是说,没有“基础事实”或标记数据可在其上“训练”模型。 是否有两个,三个,四个或更多个“真正的”隐藏市场机制?

这些问题的答案在很大程度上取决于要建模的资产类别,时间范围的选择以及所使用数据的性质。

模拟数据

在本节中,从独立的高斯分布中生成模拟的收益率数据,每个分布都代表“看涨”或“看涨”的市场机制。看涨收益来自均值正且方差低的高斯分布,而看跌收益来自均值略为负但方差较高的高斯分布。

第一个任务是安装depmixS4和quantmod库,然后将它们导入R。

install.packages(‘depmixS4‘)

install.packages(‘quantmod‘)

library(‘depmixS4‘)

library(‘quantmod‘)

set.seed(1)

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

在牛市分布N(0.1,0.1)N(0.1,0.1)而空头市场分布为N(−0.05,0.2)N(−0.05,0.2)。通过以下代码设置参数:

# Create the parameters for the bull and

# bear market returns distributions

Nk_lower

Nk_upper

bull_mean

bull_var

bear_mean

bear_var

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

所述NkNk值是随机选择的:

# Create the list of durations (in days) for each regime

days

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值