用有限混合模型(FMM,FINITE MIXTURE MODEL)创建衰退指标对股市SPY、ETF收益聚类双坐标图可视化

简介: 用有限混合模型(FMM,FINITE MIXTURE MODEL)创建衰退指标对股市SPY、ETF收益聚类双坐标图可视化

原文链接:http://tecdat.cn/?p=25476 

从广义上讲,我们可以将金融市场状况分为两类:牛市和熊市。第一个是平稳且通常向上倾斜。第二个描述了一个低迷的市场,通常更不稳定。在任何特定时刻,我们只能猜测自己所处的状态;因为这两个状态没有统一准确的定义。

在这篇文章中,我们将使用(有限)混合模型来尝试将每日股票收益分配给他们的牛\熊子组。它本质上是一个无监督的聚类过程。我们创建自己的衰退指标,以帮助我们量化股市。我们使用最少的输入,只使用股票收益数据。从对有限混合模型的简短描述开始,然后给出一个实践的例子。

混合模型

不是每个观察都来自一个定义明确或熟悉的分布,例如高斯,现在的观察来自几个分布的混合。我们可以将两种分布的混合表示为:

image.png

image.png 是整体分布, image.png 是例如具有一些均值和方差的正态分布,并且 image.png 又是一个正态分布,但具有不同的均值和不同的方差。 image.png ,这样它们总和为一。所以, image.png 可以解释为来自每个分布的观察的概率。从理论上讲,如果我们有足够的 image.png ,这意味着 ,无论在现实中多么复杂或灵活,都可以成功逼近。这是在如此多的应用领域中发现混合模型的原因。

R语言中的混合模型

您会惊讶地发现它是多么容易:

1. 提取一些关于 SPY ,ETF 的数据并转换为每日收益。

da0 <- getSymbol
n <- NROW
dat <- array
prv <- matrix
for (i in 1:l) {
da0 <- getSymbols
w1 <- daiyRern
w0 <- cbind
}

2.使用R进行估算 image.png image.png 的。在下面的代码中 k 是成分数, lambda 是混合比例的初始值。

norEM(w0SPY)
summary(mod)

image.png

估计的方式是使用EM算法 Expectation–maximization algorithm。我们有两个分布,一个更稳定,波动性较低(~0.66)和正均值(~0.087),另一个分布具有更高的波动性(~2.0)和负均值(~-0.13)。此外,lambda 最终确定 75% 的时间我们处于稳定的环境中,而 25% 的时间观察属于更不稳定的状态。所以有了这个有限的信息集,我们得到了一些相当合理的东西。现在每次观察,您都有该观察来自第一个或第二个分量的后验概率。因此,要真正决定哪个观察属于哪个状态。如果观察结果有更高的概率来自更不稳定的状态,这就是它的类别,对概率进行四舍五入:

reg <- apply( round)

当我们查看分类观察结果时,这两种区制看起来是这样的:

每日 SPY 收益率 (%)

image.png

两种状态(区制)的密度估计

image.png

因此,仅基于收益数据,数值算法就创建了这两种区制,非常直观。有了这些知识,我们现在可以创建自己的衰退指标。

创建自己的衰退指标

创建衰退指标的一种方法是计算在某个移动窗口内归类为熊市状态的观察次数。波动性聚类程式化的事实使这个想法变得有意义。我们使用 120 天的移动窗口,并将结果标准化以使所有历史都处于同一基础上。

# # 选择更不稳定的区制
rend <- mo(rege\[, 2\]) %>% scale

image.png

最好在左侧有衰退的概率。我们可以使用 Sigmoid 映射轻松做到这一点:

reprob <- red %>% sigmoid

image.png

上图反映了更现实的情况;基金经理评估我们所处的区制或状态有多困难。将我们的衰退指标与其他更传统的衰退指标进行比较。

