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

原文出处:拓端数据部落公众号

之前我们在关于投资组合优化相关的内容中已经看到了Markowitz的理论,其中给出了预期收益和协方差矩阵

> pzoo = zoo ( StockIndex , order.by = rownames ( StockIndex ) )
> rzoo = ( pzoo / lag ( pzoo , k = -1) - 1 ) * 100
> ans <- do.call ( method , list ( x = x , ... ) ) + return ( getCov ( ans ) )} > covmat=Moments(as.matrix(rzoo),"CovClassic")
> (covmat=round(covmat,1))
SP500 N225 FTSE100 CAC40 GDAX HSI
SP500   17.8 12.7 13.8 17.8 19.5 18.9
N225    12.7 36.6 10.8 15.0 16.2 16.7
FTSE100 13.8 10.8 17.3 18.8 19.4 19.1
CAC40   17.8 15.0 18.8 30.9 29.9 22.8
GDAX    19.5 16.2 19.4 29.9 38.0 26.1
HSI     18.9 16.7 19.1 22.8 26.1 58.1

现在,我们可以可视化下面的有效边界(和可接受的投资组合)

> points(sqrt(diag(covmat)),er,pch=19,col="blue")
> text(sqrt(diag(covmat)),er,names(er),pos=4, col="blue",cex=.6)
> polygon(u,v,border=NA,col=rgb(0,0,1,.3))

实际上很难在该图上将重要的东西可视化:收益之间的相关性。它不是点(单变量,具有预期收益和标准差),而是有效边界。例如,这是我们的相关矩阵

SP500 N225 FTSE100 CAC40 GDAX HSI
SP500   1.00 0.50 0.79 0.76 0.75 0.59
N225    0.50 1.00 0.43 0.45 0.43 0.36
FTSE100 0.79 0.43 1.00 0.81 0.76 0.60
CAC40   0.76 0.45 0.81 1.00 0.87 0.54
GDAX    0.75 0.43 0.76 0.87 1.00 0.56
HSI     0.59 0.36 0.60 0.54 0.56 1.00

我们实际上可以更改FT500和FTSE100之间的相关性(此处为.786)

courbe=function(r=.786){ef
plot(ef$sd,ef$er,type="l",xlab="Standard Deviation",ylab="Expected Return",
points(sqrt(diag(covmat)),er,pch=19,col=c("blue","red")[c(2,1,2,1,1,1)])polygon(u,v,border=NA,col=rgb(0,0,1,.3))
}

例如,相关系数为0.6,我们得到以下有效边界

> courbe(.6)

并具有更强的相关性

> courbe(.9)

很明显,相关性很重要。但更重要的是,期望收益和协方差不是给出而是估计的。以前,我们确实将标准估计量用于方差矩阵。但是可以考虑使用另一个更可靠的估计器

covmat=Moments(as.matrix(rzoo),"CovSde")points(sqrt(diag(covmat)),er,pch=19,col="blue")
text(sqrt(diag(covmat)),er,names(er),pos=4,col="blue",cex=.6)
polygon(u,v,border=NA,col=rgb(0,0,1,.3))

它确实影响了点的(水平)位置,因为方差现在以及有效边界都不同,而方差明显更低。

为了说明最后一点,说明我们确实有基于观察到的收益的估计量,如果我们观察到不同的收益怎么办?了解可能发生的情况的一种方法是使用引导程序,例如每日收益。

> plot(ef$sd,ef$er,type="l",xlab="Standard Deviation",ylab="Expected Return", xlim=c(3.5,11),ylim=c(0,2.5),col="white",lwd=1.5)
> polygon(u,v,border=NA,col=rgb(0,0,1,.3))
> for(i in 1:100){
+
+
+ er=apply(as.matrix(rzoo)[id,],2,mean)
+ points(sqrt(diag(covmat))[k],er[k],cex=.5)
+ }

或其他资产

这是我们在(估计的)有效边界上得到的

> polygon(u,v,border=NA,col=rgb(0,0,1,.3))
> for(i in 1:100){
+
+
+
+ ef <- efficient.frontier(er, covmat, alpha.min=-2.5, alpha.max=2.5, nport=50)
+ lines(ef$sd,ef$er,col="red")
+ }

因此,至少在统计学的角度上,要评估一个投资组合是否最优是很困难的。


参考文献

1.用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)的应用

