Gym Anytradingに基づく強化学習の簡単な例

Gym Anytradingに基づく強化学習の簡単な例

強化学習 (RL) は近年、アルゴリズム取引の分野で大きな注目を集めています。強化学習アルゴリズムは経験から学習し、報酬に基づいてアクションを最適化するため、取引ロボットに適しています。この記事では、Gym Anytrading 環境と GME (GameStop Corp.) 取引データセットを使用して、強化学習ベースの取引ロボットを構築する方法について簡単に紹介します。

強化学習は機械学習のサブフィールドであり、エージェントが特定の目標を達成するために環境と対話することを学習します。エージェントは環境内でアクションを実行し、報酬という形でフィードバックを受け取り、時間の経過とともに累積報酬を最大化するように学習します。エージェントの目標は、状態をアクションにマッピングし、可能な限り最良の結果をもたらす最適なポリシーを見つけることです。

ジム エニトレーディング

Gym Anytrading は、OpenAI Gym 上に構築されたオープンソース ライブラリであり、さまざまな金融取引環境を提供します。これにより、さまざまな取引シナリオをシミュレートし、RL アルゴリズムを使用してさまざまな取引戦略をテストできます。

依存関係をインストールする

使用される主なライブラリは、TensorFlow、stable-baselines3、Gym Anytrading です。必要な依存関係をインストールするには、次のコードを実行します。

 !pip install tensorflow !pip install stable_baselines3 !pip install gym !pip install gym-anytrading !pip install tensorflow-gpu

ライブラリのインポート

必要なライブラリをインポートし、環境を設定して開始します。

 # Gym stuff import gym import gym_anytrading # Stable baselines - RL stuff from stable_baselines3.common.vec_env import DummyVecEnv from stable_baselines3 import A2C # Processing libraries import numpy as np import pandas as pd from matplotlib import pyplot as plt

GME取引データの読み込み

例として、GameStop Corp. (GME) の過去の取引データを使用します。 GME 取引データが CSV 形式で保存されていることを前提としています。保存されていない場合は、検索エンジンでダウンロード アドレスを見つけることができます。

GME 取引データをロードし、Gym Anytrading 環境を準備します。

 # Load GME trading data df = pd.read_csv('gmedata.csv') # Convert data to datetime type df['Date'] = pd.to_datetime(df['Date']) df.dtypes # Set Date as the index df.set_index('Date', inplace=True) df.head()

ジムを通じた取引環境の構築

次のステップは、Gym Anytrading を使用して取引環境を作成することです。環境は GME 取引データを表し、エージェントは株式の購入、売却、保有などのアクションを実行して環境と対話します。

 # Create the environment env = gym.make('stocks-v0', df=df, frame_bound=(5, 100), window_size=5) # View environment features env.signal_features # View environment prices env.prices

環境を探索する

RL モデルの構築に進む前に、環境を視覚化してその特性を理解すると役立ちます。

 # Explore the environment env.action_space state = env.reset() while True: action = env.action_space.sample() n_state, reward, done, info = env.step(action) if done: print("info", info) break plt.figure(figsize=(15, 6)) plt.cla() env.render_all() plt.show()

このグラフには、GME 取引データの一部と、Gym Anytrading 環境によって生成された売買シグナルが表示されます。


強化学習モデルの構築

stable-baselines3 ライブラリを使用して RL モデルを構築します。 A2C(Advantage Actor-Critic)アルゴリズムを使用します

# Creating our dummy vectorizing environment env_maker = lambda: gym.make('stocks-v0', df=df, frame_bound=(5, 100), window_size=5) env = DummyVecEnv([env_maker]) # Initializing and training the A2C model model = A2C('MlpPolicy', env, verbose=1) model.learn(total_timesteps=1000000)

モデルの評価

モデルをトレーニングした後、GME 取引データのさまざまな部分でそのパフォーマンスを評価できます。

 # Create a new environment for evaluation env = gym.make('stocks-v0', df=df, frame_bound=(90, 110), window_size=5) obs = env.reset() while True: obs = obs[np.newaxis, ...] action, _states = model.predict(obs) obs, rewards, done, info = env.step(action) if done: print("info", info) break plt.figure(figsize=(15, 6)) plt.cla() env.render_all() plt.show()

要約する

この投稿では、Gym Anytrading 環境と stable-baselines3 ライブラリを使用して、強化学習ベースの取引ロボットを構築する方法を紹介しました。この記事は単なる出発点にすぎません。成功するトレーディング ロボットを構築するには、さまざまな要素を慎重に検討し、継続的に改善する必要があります。


<<:  持続可能なAI: イノベーションと環境責任のバランス

>>:  Appleは、来年の製品発売を目標に、独自の大規模モデルフレームワークをベースにしたApple GPTを秘密裏に開発していると噂されている。

ブログ    
ブログ    
ブログ    

推薦する

AIが無人車両群を指揮、中国が世界最大の3Dプリント建物を建設

サウスチャイナ・モーニング・ポストとインサイダー誌が報じたところによると、中国はチベット高原のダム建...

...

自動車ドメインコントローラの統合アーキテクチャの背景、利点、設計を1つの記事で理解する

車両の電動化が徐々に進むにつれ、電子制御ユニット(ECU)が車全体を制御するようになりました。アンチ...

ドローンが上海の歴史的建造物の保護を主導

[[418446]]上海のピースホテルはかつて「極東第一のビル」として知られていました。1929年に...

CMU と ETH が画期的な成果を達成: 敏捷性が最大限に高められたロボット犬は、スピードと安全性を兼ね備え、超高速で障害物を乗り越えることができます。

高速ロボット動作の分野では、速度と安全性の両立が常に大きな課題となっています。しかし今、カーネギーメ...

...

Google が「シャンプー」という 2 次最適化アルゴリズムを提案、Transformer のトレーニング時間を 40% 削減

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

...

ディープラーニングにおける多体問題の解決方法

「多体問題」(N 体問題とも呼ばれる)は単純に見えますが、実際には今日の数学で解決するのが非常に難し...

ビッグデータアルゴリズムとアプリケーションシナリオパート1: 統計と分布

アルゴリズムはビッグデータの最も価値のある部分です。ビッグデータマイニングとは、大量、不完全、ノイズ...

自動運転車向けエッジAIコンピューティングの可能性

自動運転はエッジコンピューティングの重要な応用分野です。自動運転には100~1000TOPSのエッジ...

ニューラルネットワークをシンボリックAIに活用し、MITとIBMが共同でディープラーニングの問題点を解決

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

...