2 votos

Sharpe Ratio de ETF en R

Supongamos que quiero calcular la relación de Sharpe dada una tasa libre de riesgo de 0.05 para una cartera que consta de activos de 500 ETF. ¿Cómo puedo hacerlo en R dados los datos que he recopilado hasta ahora en mi código R? Lo siguiente es parte de mi código:

 #To extract ETF-prices for each column
prices <- data.frame(ETF=ETF,row.names = dates) 
head(prices)
# Function for calculating continous returns & log returns
returnscalc <- function(x){
  diff(x)/x[-length(x)]
}
returns <- apply(prices, 2, returnscalc)
head(returns)
# Function for calculating geometric mean
geomAveCalc <- function(x){
  (prod((1+x)))^(1/length(x))-1
}

weeklymean <- apply(returns, 2, geomAveCalc)
yearlymean <- matrix((1+weeklymean)^52-1)
yearlystd <-  sqrt (52 * apply(returns, 2, var))
yearlycov <- 52 * cov(returns)
 

donde ETF son los datos extraídos del archivo .csv que contiene los datos de ETF.

Alguna ayuda será muy apreciada.

5voto

pbu Puntos 197

tratar:

 library(PerformanceAnalytics)
SharpeRatio.annualized(Returns, Rf = 0.05, scale = 252, geometric = TRUE)
 

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X