Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何为投资组合编写头寸调整函数_R_Portfolio_Quantitative Finance_Performanceanalytics - Fatal编程技术网

R 如何为投资组合编写头寸调整函数

R 如何为投资组合编写头寸调整函数,r,portfolio,quantitative-finance,performanceanalytics,R,Portfolio,Quantitative Finance,Performanceanalytics,我正在尝试编写一个函数,用于对资产组合应用头寸规模分析,但我仍停留在R中的一些基本编码上。一项资产的基本设置用于确定投资组合的百分比分配是一个简单的比率: 资产/资产波动性的固定风险% 使用多个资产是很棘手的,因为总分配百分比不能超过100%。这是我到目前为止所掌握的,但我不知道如何巧妙地处理代码,使其在整个投资组合环境中有意义。有什么建议吗?提前谢谢 # start by downloading 2 assets library(tseries) library(TTR) library(qu

我正在尝试编写一个函数,用于对资产组合应用头寸规模分析,但我仍停留在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%,同时在每个资产的单个头寸规模计算中保留分配建议的任何建议?再次感谢

你能澄清一下尺码规则吗?e、 g.w/西格玛?然后将权重重新缩放为1?作为一种可能性,假设在这种情况下,每个资产的最大权重为50%。如果总权重小于100%,则剩余部分为现金:例如,SHV。根据spy.pos.size和agg.pos.size数据,在滚动基础上计算重量。
> max(port.pos.size)
[1] 1.131178