如何编写投资组合的头寸规模函数

时间:2015-02-26 22:15:10

标签: r portfolio quantitative-finance performanceanalytics

我正在尝试编写一个对资产组合应用位置大小分析的函数,并且我坚持使用R中的一些基本编码。一个资产的基本设置来确定%投资组合的分配是一个简单的比例:

固定风险%资产/资产的波动

多个资产很棘手,因为总分配百分比不能超过100%。这是我到目前为止所拥有的,但我无法弄清楚如何精确地编写代码,以便在整个投资组合环境中有意义。有什么建议?提前谢谢!

# start by downloading 2 assets
library(tseries)
library(TTR)
library(quantmod)
library(PerformanceAnalytics)

symbols = c("SPY","AGG")
getSymbols(symbols, src='yahoo', from='2003-12-31')
spy <-Ad(SPY)
agg <-Ad(AGG)

# calculate daily % return and rolling 100-day volatility (std dev)
spy.ret <-na.omit(ROC(spy,1,"discrete"))
agg.ret <-na.omit(ROC(agg,1,"discrete"))

# calculate annualized volatility 
spy.sd <-na.omit(rollapplyr(spy.ret,100,sd))*sqrt(252)
agg.sd <-na.omit(rollapplyr(agg.ret,100,sd))*sqrt(252)

# calculate position size (as %) for each asset with fixed 2% risk factor
# to determine fraction of the account size
spy.pos.size <-.02/spy.sd
agg.pos.size <-.02/agg.sd

# combine position size data and
# sum for aggregate portfolio allocation
spy.agg.pos.size <-cbind(spy.pos.size,agg.pos.size)
port.pos.size <-apply(spy.agg.pos.size,1,sum)

检查最大分配总数:显示%超过100%(即1.0)

> max(port.pos.size)
[1] 1.131178

有关如何将总分配保持在/低于100%的任何建议,同时在每项资产的个别职位规模计算中保留分配建议?再次感谢!!!

0 个答案:

没有答案