본문 바로가기

BITS

[Reinforcement Learning in Finance] Portfolio Model

Portfolio Model

- simple한 포트폴리오 모델

- N 개의 주식이 시간 t에 시장가격이 벡터 $P_t$로 구성되어 있는 시장

- 위의 주식에 직접적으로 투자하거나 또는 risk-free interest rate r_f가 있는 risk-free bank cash account에 자산을 그냥 두는것도 가능 ($B_t$ 로 그양을 지정)

- 벡터 $x_t \in R^N$ 로 각 주식에 대한 포지션에 대한 dollar 금액으로 표시하고, $X_{it} < 0$ 인경우는 short position을 가지고 있다는 의미

- 보유하고 있는 주식의 양은 $X_t$를 $P_t$로 나누고 정수로 반올림하여 확인

- step T가 시작됐을때 발생한 거래의 경우 $u_t \in R^N$로 표시

- 거래 직후의 portfolio vector $x_t^+ $ 는 deterministic하다. 

$X_t^+ = X_t + U_t$

- Trading 에 거래 비용이나 market impact와 같은 비용이 발생한다. 

- Portfolio의 전체 가치인 $V_t$ 는 전체 보유 주식을 뜻하는 $X_t$ 와 현금 보유량을 뜻하는 $b_t$를 의미한다. 

$V_t = 1^T x_t + b_t$

- Post-trade portfolio는

$V_t^+ = 1^T x_t + b_t^+ = 1^T(x_t+u_t) + b_t^+$

$= v_t + 1^T u_t + b_t^+ - b_t$


Self-financing Condition

모든 stock position은 bank cash account 에서 finance된다고 가정하며, 이는 self-financing constraing의 제약을 만든다.

$1^Tu_t + B_t^+ - b_t = 0$

- 이는 포트폴리오의 가치가 트레이드 이후 즉시 변하지 않는다는것 (단순하게 현금이 주식으로 바뀐상황임) 을 의미한다.

$v_t^+ = v_t$ 


One-period Investment

- 다음 period가 올때까지 portfolio $v_t^+$ 와 현금은 해당 포트폴리오에 투자가 된다.

- period t동안 asset i 의 수익 (return)은 

$(r_t)_i = \frac{(p_{t+1})_i - (p_t)_i}{(p_t)_i}, i = 1, ... , n$

- 다음 period에서의 asset position (현재 period의 종료와 동일함) 은 

$x_{t+1} = x_t^+ + r_t \odot x_t^+$

- $\odot$은 element-wise(Hadamard) Product를 의미하고, $r_t \in R^n$ 은 period t 부터 t+1까지 asset return에 대한 vector를 의미한다. 


Asset Returns Model

- 1번의 excess asset return model 을 위해 linear specification을 사용한다.

$r_t - r_f1 = W_tz_t - M_t^Tu_t + \epsilon_t $

- $r_t$ 와 $r_f$의 차이는 vector predictors인 $z_t$의 와 step T가 시작됐을때 발생한 거래의 경우의 vector인 $u_t$를 특정 가중치 (weights)로 combination으로 만든것.  

- 즉, 

$z_t$ 는 vector of predictors

$W_t$는 factor loading matrix (weights)

$M_t$는 matrix of permanent market impacts

with in a linear impact specification

$\epsilon_t$ 는 vector of residuals with (평균이 0, variance가 sigma인 나머지를 뜻하는 벡터)

$E[\epsilon_t] = 0, Var_t[\epsilon_t] = \sum_t$

 을 의미한다. 


The Next-period Portfolio

- 다음 period의 portfolio value는

$v_{t+1} = 1^Tx_{t+1} = (1+r_t)^Tx_t^+$

$ = (1+r_t)^T(x_t+u_t)$

- risk-free growth $r_f$에 따른 포트폴리오 가치의 변화

$\Delta v_t \equiv v_{t+1} - (1+r_f)v_t$

$=(1+r_t)^T(x_t+u_t)+(1+r_f)b_t^+ - (1+r_f)1^Tx_t - (1+r_f)b_t$

$=(r_r-r_f1)^T(x_t+u_t)$ 


Terminal Conditions

- index/benchmark tracking문제에서 Boundary conditions: $x_T = x_T^B (S&P500처럼 time t에 x_T^B가 benchmark portfolio를 의미한다. )

- 마지막 action u_T 를 고정한다. 

$u_T = x_T^M - x_{T-1}$

- 마지막 단계에서 $u_T$는 deterministic하기 때문에, 이전의 action인 u_{T-1}, ..., u_0에 적용되는 T처럼 action optimization의 대상이 아니다.

- 추가적으로 optimal investment portfolio에는 $x_T$에 zero terminal conditions을 부과 (모든 stock position은 time t에 현금으로 거래된다) 

- optimal portfolio liquidation 문제에서도 마찬가지로 $x_T$에 zero terminal conditions을 부과 (모든 stock position은 time t에 현금으로 거래된다) 


Initial Conditions

문제에 따라 달라질수 있는데, 

- optimal stock execution: initial value of a block of stock

- optimal portfolio liquidation: initial stock portfolio

- optimal portfolio management: initial cash $b_0$ 또는 initial portfolio $x_0$

- index tracking:  initial cash $b_0$ 또는 initial portfolio $x_0$

를 설정해야한다. 


QUIZ: Select all correct answers:

1. Possible initial conditions for the dynamic portfolio management problem: initial cash b0, or initial portfolio x0.

2. For optimal portfolio execution, an initial condition should be cash b0, while a terminal condition should be a fixed portfolio xT .

3. For optimal portfolio execution, an initial condition should be an initial portfolio x0, while a terminal condition should be cash bT .

4. Access return is quadratic in signals zT and actions ut.

5. Access return is linear in signals zT and actions ut.



Answer: 1, 3, 5