原文链接: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))

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) 

应用均匀输出假设会产生更好的后果。

我想应该留神的次要观点是:防止自觉应用优化。相同,您应该使解决方案更具备稳健性。


最受欢迎的见解

1.用机器学习辨认一直变动的股市情况—隐马尔科夫模型(HMM)的利用的利用")

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

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

4.R语言COPULAS和金融工夫序列数据VaR剖析

5.R语言多元COPULA GARCH 模型工夫序列预测

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

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

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

9.matlab应用Copula仿真优化市场危险