koos808

Deep Reinforcement Learning for Automated Stock Trading: An Ensemble Strategy 논문 리뷰 본문

논문/금융 관련 논문

Deep Reinforcement Learning for Automated Stock Trading: An Ensemble Strategy 논문 리뷰

koos808 2020. 12. 15. 14:20
728x90
반응형

2020/12/15 - [논문/금융 관련 논문] - Practical Deep Reinforcement Learning Approach for Stock Trading 논문 리뷰

 

이전 글에서 좀 더 연구가 진행된 논문입니다. 이 논문은 2020년에 나왔으며 역시나 Columbia University에서 연구했습니다. 기존에 DDPG를 단일로 사용하는게 아니라 앙상블로 여러 RL 모델을 사용했습니다.

 

※ 1. Abstract

-We train a deep reinforcement learning agent and obtain an ensemble trading strategy using three actor-critic based algorithms: Proximal Policy Optimization (PPO), Advantage Actor Critic (A2C), and Deep Deterministic Policy Gradient (DDPG).

-

-We test our algorithms on the 30 Dow Jones stocks that have adequate liquidity. The performance of the trading agent with different reinforcement learning algorithms is evaluated and compared with both the Dow Jones Industrial Average index and the traditional min-variance portfolio allocation strategy.

-

-The proposed deep ensemble strategy is shown to outperform the three individual algorithms and two baselines in terms of the risk-adjusted return measured by the Sharpe ratio.

 

추가적으로 준비한 논문은 매우 간단하게 핵심만 설명드리겠습니다.

 

심층 강화 학습 에이전트를 훈련하고 3 가지 actor-critic 기반 알고리즘, PPO (Proximal Policy Optimization), A2C (Advantage Actor Critic) DDPG (Deep Deterministic Policy Gradient)를 사용하여 앙상블 거래 전략을 얻습니다.


※ 2. Ensemble Strategy

 

※ The ensemble process

Step 1) We use a growing window of n months to retrain our three agents concurrently. In this paper we retrain our three agents at every three months.

 

Step 2) We validate all three agents by using a 3-month validation rolling window after training window to pick the best performing agent with the highest Sharpe ratio. We also adjust risk-aversion by using turbulence index in our validation stage.

 

Step 3) After the best agent is picked, we use it to predict and trade for the next quarter.

 

앙상블을 사용한 이유는 트레이딩 전략을 굉장히 robust하게 만드는 게 목적이었기 때문이라고 합니다.

따라서 앙상블 전략을 사용하여 Sharpe ratio에 따라서 거래 할 PPO, A2C, DDPG 중에서 가장 우수한 에이전트를 자동으로 선택합니다.

 

1 단계. 3명의 에이전트를 동시에 retrain하기 위해서 n개월의 증가하는 windows를 사용합니다. 여기서는 3개월마다 세 명의 에이전트를 retrain했습니다.

 

2 단계. 가장 높은 Sharpe ratio를 가진 최고 성능의 에이전트를 선택하기 위해 학습 기간 후 3개월 검증 rolling 윈도우를 사용하여 세 에이전트를 모두 검증합니다.

 

여기서 r_p expected 포트폴리오 수익이고, r_f risk free rate, σ_p(시그마)는 포트폴리오 표준 편차입니다. 또한 검증 단계에서 turbulence index를 사용하여 risk-aversion을 조정한다고 했습니다.


* We also adjust risk-aversion by using turbulence index in our validation stage.

 

Risk-aversion for market crash(시장 붕괴에 대한 위험 회피)에 대해서 좀 더 자세히 살펴보겠습니다.

 

전쟁, 주식 시장 거품 붕괴, 국채 채무 불이행, 금융 위기와 같이 주식 시장 붕괴를 유발할 수 있는 갑작스런 사건이 있습니다.

2008 년 글로벌 금융 위기와 같은 최악의 시나리오에서 위험을 제어하기 위해 극심한 자산 가격 변동을 측정하는 turbulence index t를 사용합니다.

 

수식에서 보시는 y_t는 현재 기간 t의 주식 수익률을 나타내고, µ()는 과거 수익률의 평균을 나타냅니다.

