금융공학

Portfolio Optimization

경희대생 2023. 1. 30. 05:20

이번에는 포트폴리오 최적화 과정에 대해 살펴보겠다. 

 

 

 

 

 

포트폴리오 최적화란 포트폴리오 내 자산들의 비중을 선정하는 것이며, 그 비중들의 합은 1로 정한다. 최적화를 진행하는 이유는 1952년 마코위츠는 소개하기 시작한 분산효과(Diversification Effect)를 위함이다. 

 

 

 

 

 

 

 

 

 

 

 

 

마코위츠가 1952년에 소개한 Mean-Variance Optimization은 위험(risk)와 수익률 (return)간의 관계를 통해 최적화를 진행하는 모델이다. 

 

 

 

 

 

return의 경우 포트폴리오 수익률, risk의 경우 포트폴리오 수익률의 분산으로 정하고, 이에 risk 대비 return이 가장 큰 포트폴리오 자산 비중을 구하게 된다. 이를 우리는 최적화라고 부른다. 

이는 MPT (Modern Portfolio Theory; 현대 포트폴리오 이론)의 기초가 되었다. 

 

 

 

 

 

결국 마코위츠의 Mean-Variance 모델은 Mean-Variance 포트폴리오 최적화 모델을 의미하며, 이는 MPT (Modern Portfolio Theory)로 불린다. 

 

 

 

 

 

 

 

 

 

 

 

마코위츠는 1952, 1959년 두번에 걸쳐 포트폴리오 최적화 모델을 소개했으며, 이는 주식시장에서 수학적으로 포트폴리오 자산배분비중을 처음으로 계산해냈다는 의미가 있다. 마코위츠는 1990년에 노벨상을 수상했다. 

 

 

 

 

 

 

 

 

 

마코위츠의 mean-variance model는 현대 금융시장에 decision making을 하는데 많은 역할을 하였다. 1952년 전과 후로 포트폴리오를 바라보는 관점이 많으 바뀌게 되엇다. 1952년 마코위츠 전에는 저평가된 주식 또는 개별 회사를 보고 투자했다면, 이후에는 risk와 return의 관계를 통해 포트폴리오 최적화를 진행하게 되었다. 

 

 

 

 

 

 

 

 

 

 

분산효과란 포트폴리오 투자 위험을 포트폴리오 자산들의 수익률 분산으로 판단한다. 포트폴리오 위험을 줄일 수 있는 자산비중을 구하며, 이를 포트폴리오 최적화라고 부른다. 포트폴리오 최적화를 통해 투자 위험을 줄이며 이를 다양한 자산에 투자하여 발생하는 분산효과라고 부른다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MVO(Mean-Variance Optimization), CAPM(Capital Asset Pricing Model), APT(Arbitrage Pricing Theory)를 MPT (Modern Portfolio Theory)라고 부르며, 이후 1990년대에 Fama-French Factor Model이 나오게된다.  

 

 

 

 

APT (Arbitrage Pricing Theory; 차익거래 가격 이론)? 

  • 금융에서 차익 거래 가격 이론은 다양한 거시 경제적 위험 변수를 금융 자산 가격과 관련시키는 자산 가격 책정에 대한 다요소 모델
  • 1976년 경제학자 스티븐 로스가 제안한 이 모델은 이전 모델인 자본 자산 가격 책정 모델에 대한 개선된 대안으로 널리 알려짐
  • 차익거래 가격결정 이론(APT)은 자산 또는 포트폴리오의 수익률을 설명하기 위한 자본 자산 가격결정 모델(CAPM)의 대안
  • 단기적으로 가격이 잘못 측정된 경우, 가격은 효율적인 시장가격으로 돌아가며 이때 거래를 통해 차익을 남길 수 있음

 

 

 

 

 

네모칸의 3가지 Asset Pricing Models을 MPT (Modern Portfolio Theory)라고 부르는 것이다. 

 

 

 

 

[MVO]

 

 

 

  • 기본적으로 portfoilio weight의 합은 1로 정하고, n개 종목에 대하여 nx1 matrix로 정한다. 
  • portfolio return의 경우 (Txn) return matrix에 (nx1) weight matrix를 곱하여 구해준다. 
  • 기대수익률의 경우 (Txn) return matrix의 기댓값들과 weight matrix를 곱하여 구한다. 
  • 포트폴리오 분산의 경우, 실제 수익률들의 공분산과 weight matrix를 두번 곱하여 구해준다. 

 

 

 

