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 研究がいかにしてコンピューター生成ポルノに変わったのか?

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

...

エンジニアリングだけではありません!人間の認知バイアスが原因の AI 研究における 12 の盲点

[[255272]]ビッグデータダイジェスト制作編集者: ゴウ・シャオバイ、チャン・チウユエ、アイリ...

医療における人工知能:医師よりも正確

[[339138]]新しい医療用人工知能システムは、医師と同じように患者を診察することができます。画...

1996年生まれの美女が劉強東の豚顔認識選手権で優勝し、賞金30万元を獲得した。

[[213872]]レポーターハト先ほど、JDD-2017 JD Finance Global D...

面接官はガベージコレクションアルゴリズムについて質問するのが大好きです

[[438235]]この記事はWeChatの公開アカウント「Programmer Bus」から転載し...

機械学習: Python でベイズ分類器をゼロから実装する

ナイーブ ベイズ アルゴリズムはシンプルで効率的であり、分類問題を扱う際に最初に検討すべき方法の 1...

「AI+教育」の試行錯誤に誰がお金を払うのか?

「AI+教育」の導入は簡単? 2016年はAI(人工知能)元年と言われています。この年、Alpha...

インテリジェントオートメーション: ロボティックプロセスオートメーションの未来

RPA は、データ入力やその他の単純作業を効率化することで、さまざまな業界の組織のビジネス プロセス...

...

ネイチャー長文記事:AIのブラックボックスを破るための「長期戦」

2020年2月、COVID-19が世界中で急速に広がり、抗原検査の入手が困難になったため、一部の医...

オックスフォード大学の科学人気記事、数分でわかる「機械学習とは何か」

[[389147]]人間は経験を通して学び、成長する能力を持っている学習能力と経験を通じてタスクを...

...

アリババ、1秒でフェイクニュースを暴く「AI噂クラッシャー」を正式リリース

[[261230]]エイプリルフールは私たちにとってただ楽しい日です。親にとって、ネット上の噂は日々...