최적화 실행

R로 배우는 중급 포트폴리오 분석

Ross Bennett

Instructor

단일 기간 최적화

  • optimize.portfolio()로 단일 기간 최적화

  • optimize.portfolio.rebalancing()로 정기 리밸런싱 최적화(백테스트)

R로 배우는 중급 포트폴리오 분석

단일 기간 최적화

optimize.portfolio(R, portfolio = NULL,
                   optimize_method = c("DEoptim", "random", "ROI", ...), 
                   search_size = 20000, trace = TRUE,        
                   momentFUN = "set.portfolio.moments",
                   ...)
optimize.portfolio.rebalancing(R, portfolio = NULL, 
                               optimize_method = c("DEoptim", "random", "ROI", ...),
                               search_size = 20000, trace = TRUE,
                               rebalance_on = "quarters",
                               training_period,
                               rolling_window, 
                               momentFUN = "set.portfolio.moments",
                               ...)
R로 배우는 중급 포트폴리오 분석

최적화 방법

다음 최적화 방법을 지원합니다:

전역 탐색기:

  • DEoptim: 차분 진화 최적화

  • random: 무작위 포트폴리오 최적화

  • GenSA: 일반화된 담금질 기법

  • pso: 입자 군집 최적화

LP 및 QP 해결기:

  • ROI: 선형·이차 계획법용 R Optimization Infrastructure
R로 배우는 중급 포트폴리오 분석
data(edhec)
ret <- edhec[,1:6]

# Portfolio p <- portfolio.spec(assets = colnames(ret)) p <- add.constraint(portfolio = p, type = "full_investment") p <- add.constraint(portfolio = p, type = "long_only") p <- add.objective(portfolio = p, type = "risk", name = "StdDev")
# Optimizations opt_single <- optimize.portfolio(R = ret, portfolio = p, optimize_method = "ROI")
opt_rebal <- optimize.portfolio.rebalancing(R = ret, portfolio = p, optimize_method = "ROI", rebalance_on = "years", training_period = 60, rolling_window = 60)
R로 배우는 중급 포트폴리오 분석

연습해 봅시다!

R로 배우는 중급 포트폴리오 분석

Preparing Video For Download...