共计 2546 个字符,预计需要花费 7 分钟才能阅读完成。
原文链接: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 仿真优化市场危险
正文完