深層強化学習(IMPALA)を用いたシステムトレーディング


はじめに

 近年、人工知能ブームにより、人工知能を使ったトレーディング手法が盛んである。そこで、今回は深層強化学習を用いたシステムトレーディングを実施した。
 まず、基本的な深層強化学習を用いたトレーディングモデルである。agentの行動として、 BUY、HOLD、SELLの三つの内一つを選択する。環境の戻り値として、状態(今現在保有しているポジションの価格、市場価格、手持ちのキャッシュ)、報酬(手持ちのキャッシュの変化値(含む益も含む))、終了(取引の終了か否か)、情報(ターミナルにディスプレイする情報)を返す。

使用データについて

トレンド傾向の掴みやすさから、yahoo financeからGSPCの日足を使用した。

訓練データの期間:2015/1/1 - 2017/6/30
テストデータの期間:2017/7/1 - 2021/1/1

以下ソースコード

IMPALA1

1より、Deepl翻訳を用いると、以下の機能を持っている。

単一のパラメータセットを持つ単一の強化学習エージェントを使用して、大規模なタスクのコレクションを解>決することを目指しています。主な課題は、データ量の増加と学習時間の延長に対応することです。我々は、>新しい分散エージェントIMPALA(Impor-tance Weighted Actor-Learner Architecture)を開発し>た。このエージェントは、単一マシンでの学習においてリソースをより効率的に使用するだけでなく、データ>効率やリソース利用を犠牲にすることなく、数千台のマシンに拡張することができる。このアーキテクチャで>は、アクターと学習を分離し、V-traceと呼ばれる新しいオフポリシー補正法を組み合わせることで、高ス>>>ループットで安定した学習を実現しています。

impalaの利点として以下の点が挙げられる。
・V-traceと言う奇跡の生成確率を考慮した重点サンプリングを利用して、on-policyの生成タイミングのずれを修正している。
・分散学習が効率化した他、複数タスクの同時学習でも成果が出る。

On-PolicyとOff-Policyの違い

データ収集時の方策 μと学習している方策 πが一致している場合は、On-Policyであり、一致していない場合は、Off-Policyである。

代表的なon-policyはTRPO,PPO,A3C
代表的なoff-policyはDDPG,TD3,IMPALA

数式モデル

V-traceターゲット

V_s := V(x_s) + \mathbb 
\sum_{t=s}^{s+n-1} \gamma^{t-s} \biggr(\prod_{i=s}^{t-s} c_i \biggr) \delta_tV

以下の束縛条件がつく。

\delta_tV := \rho_{t}(r_t+ \gamma V(x_{t+1})-V(x_t)) \\
\rho_i = \min(\bar \rho,\frac{\pi(a_i|x_i)}{\mu(a_i|x_i)}) \\
c_i = \min(\bar c, \frac{\pi(a_i|x_i)}{\mu(a_i|x_i)}) \\
\bar \rho \ge \bar c

方策勾配

(V_s - V_\theta(x_s)) \nabla_\theta V_\theta(x_s)

ベースライン勾配

\rho_s \nabla_\omega \log \pi_\omega(a_s|x_s) (
r_s + \gamma \mathcal R^n V(x_{s+1}) - V_\theta(x_s))

エントロピー勾配

また,方策 $\pi_\omega$ が局所解に収束してしまうのを防ぐため,エントロピー損失を加えることも考えられます.

- \nabla_\omega \sum_a \pi_\omega(a|x_s)\log \pi_\omega(a|x_s)

勾配の合計値

勾配の合計値を求める。

勾配の合計 = 方策勾配損失関数 + α ベースライン損失関数 + β エントロピー損失関数

モデル

2を参考に以下のモデルを考案した。

売買ルール

1.空売りは認めない
2.ポジションを持っている場合、追加注文を出せない。
3.最後のステップでポジションを全て売却する。
4.ポジションは全買い、全売り
5.所持金は1000000ドル

実装と結果

ソースコードはこちら

ソースコードはこちら


  1. L. Espeholt and K. Kavukcuoglu, et al. "IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures"(2018) 

  2. W. Lu,J. Li,Y. Li, A. Sun, and J. Wang, 'A CNN-LSTM-Based Model to Forecast Stock Prices', (2020), Hindawi Complexity Volume 2020,p.10