overview of MVO formulation

 

MVO formulation을 보면, 크게 3가지 case로 나뉜다. 

  1. Min variance 
  2. Min variance + Max expected return 
  3. Max expected return 

[case 1 (Min variance)]

 

  • 첫번째 case는 Variance (Risk)만 minimize하여 최적화를 진행하는 경우이다.
  • portfolio expected return의 경우 특정 수익률 이상으로만 정하게 된다. 
  • 포트폴리오 자산의 비중 합은 1로 정한다. 
  • 특정 수익률 이상의 조건을 빼면 GMVP(Global Minimum Variance Portfolio)를 구하는 최적화 식이 된다. 
  • 공매도는 가정 

 

 

 

공매도제거 

 

 

 

 

 

  • 각 종목별 비중이 양수라는 조건식을 넣어줌으로써, 공매도를 가정하지 않는다.

 

 

 

 

 

Allocation Restrictions

 

 

 

 

 

 

  • 자산배분 restirctions을 추가해줄 수 있다. 
  • 첫번째 case는 각 종목별 weight restirction을 추가해준 경우이다. 

 

 

 

 

 

  • 두번째 경우, 개별 종목이 아닌 특정 종목들의 총 비중합에 대한 제약을 거는 경우이다. 

 

 

 

 

 

 

 

 

회전율

 

 

 

회전율 (Turnover)이란 자산들이 사고/팔리는 주기이다. 

즉 '일정기간'동안 얼마나 많이 자산들이 사고/팔리고를 반복하는지이다. 

 

회전율이 높다는 것은, 일정기간동안 더 많은 거래가 발생한다는 의미이고, 이에 더 높은 거래비용이 발생하게 된다. 높은 거래비용은 더 낮은 기대수익률로 이어지게 된다. 

 

 

 

 

 

 

 

 

 

한화투자증권 자료에 따르면,

거래비용 반영시 회전율이 높을수록 거래비용은 더 커지고, 이에 수익률이 낮아지게 된다. 

 

 

 

 

 

 

 

 

 

회전율에 대한 제약을 줄 시, 두가지 방법이 존재한다. 

먼저는 각각의 자산에 대하여 회전율에 대한 제약을 부여하는 것이다.

 

 

0시점의 i번째 자산의 비중에서 현재 시점의 i번째 자산의 비중의 차이가 특정 거래량보다 작도록 설정하는 방법이다. 

 

 

 

 

 

두번째는 포트폴리오 전체 회전율에 대한 제약이다. 전체 회전율의 합이 특정 거래량보다 작도록 설정하게 된다. 

 

 

 

 

 

Cardinality 

 

 

Cardinality란 전체 행에 대한 특정 컬럼의 중복 수치를 나타내는 지표이다.

 

  • 중복도가 ‘낮으면’ 카디널리티가 ‘높다’고 표현한다.
  • 중복도가 ‘높으면’ 카디널리티가 ‘낮다’고 표현한다.
  • 주민등록번호 같은 경우는 중복되는 값이 없으므로 카디널리티가 높다고 할 수 있다.
  • 이에 비해 이름같은 경우는 ‘주민등록번호에 비해’ 중복되는 값이 많으므로, 이름은 ‘주민등록번호에 비해’ 카디널리티가 낮다고 할 수 있다.

 

 


포트폴리오 투자에서 cardinality는 얼마나 중복되어 투자하는가에 대한 문제이다.

 

즉, 몇개의 자산들에 선택적으로 투자할 것인가에 대한 제약을 거는 것을 의미한다. 

 

너무 많은 수의 자산에 모두 투자할 시 투자효과가 적어지기 때문에, 특정 자산에만 집중하여 투자하는 제약을 걸어주게 된다. 

 

 

 

 

 

 

 

먼저 공매도를 가정하지 않을 때의 cardinality 제약을 보자 

 

k개의 자산에만 투자를 진행하기 위해 k개의 자산의 경우 비중이 0 과1 사이로 나오지만, 

그 외의 자산들의 경우 비중이 0으로 나오게 되어 투자하지 않도록 설정한다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

공매도를 가정할 시, k개에 해당하는 자산의 비중은 -M ~ M 사이로 정해지지만, 그 나머지 자산의 경우 비중이 0으로 정해져 투자를 하지 않도록 설정된다. 

 

 

 

 

 

 

 

 

Cardinality를 위해 위와같이 단순히 종목들을 선택하면, 포트폴리오 내의 주식종목이 많을 시 모델이 복잡해질 수 있다. 

 

