R로 배우는 중급 포트폴리오 분석
Ross Bennett
Instructor
PortfolioAnalytics의 일반적 포트폴리오 최적화 워크플로:
포트폴리오 사양
제약조건과 목표 추가
최적화 실행
결과 분석
portfolio.spec(assets = NULL, ...)
# 자산의 문자형 벡터
portfolio.spec(assets = c("SP00", "DJIA", "Nasdaq", "FTSE100", "DAX", "CAC40"))
# 초기 가중치가 있는 자산의 이름 벡터
initial_weights <- c("SP500" = 0.5, "FTSE100" = 0.3, "NIKKEI" = 0.2)
portfolio.spec(assets = initial_weights)
# 자산 개수의 스칼라
portfolio.spec(assets = 4)
add.constraint(portfolio,
type = c("weight_sum", "box", "full_investment",...),
...)
# 포트폴리오 사양 초기화
p <- portfolio.spec(assets = 4)
# 전액 투자 제약 추가
p <- add.constraint(portfolio = p, type = "weight_sum",
min_sum = 1, max_sum = 1)
# 박스 제약 추가
p <- add.constraint(portfolio = p, type = "box",
min = 0.2, max = 0.6)
add.objective(portfolio,
type = c("return", "risk", ...),
name,
arguments = NULL,
... )
# 포트폴리오 사양 초기화
p <- portfolio.spec(assets = 4)
# 평균 수익 목표 추가
p <- add.objective(portfolio = p, type = "return",name = "mean")
# 기대손실(ES) 위험 목표 추가
p <- add.objective(portfolio = p, type = "risk", name = "ES",
arguments = list(p= 0.9, method = "gaussian")
R로 배우는 중급 포트폴리오 분석