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を秘密裏に開発していると噂されている。

ブログ    

推薦する

テキストマイニング前処理におけるベクトル化とハッシュトリック

[[201071]]序文「テキスト マイニングにおける単語分割の原理」では、テキスト マイニングの前...

今後 10 年間で人工知能が私たちの生活を支配するようになるとき、携帯電話はどのようなものになるでしょうか?

テクノロジー業界のほとんどの人は、今後 10 年以内にユビキタス テクノロジーが 1 日のあらゆる瞬...

RustベースのZedエディタがオープンソース化され、OpenAIとGitHub Copilotのサポートが組み込まれました

ティム・アンダーソンノアが編集制作:51CTO テクノロジースタック(WeChat ID:blog)...

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

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

トップエキスパートが語る: 生成型AIとロボット工学の未来

ビッグデータダイジェスト制作最近、カーネギーメロン大学、カリフォルニア大学バークレー校、Meta、N...

人工ニューラル ネットワークのドライバー: 活性化関数とは何ですか?

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

AIの恋人の唆しでエリザベス女王暗殺未遂の罪で懲役9年の判決を受けた男

10月9日、イギリスBBCの報道によると、2021年のクリスマスの日にクロスボウで武装した男がイギリ...

画像認識は思ったほど難しくありません!この記事を読めばあなたも専門家になれる

[51CTO.com からのオリジナル記事] ローカルライフのシナリオには、メニュー認識、標識認識、...

ロボットは人間の笑顔を真似することができますが、この笑顔はいつも...

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

ヘルスケア AI が有用であることをどうやって保証するのでしょうか?

ヘルスケアビジネスの大局において、予測モデルは血液検査、X 線検査、MRI と同じ役割を果たします。...

AIによる顔の変形は危険だが、VRスキーは素晴らしい

[[402233]]市民がVRスキー体験。本紙(記者 陳龍)5月27日、2021年中国国際ビッグデー...

教育に人工知能を使う理由

教師のアシスタントとして、また生徒のガイドとして、教育における人工知能は教育業界全体を変革することが...

人工知能の影響を受ける低リスクおよび高リスク職業トップ10

囲碁は伝統的な高知能ゲームです。旗取りのプレイヤーは、正方形の格子模様のチェス盤と白黒の丸いチェスの...

...

...