반응형
(6) 제약 조건이 있는 포트폴리오 최적화
- 라그랑주 미정 승수법을 사용하여 구한 효율적 프론티어 → '비현실적!'
- 포트폴리오 최적화 문제 → 제약이 있는 최적화 문제
- 수리 계획법 (Mathematical Programming)
- 선형 계획법 (Linear Programming, LP)
- 이차 계획법 (Quadratic Programming, QP)
- R을 사용한 효율적 포트폴리오 계산
- quadprog 패키지를 사용하여 최적화 수행
제약 조건이 있을 때의 포트폴리오 구성
- 공매도 제약 등이 있을 경우, 라그랑주 미정 승수법을 사용하여 최적 포트폴리오를 구할 수 없습니다.
- 대신 제약 조건을 만족하는 해(=실행 가능 해, feasible solution)를 찾아야 합니다.
- 예제: Grinold & Kahn (1999), Table 14.1
- 벤치마크: MMI Index
- 제약 조건: 공매도 금지, 각 자산의 비중이 벤치마크 비중 +5.0% 이하
예제: TOPIX Core30
- TOPIX Core30을 유니버스로 설정했을 때, 제약이 없는(unconstrained) 문제와 상하한 제약이 있는(constrained) 문제의 최적 해의 차이
- 여기서의 알파는 과거 5년 수익률에 기반한 젠센 알파입니다.
- 공매도 금지, 벤치마크 비중 +5.0% 이하
금융을 위한 수리 계획법
- **알고리즘**
- 선형 계획법을 위한 심플렉스 방법
- 이차 계획법을 위한 유효 제약 방법 등
- **배경 지식, 수렴성, 정리 등**을 포함하면, 기초 과목까지 포함하여 여러 과목이 필요합니다. → 공학부의 학습 대상
- 자동차 엔진의 작동 원리를 모르거나 설계를 할 수 없어도, 자동차 "운전"은 가능합니다!
- → R을 사용하여 제약 조건이 있는 포트폴리오 최적화만을 수행하는 것에 집중합니다.
R을 사용한 제약 조건이 있는 최적화
- 기여 패키지의 도입 필요
- 선형 계획 문제 (Linear Programming, LP)
- 목적 함수와 제약 조건 모두 선형 함수
→ 패키지 'linprog' - 'linprog'를 설치하면 동시에 패키지 'lpSolve'도 설치됩니다.
'lpSolve'는 R에서 C 언어 코드를 호출하므로, 이를 사용하는 것이 더 빠릅니다.
- 목적 함수와 제약 조건 모두 선형 함수
- 이차 계획 문제 (Quadratic Programming, QP)
- 목적 함수는 이차 함수이며, 제약 조건은 선형 등식과 선형 부등식입니다.
→ 패키지 'quadprog' - 패키지 'quadprog'는 하방 리스크 모델, 투자 스타일 분석 등에서도 사용되므로, 사용 방법을 잘 숙지해야 합니다. (사용 함수명은 `solve.QP`)
- 목적 함수는 이차 함수이며, 제약 조건은 선형 등식과 선형 부등식입니다.
선형 계획 문제
- 인덱스 펀드, 틸트 펀드의 구축.
- 패키지 linprog를 설치하면 함수 solveLP를 사용할 수 있습니다.
- 대상이 되는 최적화 문제는 다음과 같은 형식입니다.
- 그 외의 문제에 대해서는 이 타입이 되도록 변형이 필요합니다.
예: 기대 리턴 최대화
- 제약 조건을 만족하는 포트폴리오 중에서, 기대 리턴이 최대가 되는 포트폴리오를 찾습니다.
- 제약 조건: 공매도 금지 + 보유 비율 상한
R에서 `solveLP` 함수의 사용 예
- 샘플 프로그램:
- 이 옵션을 사용하면 실제로는 `lpSolve` 패키지 내의 알고리즘이 사용됩니다.
-> 이는 C 언어로 작성되어 있어 더 빠르게 실행됩니다.
- 이 옵션을 사용하면 실제로는 `lpSolve` 패키지 내의 알고리즘이 사용됩니다.
이차 계획 문제
- 평균-분산형 포트폴리오 최적화 문제 전반
- 패키지 'quadprog'를 설치하면 함수 `solve.QP`를 사용할 수 있게 됩니다.
제약 조건이 있는 포트폴리오 최적화 (1)
- 제약 조건이 있는 최적화 문제 (Constrained Optimization Problem)
제약 조건이 있는 포트폴리오 최적화 (2)
- 프로그램별:
포트폴리오 프론티어
- 프로그램 예제:
포트폴리오 프론티어의 그래프
- 기본적으로 이전과 동일하게 구분 선형으로 그래프를 그립니다.
응용 예: 효율적 프론티어
- 포트폴리오 프론티어가 아니라 효율적 프론티어(=최소 분산 포트폴리오보다 위쪽)를 그래프로 그리세요.
이때, 최소 분산 포트폴리오를 먼저 이차 계획 문제를 해결하여 정확히 구해야 합니다. - 포함 비율 상한 제약을 10%, 8%, 6%로 설정했을 때, 상한 제약이 효율적 프론티어에 어떻게 영향을 미치는지 확인하고 싶습니다.
따라서 한 그래프에 3개의 효율적 프론티어를 동시에 그리세요.
TOPIX Core30을 유니버스로 설정한 경우의 예제
투자 제약 조건 하에서의 효율적 프론티어: 스크립트 예제
결과에 대한 코멘트도 한줄 정도
어느정도로 설정하는게 좋은지
3~6줄 정도 코멘트
10개 정도 자산으로
반응형
'WBS - 2024 Fall > 포트폴리오 매니지먼트' 카테고리의 다른 글
(논문2) 주식과 채권 수익률의 공통 위험 요인 | 유진 F. 파마와 케네스 R. 프렌치 (0) | 2024.12.09 |
---|---|
(PF Mgmt #9) (9) 일반화된 모멘트 방법 (0) | 2024.12.06 |
(PF Mgmt #8) (8) Fama-MacBeth형 회귀 분석 (0) | 2024.11.29 |
(PF Mgmt #7) (7) 포트폴리오 방법을 이용한 정보 분석 (0) | 2024.11.22 |
(PF Mgmt #5) (5) 평균-분산 모델의 수리 (0) | 2024.11.08 |
(논문1) 기대 주식 수익률의 횡단면 유진 F. 파마와 케네스 R. 프렌치 | The Cross-Section of Expected StockReturns EUGENE F. FAMA and KENNETH R. FRENCH (0) | 2024.10.28 |
(PF Mgmt #4) (4) 시계열 데이터와 데이터베이스 접근 (0) | 2024.10.25 |
(PF Mgmt #3) (3) R의 기초 - 그 두 번째 (0) | 2024.10.21 |