금융공학

Asset Dynamics - (0) introduction

경희대생 2022. 10. 31. 05:56

 

 포트폴리오나 개별주식에 대한 성과분석을 하는 방법은 2가지로 나뉜다. 

 

1. Backtest 

2. Simulation 

 

 

 

Backtest의 경우 historical data를 통해 과거성과를 측정하며 포트폴리오 성과측정 시 가장 흔히 사용되는 방법이다. 실제로 다양한 기업들이 고객들에게 고객 자신의 포트폴리오를 임의로 구성하여 backtest로 포트폴리오 성과를 측정하는 서비스를 제공하고 있다. Backtest의 경우 'One-Time Series' 모델로 특정 기간 동안에 하나의 값(또는 그래프)로 나오게 된다. Backtest의 한계는 과거가 그대로 미래에 반복된다는 보장이 없으며, 과거 데이터를 토대로 측정한 성과가 미래에 비슷하게 나올지는 아무도 모른다는 것이다. 

 

이에 대한 대안으로 simulation을 진행할 수 있다. simulation은 'Multi-Time Seires'로 자산 또는 포트폴리오의 t1, t2, t3 ... T시점의 주가를 예상하는 것이다. 즉, 하나의 senario (historical data)만으로 과거 성과를 측정하는 backtest와 달리 무수히 많은 Senario들을 임의로 구성하여 개별 자산 또는 포트폴리오의 가능한 senario들의 성과를 측정하게 된다.

 

historical data를 통해 직접 performance를 측정하는 backtest 기법과 다르게, Senario 모델에서는 historical data의 return distribution을 통해 senario 모델링에 사용할 뿐, 실제 backtest 데이터를 performance evaluation에 사용하지 않는다. 가령 GBM의 경우 historical data의 log return 의 expected return (V) 과 standard deviation (σ)을 구하고 이를 통해 향후 time series log return의 trend에 V 가중치 부여, Error에 σ 가중치를 부여하여 modeling을 하는 식으로 진행한다. 이렇게 형성된 T time series개의 log return 값들은 총 n개 시나리오만큼 나오게 된다. 

 

1번째 시나리오 : T개의 log return들 -> E(log returns), σ(log returns)

2번째 시나리오 : T개의 log return들 -> E(log returns), σ(log returns)

3번째 시나리오 : T개의 log return들 -> E(log returns), σ(log returns)

4번째 시나리오 : T개의 log return들 -> E(log returns), σ(log returns)

5번째 시나리오 : T개의 log return들 -> E(log returns), σ(log returns)

6번째 시나리오 : T개의 log return들 -> E(log returns), σ(log returns)

.

.

.

..

n번째 시나리오 : T개의 log return들 -> E(log returns), σ(log returns)

 

 

 

이렇게 나온 각 Senario별 log returns들의 expected return과 standard deviation을 통해 

 

1. distribution 파악

2. percentile 파악 (상위10%, 중위50%, 하위10%의 critical point or mean value)

3. performance evaluation (E(expected log return), σ(expected log return), Tracking Error, Sharpe ratio, Information ratio, MDD, VaR, CVaR 등)

 

을 진행해봄으로써, 하나의 senario만을 보는 backtest와 달리 가능한 다양한 senario들을 통한 성과분석을 진행할 수 있다. 

 

 

 

또한 log return을 통해 underlying asset들의 future price senario들을 그려볼 수도 있다. 

.ex) GBM 모델 

 

historical time에 대한 evaluation을 진행하는 backtest와 달리, senario는 underlying asset 의 future expected price 들 (P(t=1) ~ P(T=T)을 예측하게 된다. 

 

 

 

 

보통 underlying asset의 current price ( S(0)) 은 historical data의 마지막 price로 두며, 이후 T개의 time series로 구성된  future expected price 들을 생성하게 된다. 이는 파생상품 시장의 call/put option forward price (F(T))와 비교되며, 다양한 senario를 통하여 call/put option 진입 여부를 결정하는 방식으로 사용되기도 한다. 

 

여기서도 마찬가지로, call/ put을 행사한 경우와 행사하지 않은 경우로 나누어 performance를 측정할 수 있다. 

 

가령 10000개의 Senario들의 상위 10%, 하위 10%, 중위 50%의 price 나 return을 예상하던지, 수익률 표준편차를 비교 분석할 수 있다. 이로써 과거 데이터들이 미래에 그대로 적용될지 모른다는 backtest의 한계점을 다양한 가능성이 있는 senario들을 구성하여 극복한 model이 simulation이다. 

 

 

 

 

 

이러한 simulation의 기반이 되는 모델이 Asset Dynamics이다. Asset Dynamics는 개별 자산에 대한 여러 개의 time series들의 주가 또는 수익률을 예상하게 된다. 이는 Underlying Asset의 현재 가격 S(T0)을 통해 T시점 선도가격 F(T)를 예상하며 향후 Senario model을 통해 예측된 Underlying Asset의 T시점 예측가격 S(T)와의 비교를 통해 파생시장에서 short 또는 long position에 대한 예상 performance를 구해볼 수 있다. 

가령 call option 시장의 F(T) = 105, S(0) = 100이라고 가정할 시, 시나리오 결과 S(T)의 가격의 105이하인 경우 call option 행사를 하지 않을 것이고, 105이상인 경우 call option 행사를 함으로써 얻을 수 있는 수익률 및 performance들의 distribution을 봄으로써 option시장의 진입 여부를 결정할 수 있다. 

 

아래의 링크에서 제가 직접 작성한 코드를 확인하실 수 있습니다. 

Asset Dynamics, GBM with return | Kaggle