Funkcje celu

Analiza portfela – poziom średniozaawansowany w R

Ross Bennett

Instructor

Funkcje celu

Funkcje celu obliczają wartość celu. W PortfolioAnalytics mogą to być dowolne poprawne funkcje R.

  • Typowe miary ryzyka portfela

    • odchylenie standardowe, oczekiwany niedobór, wartość zagrożona, udział składnika w ryzyku, maksymalny obsunięcie, wskaźnik Sharpe'a
  • Typowe miary wyników względem benchmarku

    • wskaźnik informacyjny, błąd śledzenia, nadwyżka zwrotu, maksymalne względne obsunięcie
Analiza portfela – poziom średniozaawansowany w R

Własne funkcje celu

Funkcje zdefiniowane przez użytkownika jako funkcje celu

  • Nazwy argumentów:

    • R — stopy zwrotu aktywów

    • weights — wagi portfela

    • mu, sigma, m3, m4 — momenty

  • Zwracają pojedynczą wartość

Analiza portfela – poziom średniozaawansowany w R
# Annualized sharpe ratio
sr_annualized <- function(R, weights, sigma, scale, rfr){

    # Geometric annualized return
    r <- Return.annualized(Return.portfolio(R, weights), scale = scale)
    # Annual excess return
    re <- r - rfr

    # Annualized portfolio standard deviation
    pasd <- sqrt(as.numeric(t(weights) %*% 
                 sigma %*% weights)) * sqrt(scale)

    return(re / pasd)
}
Analiza portfela – poziom średniozaawansowany w R
data(edhec)
asset_returns <- edhec[,1:4]

# Setup spec and add constraints port_spec <- portfolio.spec(assets = colnames(asset_returns)) port_spec <- add.constraint(portfolio = port_spec, type = "full_investment") port_spec <- add.constraint(portfolio = port_spec, type = "long_only")
# Add custom objective function port_spec <- add.objective(portfolio = port_spec, type = "return", name = "sr_annualized", arguments = list(scale = 12, rfr = 0.02))
Analiza portfela – poziom średniozaawansowany w R

Czas na ćwiczenia!

Analiza portfela – poziom średniozaawansowany w R

Preparing Video For Download...