본문 바로가기

BITS

[Reinforcement Learning in Finance] Intro to RL for Stock Trading

Reinforcement Learning for Stock Trading

- 주식 포트폴리오의 dynamic optimization을 통한 주식거래

- Single stock case: optimal execution

- Portfolio problems: optimal investment portfolio, optimal portfolio liquidation, index tracking

- one step reward에 cost of trade와 risk penalties를 포함해야한다.

- stock position을 state variable로 포함해야한다.

- feedback loop 를 market impact로 적용해야한다.

- High-dimensional problem, Big Dta problem(for HFT tasks)이 발생할 수 있다.


Optimal Execution: Single-Stock Case

Task: 주어진 1개의 회사 N의 주식에 대하여 time T 동안에 minimal cost로 sell 하거나 buy 한다.

- Agency(broker) problem 이 발생한다. (직접 거래하는 trader들포함)

- 분당 거래를 기준

- 하루에 수백 수천건의 거래 발생

- 대량 주문의 경우, 작은 거래로 나눠서 (smaller chuncks) 실행하여 거래로 부터 발생할수 있는 market impact를 최소화한다.

- 결국 feedback loop 로 dynamic optimization problem으로 합산된다.

- market order vs. limit orders: market 주문의 경우, 시장에서 이득을 볼수 있는 가격으로 거래하는 방식을 뜻하며, limit order의 경우 미리 결정된 가격으로 거래를 하는것을 의미한다. (꼭 해당 가격으로만 거래가 되는것은 아니다)

- High-dimensional problem, Big Dta problem(for HFT tasks)이 발생할 수 있다.


Optimal Execution: Optimal Portfolio Liquidation

Task: N개의 서로다른 주식에 대하여 time T 동안에 minimal cost로 sell 한다.

- Agency(broker) problem 이 발생한다. (직접 거래하는 trader들포함)

- 분당/시간당/일당 거래를 기준

- single-stock case와 마찬가지로, 대량 주문의 경우, 작은 거래로 나눠서 (smaller chuncks) 실행하여 거래로 부터 발생할수 있는 market impact를 최소화한다.

- 결국 feedback loop 로 dynamic portfolio optimization problem으로 합산된다.

- market order vs. limit orders: market 주문의 경우, 시장에서 이득을 볼수 있는 가격으로 거래하는 방식을 뜻하며, limit order의 경우 미리 결정된 가격으로 거래를 하는것을 의미한다. (꼭 해당 가격으로만 거래가 되는것은 아니다)

- High-dimensional problem, Big Dta problem(for HFT tasks)이 발생할 수 있다.


Optimal Execution: Optimal Investment Portfolio 

Task: N개의 서로다른 주식에 대하여 time T 동안에 minimal cost로 manage(Buy or sell) 한다.

- An investor (trader) problem이 발생한다. 

- Objective: time T에 risk adjusted and cost adjusted portfolio return의 최대를 위한 dynamic portfolio allocation의 최적화 

- 일당/주당/월당/연당 거래를 기준

- macro-variables (macro economic factor) 이나 long-term forecast와 같은 이전과는 다른 predictors가 포함되어야 한다. 

- Non-dynamic, one-step case: Markowitz portfolio model

- High-dimensional problem, Big Dta problem(for HFT tasks)이 발생할 수 있다.


Index Tracking

Task:더 작은 규모의 서로 다른 주식들의 portfolio로 구성되어있는 S&P 500 index와 같은 market index를 time T동안에 최소 비용으로 최적화/추적

- An investor (trader) problem이 발생한다. 

- 주당/ 월당/ 지속적인 거래 (ETF 의 경우) 를 기준

- Objective: S&P와 같은 지수에 직접적으로 투자를 할수는 없기 때문에 SPY와 같은 ETF를 track하게 되면, market에 지수로 투자하는 것이 된다. 

- 'Custom" index tracking problem: 인덱스의 terminal condition T와 같은 형태로 Dynamic portfolio optimization를 할수 있다.

- High-dimensional problem, Big Dta problem(for HFT tasks)이 발생할 수 있다.



위와 같은 문제들은 High Dimensional Stochastic Optimal Control (SOC)의 문제들이다. 
이에 대해 강화학습을 적용하고, 각 문제들이 high dimensional problem이기 때문에, state space를 discretize하지 않는다. 
Convex (quadratic) Objective function을 사용한다. 


QUIZ: Select all correct answers:

1. Typical times for portfolio optimization problems: minutes or hours for portfolio liquidation, months or years for dynamic portfolio management.

2. The feedback loop (market impact) amounts to the fact that the market prices have an impact on trades.

3. Typical times for portfolio optimization problems: minutes or hours for dynamic portfolio or index tracking problems.

4. The feedback loop (market impact) amounts to the fact that large trades can impact market prices.

Answer: 1,4