数据分享|MATLAB、R基于Copula方法和k-means聚类的股票选择研究上证A股数据

简介: 数据分享|MATLAB、R基于Copula方法和k-means聚类的股票选择研究上证A股数据

因此,Copula方法开始逐渐代替多元GARCH模型的相关性分析,成为考察金融变量间关系的流行方法,被广泛地用于市场一体化、风险管理以及期货套期保值的研究中。

国内外学者对于尾部相关性和Copula方法已经有了深入的研究,提出多种Copula模型来不断优化尾部相关系数对于不同情况下股票之间相关性的刻画,对于股票的聚类方法也进行了改进和拓展,然而能够结合这些方法对于资产选择进行研究的较少。尤其是在面对现今股票市场海量级的股票数据,如何从股票间的尾部相关性挖掘到有效信息,得到能够有效规避风险的资产组合是很少有人研究的问题。并且大多尾部相关的分析都只停留在定性的分析中,并且多是在市场与市场之间,板块与板块之间的相关性分析,对于股票间定量的相关性研究还有不足。相信研究成果对于投资者有效的规避风险,寻求最佳的投资组合有较大的帮助。

本文结合Copula方法和聚类思想对大数量级的股票间尾部相关性进行分析,帮助客户构建混合Copula模型并计算股票间尾部相关系数,再根据尾部相关系数选用合理高效的聚类方法进行聚类,为投资者选择投资组合提供有效的建议。


上证A股数据


本文选取上证A股数据查看文末了解数据免费获取方式,其数据来源于wind数据库。由于时间间隔较长,本文将通过对相关系数进行计算来分析其之间的相关性,然后再通过聚类分析将其合并来进行研究。具体步骤如下:


非参数核估计边缘分布


j=1077
aj=median(sy(:,j)); %(j=1(SZGY),2(SZSY),3(SZDC),4(GYSY))
bj=median(abs(sy(:,j)-aj))/0.6745;
hj=1.06*bj*1077^(-1/5);

1,固定函数的参数,选择权重的初值为:1/ 3。对权重进行估计。

d=cdf('Normal',(sy(n,j)-wj(i))/hj,0,1);
sum=sum+d;
end

2,固定权重为第 1 步的估计值,选择参数的初值为第上一节的估计值,对函数的参数进行估计。

%求似然值
%fenbu=xlsread('fenbu.xlsx'); %读取数据,
fenbu=sy;
u=mean(sy);

3,将第 2 步估计得到的参数值作为固定值,权重初值选择第 1 步的估计值,进行权重估计。

s(j)=s(j)+b(i); %求似然值
end
end


估计混合 Copula 权重


