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

ブログ    

推薦する

【人工知能】人間と機械の対決知能技術の総合レビュー

[[359893]] 1 はじめに<br /> 人工知能は誕生以来、人間の知能と比較して...

...

心が開かれました! Adobeなどの研究者が「自撮り」を「他人が撮った写真」に変え、感動的な魔法の写真編集効果を実現

自撮り写真を他人が撮った写真に変えることもできます。魔法の写真編集の世界に新しいトリックが登場し、そ...

マイクロソフトのXiaoIceが第5世代の歌唱システムにアップグレード:人間のアイドルを超える

人工知能が歌うことは珍しくないが、本当に人間の声に近い、あるいは本物と偽物の区別がつかないような「機...

NLP タスクに最適な 6 つの Python ライブラリ

この記事では、自然言語処理タスクに最適な 6 つの Python ライブラリを紹介します。初心者でも...

...

爆発力で動く昆虫ロボットは、自重の22倍を運ぶことができ、垂直に59cmジャンプできる。

この小さなロボットはエネルギーに溢れています。体は昆虫ほどの大きさですが、自分の体重の22倍の重さの...

将来は知能ロボットが農業を担う

果物の収穫から雑草の除去まで、ロボットは精密農業で大きな成果を上げています。農家は常に熱心なデータ収...

Snapdragon 8の4倍のAIコンピューティングパワーハードテクノロジー:超解像度アップと信号強化ダウン、複数のアルゴリズムを同時に実行

2022年の携帯電話はこうなります。すべてのメッセージを自動的に整理し、QRコードをスキャンするため...

フロスト&サリバンは、倉庫管理用の自律配送ロボットの市場が2025年までに272億ドルに達すると予測している。

コロナウイルスのパンデミックが業界に与える影響の程度は地域や業種によって異なると報告書は述べている合...

人工知能の登場により、将来も仕事を見つけることができるのでしょうか?

そんな噂もあるんですね。ヘンリー・フォード2世(フォード・モーター社の創設者ヘンリー・フォードの孫)...

機械学習を独学で学んだら、どうやって仕事を見つければいいのでしょうか?少なくともトップ10の地雷原は避ける

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

AI+医療がさらに一歩前進:免疫療法と精密医療の推進

免疫療法はがんの診断と治療に革命をもたらしていますが、まだ少数の患者(20%~30%)にしか効果があ...

楊振:ビッグデータとAI技術の発展の観点から、クロスチェーン技術は必要かつ不可避である

著者: 楊振、上級ソフトウェアエンジニア、アーキテクト、独立講師。ソフトウェア開発経験18年。『Et...