FSRL(金融戦略強化学習)は、複数の戦略を動的に切り替えることができる最初のオープンソースフレームワークです。🔥
FSRLは強化学習技術を用いて、金融市場で戦略を動的に切り替える可能性を提供します。この進歩により、私たちは多因子モデルの時代から多戦略モデルの時代に突入します。複数の戦略でFSRLを訓練し、モデルが訓練された後、新しいデータをモデルに入力します。モデルは現在のデータに基づいてどの戦略を使用するかを自動的に選択します。
FSRLは、戦略、エージェント、および市場環境の3つの層で構成されています。戦略層は市場環境と対話し、バックテスト中の戦略データを提供し、これに基づいて報酬を与えます。市場環境はエージェント層と対話し、エージェント層に観察データを提供して意思決定を行います。市場環境はエージェントの行動とバックテストデータに基づいて報酬を計算し、エージェント層に報酬を返します。エージェント層は報酬を受け取った後、意思決定を最適化し続け、正のループを形成します。
フレームワーク全体は、algomodel、analysis、backtest、env、config、logger、data、mainlab、strategyのいくつかのモジュールに分かれています。
algomodel:
- 強化学習アルゴリズムモデルを管理し、stable-baselines3、tensorforce、ElegantRL、自己構築のアルゴリズムライブラリなど、さまざまな分野のアルゴリズムを組み込むことができます。現在、SB3のアルゴリズムが実装されています。
- アルゴリズムの選択と特定のアルゴリズムパラメータの設定を許可し、デフォルトパラメータを設定できます。
analysis:
- 既存の戦略を分析する責任があります。現在、元の単一戦略の効果との比較が実装されています。
- 将来的には、視覚化分析などの機能が追加されます。
backtest:
- バックテストフレームワーク。現在、中国とアメリカの株式市場のバックテストが実装されています。将来的には、backtrader、qlib、quanttrader、backtestingなどのサードパーティのバックテストライブラリを統合できます。
- これまでサードパーティを使用していない理由は、戦略との統合のためにすべてがカスタマイズされているためです。ただし、将来的にはバックテストを抽象化することが可能です。
env:
- このモジュールは、RL環境を管理するために使用されます。アクション、評価、観察、および報酬のサブモジュールが含まれており、エージェントの行動を管理し、エージェントの評価指標を計算し、エージェントの観察を管理し、エージェントが受け取る報酬を管理します。
- environment_init.pyを通じて、ユーザーが使用する特定の環境を管理します。
config:
- パラメータはjsonファイルに保存され、このモジュールはjsonファイルのパラメータを読み取ります。
logger:
- ログ設定モジュール。
data:
- 基本的な株式データを取得します。
- 基本データを処理してファクターデータを取得します。
mainlab:
- 実験のトレーニング、ロード、およびテストモデルのエントリーポイント。
strategy:
- 戦略実装モジュール。ここで複数の戦略が実装され、バックテストフレームワークでバックテストに使用されます。
python 3.8を使用
まず、requirements.txt
に記載されているPythonライブラリをインストールします。
pip install -r requirements.txt
その後、ta_libをインストールします。特定の環境に応じて適切なta_libインストールを選択してください。
https://ta-lib.github.io/ta-lib-python/install.html
- configディレクトリでglobal_config.jsonを設定し、主にメール情報やその他の設定を行います。
- Tushare公式サイトでアカウントを登録し、トークンを取得し、configディレクトリのtest_account.jsonでバックテストシステムの手数料率と最低手数料を設定します。
- configディレクトリのtest_mainlab.jsonでデータ、環境、モデルなどを設定します。
- FSRLのトレーニングを開始します。
python -u run.py --task_name=hDJIADQN\
--env_type=train\
--start_time=20101201\
--end_time=20210101
- トレーニングが完了したら、モデルをテストします。
python -u run.py --task_name=hDJIADQN\
--env_type=test\
--start_time=20201201\
--end_time=20230101
llmを使用する
python -u run.py --task_name=h000905llm5Strategy --env_type=llm --start_time=20201201 --end_time=20230101 --proxy=10809
tensorboard --logdir=tensorboard_logs
より多くの人々が参加できることを歓迎します。ありがとうございます!
FSRLをサポートするためのギフトを歓迎します。
ネットワーク: USDT-TRC20
MITライセンス
免責事項:このコードはMIT教育ライセンスの下で学術目的で共有しています。これは財務アドバイスではなく、実際の通貨を取引するための提案でもありません。取引や投資を行う前に常に最善の判断を使用し、必要に応じて専門家に相談してください。