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によるIoT革命:なぜ両者が完璧に適合するのか

モノのインターネットは、私たちの生活様式を変えるのと同様に、学習方法も変えています。 AI の専門家...

...

AI専門家が警告:GPT-3は素晴らしいが透明性に欠ける

[[342733]]アルゴリズムに人間のように書かせることは、人工知能研究機関 OpenAI が長年...

携帯電話のAI分析で貧困削減を狙う:バークレーの研究がネイチャー誌に掲載

COVID-19パンデミックは多くの低・中所得国に壊滅的な打撃を与え、食糧不安の拡大と生活水準の急激...

ハイブリッドAIは企業がデータの価値を掘り出すための好ましい方法である

人工知能については、誰もがよくご存知だと思います。実際、人工知能には幅広い知識が含まれており、さまざ...

人工知能は医師に完全に取って代わることはできない

今後数年間で、初めて医療用人工知能 (AI) システムとやり取りすることになるかもしれません。自動運...

転移学習の限界を突破せよ! Googleが新しいNLPモデル「T5」を提案、複数のベンチマークでSOTAに到達

[[316154]]過去数年間、転移学習は NLP 分野に実りある成果をもたらし、新たな発展の波を...

人工知能の役割がクローズアップ!ロボットが増えると雇用に影響が出るでしょうか?

短期的には、人工知能が雇用全体に与える影響は比較的軽微であり、構造的影響が量的影響を上回っている。し...

...

プログラム分析を通じてニューラルネットワーク プログラムのバックドアを見つける方法

1 ニューラルネットワークにはさまざまな問題がある従来のプログラムには、よく知られたエラー、抜け穴、...

...

シンプルでスマートなアプローチ: Python による顔認識

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

企業は生成AIのオープンソース化のリスクとメリットを検討

EmTech MIT では、専門家が、生成 AI モデルのオープンソース化の長所と短所を含め、企業で...

...