はじめに
強化学習において、報酬設計はエージェントの学習プロセスと行動選択に大きな影響を与えます。今回の記事では、株価予測システムにおける報酬設計の戦略について詳しく見ていきます。
実は当初は単純に日経225をロング、またはショートした日は単純にその日の値幅が報酬=ペナルティとなるような設計にしていました。その結果常に「何もしない」を選択してしまうエージェントが出来てしまったので以下のように手を桑てみました。
報酬設計の理由
-
株価の動きに基づく報酬: ロングとショートの両方の行動に対して、株価の変動を基に報酬を与えます。これにより、エージェントは市場の動向を正確に予測することで報酬を最大化することを学習します。これはもとから実装していた報酬設計です。日経225をロングした日は終値ー始値、ショートした日は始値ー終値が報酬になります。
- 大きな値動きに対する追加報酬: 1.5%以上の大きな値動きがあった場合、追加報酬を与えることで、エージェントが大きな市場の動きを捉えることを奨励します。前回の記事でも触れましたが今回のメトリクスとしてリスクリワード比を導入しています。損小利大はトレードの基本かと思うので入れてみました!
-
連続的な利益に対する追加報酬: 連勝することで追加報酬を得られるように設計されており、一貫したパフォーマンスを奨励します。
-
「何もしない」行動に対するペナルティ: インフレ率を考慮して、「何もしない」という行動に対してペナルティを設定し、エージェントが積極的な行動を取るように促します。実際に何もしないで資金を寝かせておくのは資産価値が目減りしていくことになるのでインフレ率を7%(高い!)と設定し、「何もしない」場合には報酬が減っていくように設計してみました。
まとめ
報酬設計は、エージェントの学習目標と行動選択に直接影響を与える重要な要素です。ここはいろいろと考える必要がありますよね!ご自身のトレードスタイルを報酬設計に取り入れてみてもいいかもしれませんね!
今回のコードはこちらです。どうぞお使いください!