그리고 Σ(시그마)historical 수익률의 covariance를 나타냅니다.

 

turbulence t가 극단적인 시장 상황을 나타내는 threshold보다 높으면 매수를 중단하고 거래 에이전트는 모든 주식을 매도합니다. turbulence indexthreshold 아래로 돌아오면 거래를 재개합니다.

 


* Turbulence index turbulence t is incorporated with the reward function to address our risk-aversion for market crash.

 

 

turbulence index를 계산하면 이것을 어떻게 적용하나 궁금하실 텐데 아래와 같이 적용됩니다.

 

우선, 여기서 r_H, r_S r_B는 각각 time t에서 t+1로 이동하는 주식 홀딩, sell, buy로 인한 포트폴리오 가치의 변화를 나타냅니다.

 

(6)은 다음 단계에서 가격이 상승 할 주식을 매수 및 보유하여 포트폴리오 가치의 양의 변화를 극대화하고 다음 단계에서 가격이 하락할 주식을 매도하여 포트폴리오 가치의 음의 변화를 최소화해야 함을 나타냅니다.

 

turbulence index t는 시장 붕괴에 대한 risk-aversion을 해결하기 위해 reward function과 통합했습니다.

 

만약에 (3)의 인덱스가 threshold를 초과하면 식 (8)은 식(10)을 사용하게 됩니다.

 

(10)은 모든 주가가 하락할 것이기 때문에 모든 보유 주식을 매각하여 포트폴리오 가치의 부정적인 변화를 최소화하고자 함을 나타냅니다.


※ Step 3. After the best agent is picked, we use it to predict and trade for the next quarter.

 

3 단계. 최고의 에이전트가 선택되면, 이를 사용하여 다음 분기를 예측하고 거래합니다.

이렇게 선택한 이유는 각 거래 에이전트가 서로 다른 유형의 추세에 민감하기 때문이라고 합니다.

한 에이전트는 강세 추세에서는 잘 작동하지만 약세 추세에서는 좋지 않았다고 합니다.

 

또 다른 에이전트는 변동이 심한 시장에 더 잘 적응합니다. 에이전트의 Sharpe ratio이 높을수록 투자 위험에 비해 수익이 더 많아졌습니다.

 

즉 이 논문에서는 증가하는 위험에 맞춰 수익을 극대화 할 수 있는 거래 agent을 선택합니다.


※ 3. Memory Management

 

사실 이 PPO, A2C, DDPG를 사용하면 메모리 문제가 발생할 수 있는데 이 부분도 설명이 되어있습니다.

 

우선 학습을 위한 메모리 소비는 주식 수, 데이터 유형, state space feature, 신경망의 레이어 및 뉴런 수, 배치 크기에 따라 기하급수적으로 증가 할 수 있습니다.

 

이 논문에서는 메모리 요구 사항 문제를 해결하기 위해 필요시 로드하는 기술을 사용합니다.

 

그림 3에서 볼 수 있듯이 load-on-demand technique은 모든 결과를 메모리에 저장하는 것이 아니라 필요에 따라 생성합니다.

 

결과가 요청 될 때만 메모리가 사용되므로 메모리 사용량이 줄일 수 있었다고 합니다.


※ 4. Experiment

마지막으로 실험결과를 보면 각 분기별로 선택한 모델들과 각 분기별 샤프 ratio를 확인할 수 있습니다.

 

에이전트의 성능을 실험을 통해 확인할 수 있는데요. 2와 그림 5에서 A2C 에이전트가 risk에 더 잘 적응하는 것을 확인할 수 있습니다.

 

세 에이전트 중 가장 낮은 연간 변동성 10.4 % 및 최대 손실 10.2 %를 가집니다.

 

따라서 A2C는 약세 시장을 잘 처리합니다.

 

PPO 에이전트는 추세를 잘 따르고 더 많은 수익을 창출하는 데 잘 작동하며 강세장에 직면 할 때 PPO가 선호됩니다.

 

 

 

 


728x90
반응형
Comments