theta=0.5;
for j=1:1000;
k1(1)=0.2; %权重初值
k2(1)=0.3 ;
c3(i)=1077^(-1)*k3(j)*fr(i)*(k1(j)*gu(i)+k2(j)*cl(i)+k3(j)*fr(i))^(-1);
k1(j+1)=k1(j+1)+c1(i); %gu(i),cl(i),fr(i)表示三个函数的密度函数
abs(k3(j+1)-k3(j))<=0.000001); %满足收敛条件是跳出
end
l=length(k1') %收敛时的步骤数目
k1(l),k2(l),k3(l) %收敛时的结果


估计混合 Copula 模型的函数参数


%b=b(0); %参数初值
for j=1:1000; %运算步骤
h1(i)=k1*gu_p(i)*gu(i)/(gu_m(i)*(k1*gu(i)+k2*cl(i)+k3*fr(i)));
s1=s1+h1(i); %gu_p 是 Gumbel 密度函数,gu_m 是 Gumbel 的密度函数
n=13;d=array(0 dim=c(13 13))  
for(i in 1:(n-1)){  
  d[i i]=1  
  for(j in (i+1):n){
  
    clayton.cop=claytonCopula(3 dim=2);clayton.cop  
    u=pobs(b);u


生成随机数


M=0.247060*G'+0.441831*C'+0.311109*F'; %生成混合 Copula 随机数


计算每个不同类时的 k-means 聚类结果,并计算平均偏差,且画出图形


for c = 2:8
  [idx,ctrs] = kmeans(M,c);

点击标题查阅往期内容


用COPULA模型进行蒙特卡洛(MONTE CARLO)模拟和拟合股票收益数据分析


01

02

03

04

[aic,bic] = aicbic([logL1;logL2;logL3;logL4],

当聚类数目为 7 时的 k-means 聚类

c=7;
  [idx,ctrs] = kmeans(M,c);
X=M
plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)


上尾


hold on
plot(X(idx==4,1),X(idx==4,2),'b.','MarkerSize',12)
hold on
plot(X(idx==5,1),X(idx==5,2),'b.','MarkerSize',12)
hold on
plot(X(idx==6,1),X(idx==6,2),'b.','MarkerSize',12)
hold on
plot(X(idx==7,1),X(idx==7,2),'b.','MarkerSize',12)
hold on
plot(X(idx==8,1),X(idx==8,2),'b.','MarkerSize',12)
hold on
 plot(ctrs(:,1),ctrs(:,2),'kx',...


Average square within cluster


library(cluster)  
agn1=aes(delta method="average");agn1
plot(x with.ss")  
lines(x with.ss lty=2)

下尾


Average square within cluster


输出上尾和下尾相关系数


本文将 Copula方法应用到股票市场的相关分析中,以上证A股数据作为研究对象,基于 Copula方法构建了对不同投资组合的风险和收益的预测模型;其次,将聚类思想应用到股票选择中,将选择出来的股票进行聚类分析,得出各个聚类结果。本文不仅考虑了股票之间的相关关系,还考虑了它们之间的相关性。


输出股票类别


相关文章
|
7天前
|
算法 数据挖掘 数据安全/隐私保护
基于FCM模糊聚类算法的图像分割matlab仿真
本项目展示了基于模糊C均值(FCM)算法的图像分割技术。算法运行效果良好,无水印。使用MATLAB 2022a开发,提供完整代码及中文注释,附带操作步骤视频。FCM算法通过隶属度矩阵和聚类中心矩阵实现图像分割,适用于灰度和彩色图像,广泛应用于医学影像、遥感图像等领域。
|
1月前
|
算法 数据挖掘
基于粒子群优化算法的图象聚类识别matlab仿真
该程序基于粒子群优化(PSO)算法实现图像聚类识别,能识别0~9的数字图片。在MATLAB2017B环境下运行,通过特征提取、PSO优化找到最佳聚类中心,提高识别准确性。PSO模拟鸟群捕食行为,通过粒子间的协作优化搜索过程。程序包括图片读取、特征提取、聚类分析及结果展示等步骤,实现了高效的图像识别。
|
3月前
|
存储 算法 Serverless
【matlab】matlab基于DTW和HMM方法数字语音识别系统(源码+音频文件+GUI界面)【独一无二】
【matlab】matlab基于DTW和HMM方法数字语音识别系统(源码+音频文件+GUI界面)【独一无二】
|
3月前
|
计算机视觉
【图像处理】基于灰度矩的亚像素边缘检测方法理论及MATLAB实现
基于灰度矩的亚像素边缘检测方法,包括理论基础和MATLAB实现,通过计算图像的灰度矩来精确定位边缘位置,并提供了详细的MATLAB代码和实验结果图。
92 6
|
4月前
|
机器学习/深度学习 算法 数据挖掘
基于改进K-means的网络数据聚类算法matlab仿真
**摘要:** K-means聚类算法分析,利用MATLAB2022a进行实现。算法基于最小化误差平方和,优点在于简单快速,适合大数据集,但易受初始值影响。文中探讨了该依赖性并通过实验展示了随机初始值对结果的敏感性。针对传统算法的局限,提出改进版解决孤点影响和K值选择问题。代码中遍历不同K值,计算距离代价,寻找最优聚类数。最终应用改进后的K-means进行聚类分析。
|
3月前
|
算法 数据安全/隐私保护
基于星座图整形方法的QAM调制解调系统MATLAB误码率仿真,对比16,32,64,256四种QAM调制方式
本MATLAB 2022a仿真展示了不同QAM阶数下的星座图及误码率性能,通过星座图整形技术优化了系统性能。该技术利用非均匀分布的星座点提高功率效率,并通过合理布局增强抗干扰能力。随着QAM阶数增加,数据传输速率提升,但对信道质量要求也更高。核心程序实现了从比特生成到QAM映射、功率归一化、加噪及解调的全过程,并评估了系统误码率。
62 0
|
4月前
|
算法 vr&ar
基于自适应波束成形算法的matlab性能仿真,对比SG和RLS两种方法
```markdown - MATLAB2022a中比较SG与RLS自适应波束成形算法。核心程序实现阵列信号处理,强化期望信号,抑制干扰。RLS以其高效计算权重,而SG则以简单和低计算复杂度著称。[12345] [6666666666] [777777] ```
|
5月前
|
机器学习/深度学习 算法 数据可视化
m基于PSO-LSTM粒子群优化长短记忆网络的电力负荷数据预测算法matlab仿真
在MATLAB 2022a中,应用PSO优化的LSTM模型提升了电力负荷预测效果。优化前预测波动大,优化后预测更稳定。PSO借鉴群体智能,寻找LSTM超参数(如学习率、隐藏层大小)的最优组合,以最小化误差。LSTM通过门控机制处理序列数据。代码显示了模型训练、预测及误差可视化过程。经过优化,模型性能得到改善。
105 6
|
4月前
|
算法 安全 数据挖掘
随机数生成方法及其在Matlab中的应用
随机数生成方法及其在Matlab中的应用
|
5月前
|
机器学习/深度学习 算法
基于蛙跳优化的神经网络数据预测matlab仿真
使用MATLAB2022a,应用蛙跳优化算法(SFLA)调整神经网络权重,提升预测精度,输出预测曲线。神经网络结合输入、隐藏和输出层进行预测,蛙跳算法模仿蛙群觅食行为优化权重和阈值。算法流程包括蛙群初始化、子群划分、局部搜索及适应度更新,直至满足停止条件。优化后的神经网络能提升预测性能。