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

动量和马科维茨投资组合模型使 均值方差优化 组合成为可行的解决方案。通过建议并测试:

  • 增加最大权重限制

  • 增加目标波动率约束

来控制 均值方差最优化的解。

下面,我将查看8个资产的结果:

首先,让我们加载所有历史数据

#*****************************************************************
# 加载历史数据  #*****************************************************************  load.packages('quantmod')  # 加载保存的原始数据
#
load('raw.Rdata')  getSymbols.extra(N8.tickers, src = 'yahoo', from = '1970-01-01', env = data, raw.data =   for(i in data$symbolnames) data[[i]] = adjustOHLC(data[[i]]

接下来,让我们测试函数

#*****************************************************************
# 运行测试,每月数据
#*****************************************************************  plot(scale.one(data$prices))


点击标题查阅往期内容

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

左右滑动查看更多

01

02

03

04

prices = data$prices  plotransition(res[[1]]['2013::'])

接下来,让我们创建一个基准并设置用于所有测试。

#*****************************************************************
# 建立基准
#*****************************************************************
models = list()   commission = list(cps = 0.01, fixed = 10.0, percentage = 0.0)  data$weight[] = NA  model = brun(data, clean.signal=T,

接下来,让我们获取权重,并使用它们来进行回测

#*****************************************************************
#  转换为模型结果
#*****************************************************************
CLA = list(weight = res[[1]], ret = res[[2]], equity = cumprod(1 + res[[2]]), type = "weight")  obj = list(weights = list(CLA = res[[1]]), period.ends

我们可以复制相同的结果

#*****************************************************************
#进行复制
#*****************************************************************
weight.limit = data.frame(last(pric
obj = portfoli(data$prices,   periodicity = 'months', lookback.len = 12, silent=T,   const.ub = weight.limit,urns,1) + colSums(last(hist.returns,3)) +   colSums(last(hist.returns,6)) + colSums(last(hist.returns,12))) / 22  ia  },  min.risk.fns = list(  )

另一个想法是使用Pierre Chretien的平均输入假设

#*****************************************************************
# 让我们使用Pierre的平均输入假设
#*****************************************************************
obj = portfolio(data$prices,   periodicity = 'months', lookback.len = 12, si  create.ia.fn =  create.(c(1,3,6,12), 0),  min.risk.fns = list(  TRISK.AVG = target.risk.portfolio(target.r  )

最后,我们准备看一下结果

#*****************************************************************
#进行回测
#*****************************************************************  plotb(models, plotX = T, log = 'y', Left

layout(1)
barplot(sapply(models, turnover, data)

使用平均输入假设会产生更好的结果。

我想应该注意的主要观点是:避免盲目使用优化。相反,您应该使解决方案更具有稳健性。


本文摘选R语言动量和马科维茨Markowitz投资组合(Portfolio)模型实现,点击“阅读原文”获取全文完整资料。


点击标题查阅往期内容

Python风险价值计算投资组合VaR、期望损失ES

极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析

Fama French (FF) 三因子模型和CAPM模型分析股票市场投资组合风险/收益可视化

R语言Fama-French三因子模型实际应用:优化投资组合

R语言动量和马科维茨Markowitz投资组合(Portfolio)模型实现

Python计算股票投资组合的风险价值(VaR)

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

R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口

Python基于粒子群优化的投资组合优化研究

多均线趋势策略玩转股票投资

主成分分析(PCA)原理及R语言实现及分析实例

偏最小二乘回归(PLSR)和主成分回归(PCR)

R语言高维数据的主成分pca、 t-SNE算法降维与可视化分析案例报告

使用Python和Keras进行主成分分析、神经网络构建图像重建

R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化

欲获取全文文件,请点击左下角“阅读原文”。

欲获取全文文件,请点击左下角“阅读原文”。

动量和马科维茨Markowitz投资组合(Portfolio)模型实现相关推荐

  1. R语言动量和马科维茨Markowitz投资组合(Portfolio)模型实现

    最近我们被客户要求撰写关于投资组合的研究报告,包括一些图形和统计输出. 动量和马科维茨投资组合模型使 均值方差优化 组合成为可行的解决方案.通过建议并测试: 增加最大权重限制 增加目标波动率约束 来控 ...

  2. 利用python构建马科维茨_R语言动量和马科维茨Markowitz投资组合(Portfolio)模型实现...

    动量和马科维茨投资组合模型使 均值方差优化 组合成为可行的解决方案.通过建议并测试: 增加最大权重限制 增加目标波动率约束 下面,我将查看8个资产的结果: 首先,让我们加载所有历史数据 #****** ...

  3. 数量金融学(3):Markowitz均值-方差模型

    上个世纪50年代(1952年),Markowitz发表一篇论文,标志着证券投资组合理论的正式诞生. 简单来说,Markowitz投资组合模型是根据每种证券的预期收益率.方差及证券之间的协方差矩阵,计算 ...

  4. 金融数量分析2:Markowitz均值方差模型

    博客原址:http://blog.sina.com.cn/s/blog_6afc560001017xuy.html Portfolio在金融投资理论中占有非常重要的地位,Markowitz根据每一种证 ...

  5. 数量金融学(8):Markowitz均值-方差模型(2)

    之前写过一篇.那个时候不是很懂-- Review:数量金融学(3):Markowitz均值-方差模型 现在重新整理一下. 第一部分,生成各个资产组合的风险-收益特征. 先上效果图. 再上代码. # - ...

  6. 【量化笔记】Markowitz均值-方差模型

    Markowitz均值-方差模型是一种确定在N种资产上投资比例的模型 假定现在投资人初始财富W0W_0W0​,在N种资产上的投资比重分别为w1,w2,w3,...,wNw_1,w_2,w_3,..., ...

  7. 投资组合 有效边界的求解 matlab,Markowitz投资组合有效边界的实现——基于Matlab的实例分析...

    在Markowitz投资组合中,是用n种资产来构建的投资组合,为了简单起见,我用了5只股票,其实道理是一样的. 首先说说数据选取: 5只港股,中国电信.中国平安.中国石油.中国银行和中信证券,是从20 ...

  8. Python--【研究】如何用python实现Markowitz投资组合优化

    来源:https://zhuanlan.zhihu.com/p/20604930?refer=quantstory 多股票策略回测时常常遇到问题. 仓位如何分配? 你以为基金经理都是一拍脑袋就等分仓位 ...

  9. 马科维茨的均值方差模型(MPT)粒子群优化--Python实现

    MPT MPT, modern portfolio theory.现在资产配置理论. 理论很简单. 假设每个资产的收益率是一个随机变量xix_ixi​.既然是随机变量,当然就会有均值和标准差. 如果资 ...

最新文章

  1. jsf 传参数_在JSF 2中对定制验证器进行参数化
  2. 学会使用 GDB 调试 Go 代码
  3. petshop学习笔记(1)
  4. 修改Win7的默认文件夹排列方式
  5. java 实际参数列表_JAVA实际参数和形式参数列表长度不同
  6. 在QT中使用映美精双目相机保存图片
  7. 邮件服务器软件选择,3款windows下的免费邮件服务器软件
  8. 序列相似性比较与同源性分析
  9. word文档误删怎么恢复
  10. 程序员如何用高逼格科学把妹法则
  11. Excel催化剂开源第35波-图片压缩及自动旋转等处理
  12. c语言海报,竞选海报 c语言
  13. 基于SSM + MySQL的服饰服装购物平台系统的设计与实现源码+论文+包安装配置+讲解视频
  14. 犹他大学计算机图形学硕士专业,犹他大学专业设置.doc
  15. linux的PXE批量高效自动装机
  16. 物联网技术(基本概述说明)
  17. 字节也开始缩招了...
  18. 期货投资交易为什么要分批建仓?
  19. 使用再生龙制作linux系统镜像及还原
  20. 政府怎么应用视频直播系统?

热门文章

  1. java中date如何获取月份_Java:从Date获取月份整数
  2. 树莓派 arduino 电池供电方案(适用包括STM32 CC 系列所有单片机)
  3. 如何删除服务器的文件,服务器上有顽固文件!如何删除?
  4. 从量变到质变,新华三不求最大但求最强
  5. 杂项-绘图工具:思维导图
  6. 机器“读懂”放射学报告
  7. NVMe Over Fabrics架构概述
  8. 有些人光是活着就已经是拼尽全力了
  9. 找个程序员做男朋友好难啊
  10. 啊哈哈哈哈 C#按日期生成文件夹,并在文件夹中写入文件