2.R语言GARCH-DCC模型和DCC(MVT)建模估计

3.R语言实现 Copula 算法建模依赖性案例分析报告

4.R语言使用ARIMA模型预测股票收益

5.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

6.用R语言实现神经网络预测股票实例

7.r语言预测波动率的实现:ARCH模型与HAR-RV模型

8.R语言如何做马尔科夫转换模型markov switching model

拓端tecdat|R语言Markowitz马克维茨投资组合理论分析和可视化相关推荐

  1. R语言Markowitz马克维茨投资组合理论分析和可视化

    最近我们被客户要求撰写关于投资组合理论的研究报告,包括一些图形和统计输出. 之前我们在关于投资组合优化相关的内容中已经看到了Markowitz的理论,其中给出了预期收益和协方差矩阵 > pzoo ...

  2. R语言与马克维茨资产组合理论学习笔记(fportfolio包简介)

    说到投资学里著名的马克维茨资产方差组合的想法,来自于我们通常所说的"不要把鸡蛋放在一个篮子里".事实也确实如此,在一个有效市场上,单纯投资一只股票或风险债券的收益风险比值是要大于一 ...

  3. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  4. 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测

    最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...

  5. 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...

  6. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

  7. R语言绘制二维密度图

    R语言绘制二维密度图 二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示.二维密度图有几种类型,以下主要 ...

  8. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  9. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  10. r语言与多维统计_Kaukatcr:多维空间语言设计的实验

    r语言与多维统计 与Project Xanadu™[1]相关的各种项目之一是ZigZag™,ZigZag™是一种组织器系统或思维导图工具,围绕着称为ZZStructures的扭曲多维空间构建. 从一开 ...

最新文章

  1. (011) java后台开发之泛型类
  2. 计算机虚拟化技术论文,【计算机网络论文】虚拟技术计算机网络论文(共1775字)...
  3. 《浙江省推动数据中心能效提升行动方案(2021-2025年)》出炉
  4. 001_汽车之家,新浪和360之间的交流
  5. 数字滤波器(六)--设计FIR滤波器
  6. ssh协议是osi_你见过这份864页神仙级的TCP/IP协议吗?,太香了!
  7. 可能是阿里云学生成长计划续费资格考试最全的答案资料
  8. Windows Servers2019没有无线网卡驱动
  9. 线性表的常见操作实现
  10. 一幅漫画趣味解读 Linux 内核
  11. 购物车的简单添加与计算
  12. 微博基于 Flink 的机器学习实践
  13. iTextSharp 显示中文字体
  14. 网站克隆工具-httrack安装使用教程
  15. 有监督学习和无监督学习的异同
  16. Data Whale第20期组队学习 Pandas学习—文本数据
  17. 高等数学笔记-乐经良老师-第五章-积分(Ⅱ)-定积分的应用-第六节-定积分的应用
  18. html语言计算圆周长和面积,c# 根据半径计算圆的面积和周长
  19. 马尔代夫为世界十大热恋天堂之一
  20. 应该手动抛出什么异常?RuntimeException?

热门文章

  1. 網站滲透測試實務入門--工具清單
  2. Linux文件系统Ext2,Ext3,Ext4性能大比拼
  3. 【课本】【No.3】随机向量定义、联合分布函数、边缘分布、统计特征的分布函数的差分,独立性、离散型条件分布列,连续型分布函数与密度函数、随机向量的函数分布
  4. /usr/include/pcap/pcap.h源码
  5. TensorFlow读取自己数据集的几个小方法
  6. 服务容错保护Hystrix
  7. 阿里影业“灯塔平台”今日正式启动,阿里影视云解决方案强势推出
  8. 6、ES6的let和const
  9. JSP+JavaBean+Servlet+Oracle新增功能中对Date类型的字段的处理
  10. 学习笔记 : 表达式目录树相关问题参照该demo expression拼接与拆解 expression转sql...