본문 바로가기
Trading/Portfolio opt

포트폴리오 최적화; Black-letterman

by bents 2021. 1. 26.

MPT ; mean-variance portfolio = mean / variance

 

MPT의 문제점

1. 모든 자산의 수익률분포는 정규분포라고 가정한다.

2. 특정자산에 비중이 집중된 포트폴리오가 만들어질 수있다.

3. 자산의 수익률, 변동성과 자산간 상관성이 변하지 않는다고 가정한다.

4. input value에 따라 자산비중weights이 민감하게 변한다.

not robust to market changes, highly sensitive and hence prove to be bad estimators of true market parameters.

 

Bayesian approach

 

-목적: stable/slowly changing suggested asset weightings when faced with changing input values.

-필수개념: CAPM, reverse optimisation, mixed estimation, the “universal hedge ratio”/global CAPM , mean-variance optimisation

-방법: Bayesian theory to combine historical market data (prior) with additional investor views (likelihood) to generate a posterior estimate of expected returns and covariance in sync with an investor’s intuitions.

 

1) prior distribution of market return (multivariate)
*자산 수익률이 아닌 균형 수익률을 사용한다.

 

𝜏 = (0.005, 0.01), Σ = covariance of returns,         𝜋 =  Implied Excess Equilibrium Returns,

 

 

 

2) likelihood : investor’s distribution of the returns
*특정 자산에 대한 (예상)절대수익률 또는 시장 수익률 대비 (예상)상대수익률을 P와 Q로 분해하여 담음.

  • 𝑄  = a vector of means that contains specific values denoting the portfolio views
          ; shape = the number of views (K) x 1 
  • 𝑃  = a picking matrix. denoting which assets in our portfolio are involved in the views. 
  • Ω = a diagonal matrix quantifying the variance(errors) in the investor’s views. 

 

 

 

3) posterior Market Distribution

 

 

Example

앞서 말했듯 "Robust"한 포트폴리오를 만드는게 목적이다. 기존 Mean-Variance portfolio는 역사적 수익률과 변동성에 취약하기 때문에 weights의 차이가 Black-litterman 모형보다 눈에 띄게 크거나 작다. 시장상황에 따라 크게 변동함을 유추할 수 있다.

 

 

View 1: ‘Emerging Markets’ will have an absolute excess return of 9.25%

View 2: US Large Cap Growth and US Small Cap Growth will outperform US Large Cap Value and US Small Cap Value by 0.5% 

View 3: ‘Intl Developed ex-US Market’ will have an absolute excess return of 5.5% 

 

!pip install mlfinlab
# !pip install portfoliolab==0.1.0 # 2021년 Feb부터 mlfinlab에서 따로 떼어냄

from mlfinlab.portfolio_optimization.bayesian import VanillaBlackLitterman

excess_asset_returns = asset_returns.subtract(treasury_rate, axis=0)
cov = excess_asset_returns.cov()
market_return = excess_asset_returns.mean().multiply(asset_weights['weight'].values).sum()
market_var = np.matmul(asset_weights.values.flatten().T,
                                       np.matmul(cov.values, asset_weights.values.flatten()))
risk_aversion = market_return / market_var
tau = 0.025

views = [0.0925, 0.005, 0.055]

pick_list = [
        {"Emerging Markets": 1.0},
    
        {"US Large Cap Growth": 0.85,
         "US Large Cap Value": -0.85,
         "US Small Cap Growth": 0.15,
         "US Small Cap Value": -0.15},
    
    {"Intl Developed ex-US Market": 1.0}]
    
bl = VanillaBlackLitterman()
bl.allocate(covariance=cov,
            market_capitalised_weights=asset_weights,
            investor_views=views,
            pick_list=pick_list,
            asset_names=cov.columns,
            tau=tau,
            risk_aversion=risk_aversion)
            
weights_df = bl.weights.T * 100
weights_df.columns = ['BL_opt']
weights_df.style.format('{:,.2f}%')            

* library : portfoliolab

 


CAPM ( Capital Asset Pricing 모델 ) market portfolio

expected return = risk free rate + beta * excess market return

  • excess market return = market return - risk free rate
  • beta = correlation between market and asset 

typical quadratic utility for portfolio optimisation

  • 𝜋 = the vector of implied excess equilibrium weights

 

utility function of market portfolio
Differentiating utility function of market portfolio wrt W
reverse optimisation

 

 

 

Source

- Stuart. J , pythonforfinance

- hudson-and-thames-portfoliolab.readthedocs-hosted.com/en/latest/bayesian/black_litterman.html

 

Black-Litterman Model — portfoliolab 0.0.0 documentation

In this section, we will go over a quick overview of the different steps of BL algorithm. Calculating the Prior: Implied Excess Equilibrium Returns The first step is to start by formulating the prior distribution of returns for our Bayesian BL model. Becau

hudson-and-thames-portfoliolab.readthedocs-hosted.com