이에대한 대안으로 regularization 기법을 적용하게 하게 된다. 

(Lasso, Elastic net, Group Lasso) 

 

 

 

 

 

Cardinality with Lasso (L1 regulation)

 

 

 

 

Cardinality with Elastic net (L1 + L2 regulation)

 

 

Cardinality with Group Lasso 

 

 

 

 

 

 

Risk Factor Constraints 

 

 

 


 

 

[case 2 (Min variance + Max expected return)]

 

case 2번은 risk와 return사이의 trade-off 관계를 이용한 식이다.

 

 

 

첫번재 방법은 risk 부분을 minimize하고 return 부분 빼주는 방법이다. return부분에 risk-seeking coefficient을 곱해주어 risk와 return 부분 사이 trade-off 비중을 구하게 된다. 

 

람다가 높은경우 return부분이 커지고, 이에 return 부분을 덜 줄이고, risk 부분을 더 줄여야 하게 된다. 

 

 

두번째 방법은 return 부분을 maximize하고 risk 부분을 빼주는 방법이다.

 

람다가 높은 경우 risk부분이 커지며, risk부분을 더 줄어야 하게 된다. 

 

 

 

 

 

 

람다에 따라 방어적, 공격적 투자가 결정된다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

람다 (risk aversion)이 높으면 risk를 피하는 성향이 있다는 것이며, 이는 낮은 수익률에도 위험을 회피한다는 것이다. 

 

람다가 낮으면, 높은 수익률을 위해 위험을 감수한다는 것이다. 

 

 

 

 

 

Transaction Cost Regulation 

 

 

 

 

 

  • 최적화에 거래비용(Transaction Costs)에 대한 regulation을 적용할 수 있다.

 

  • cost * 거래량차이를 곱해주어 transaction costs를 구해주게 된다. 

 

  • Maximize return - 람다 * risk 에 transcaction cost를 빼주어 추가적으로 거래비용이 너무 클 시 return이 낮아지는 것을 방지한다.

 

 

 

 

 

 


 

 

 

[case 3 ( Max expected return)]

 

 


 

 

[Volatility 대신 다른 risk를 사용하는 경우]

 

 

 

 

  1. variance를 risk로 측정하는 이유가 있다. variance의 경우 upside/ downside deviation을 모두 잡음 
  2. variance의 확률분포를 통해 variance 분포를 대략 알 수 있다. 
  3. 더 나은 risk가 있는지에 대한 논의가 끊임없이 되어옴  

 

 

Residual (잔차) 과 deviation(편차)

 

 

 

 

 

 

 

 

 

 

 

 

 

Risk Category - 2가지 

  1. Dispersion risk 
  2. Downside risk 

두가지로 나뉜다. 

 

 

 

 

 

[1. Risk Category - Dispersion Risk]

 

 

 

산포도[Measure of Dispersion]

대표값을 중심으로 자료들이 흩어져 있는 정도를 의미

보통 하나의 수치로 표현되며 작을수록 자료들이 대표값에 밀집되어 있고,

클수록 자료들이 대표값을 중심으로 멀리 흩어져 있다.

 

산포도로 측정되는 risk에는 variation, standard deviation, absolute deviation 등이 있다. 

 

 

 

 

 

 

 

 

 

 

 

 

산포도의 경우 positive, negative deviations from the mean을 둘다 '거리'로 동일하게 측정. positive deviations 또한 risky하다고 판단 

 

 

 

  • variance, standard deviation 모두 positive와 negative 방향의 deviation 모두 risky 하다고 판단
  • variance, standard deviation 의 경우 2차방정식 

 

  • absolute deviation (AD) 의 경우도 마찬가지로 positive와 negative 방향의 deviation 모두 risky 하다고 판단
  • 1차방정식이기때문에 더 simple하다는 장점 

 

 

 

 

 

optimization 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[2. Risk Category - Downside Risk]

 

 

 

Downside Risk의 경우 quantile-based risk measures이다. 

 

Dispersion Risk과 달리 Downside Risk는오직 downside (특정 return 아래에 해당하는 return만) 본다. 

가령, VaR, CVaR, Drawdown, LSAD (Lower Semi Absolute Deviation)등이 있다. 

 

 

 

 

Lower Semi Absolute Deviation 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Optimization 

 

 

 

 

 

optimization 관련 작성 코드는 아래에서 확인할 수 있습니다. 

 

https://www.kaggle.com/code/hawonna1997/portfolio-optimization