相关文章
|
消息中间件 安全 Java
《理解 Java EE:Java 企业级应用开发平台》
【4月更文挑战第4天】Java EE是企业级应用开发的主流平台,以其标准化组件、高度可扩展性、严格的安全机制和良好移植性著称。它简化开发过程,支持分布式系统,确保应用安全可靠,并遵循分层架构设计,利于团队协作和代码维护。开发者需掌握EJB、JSP等技术,以充分利用Java EE构建高质量应用,满足企业信息化需求。随着技术进步,Java EE持续演进以应对新挑战。
469 7
|
人工智能 编解码 安全
如何使用Sora?Sora小白教程一文通
如何使用Sora?Sora小白教程一文通。本文深入探讨了OpenAI于2024年发布的Sora——一款创新的文生视频大模型,详细介绍了其功能、技术原理、精准度、安全性以及对未来影响的全面分析
|
监控 算法
独立成分分析(Independent Component Analysis,ICA)原理及代码实现
独立成分分析(Independent Component Analysis,ICA)原理及代码实现
独立成分分析(Independent Component Analysis,ICA)原理及代码实现
|
11月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化TCN-GRU时间卷积神经网络时间序列预测算法matlab仿真
本项目基于MATLAB2022a开发,提供无水印算法运行效果预览及核心程序(含详细中文注释与操作视频)。通过结合时间卷积神经网络(TCN)和遗传算法(GA),实现复杂非线性时间序列的高精度预测。TCN利用因果卷积层与残差连接提取时间特征,GA优化超参数(如卷积核大小、层数等),显著提升模型性能。项目涵盖理论概述、程序代码及完整实现流程,适用于金融、气象、工业等领域的时间序列预测任务。
|
4月前
|
SQL 数据库
【赵渝强老师】达梦数据库的事务隔离级别
达梦数据库支持多客户端并发访问,为避免数据不一致,提供三种事务隔离级别:读未提交、读已提交(默认)和串行化。通过SQL可查看隔离级别,其默认的读已提交级别可有效防止脏读问题。
246 0
|
机器学习/深度学习 人工智能 算法
「AI工程师」算法研发与优化-工作指导
**工作指导书摘要:** 设计与优化算法,提升性能效率;负责模型训练及测试,确保准确稳定;跟踪业界最新技术并应用;提供内部技术支持,解决使用问题。要求扎实的数学和机器学习基础,熟悉深度学习框架,具备良好编程及数据分析能力,注重团队协作。遵循代码、文档和测试规范,持续学习创新,优化算法以支持业务发展。
712 0
「AI工程师」算法研发与优化-工作指导
|
安全
如何打开关闭Edge鼠标手势
【8月更文挑战第28天】本文介绍了在 Microsoft Edge 浏览器中开启和关闭鼠标手势的方法。首先,通过浏览器设置菜单进入设置页面;然后,查找“鼠标手势”设置或在相关类别中搜索。由于 Edge 可能未内置此功能,可考虑安装支持鼠标手势的扩展程序,如 CrxMouse 鼠标手势,以实现该功能。安装时需注意安全性和可靠性。
6526 5
|
算法 数据挖掘
R语言使用混合模型GMM进行聚类
R语言使用混合模型GMM进行聚类
|
前端开发 JavaScript
【定制需求】el-tree 树形控件实现:每级可单独选择,选择父级不选中子集,子集全部选中不自动选中父级,手写按钮可支持子集全选,以及取消子集全选,el-tree 树形控件取消父子级联动选择
【定制需求】el-tree 树形控件实现:每级可单独选择,选择父级不选中子集,子集全部选中不自动选中父级,手写按钮可支持子集全选,以及取消子集全选,el-tree 树形控件取消父子级联动选择
1494 0
|
安全 数据安全/隐私保护 虚拟化
iOS应用加固方案解析:ipa加固安全技术全面评测
iOS应用加固方案解析:ipa加固安全技术全面评测
601 3