最新AI論文をキャッチアップ

株予測の新たな可能性「RCURRENCY」

株予測の新たな可能性「RCURRENCY」

深層学習

3つの要点
✔️ RNNベースの株予測モデルを提案
✔️ LSTM層を加え時系列に対する汎用性を強化
✔️ 様々なデジタル資産に対して有用

RCURRENCY: Live Digital Asset Trading Using a Recurrent Neural Network-based Forecasting System
written by Yapeng Jasper HuRalph van GurpAshay SomaiHugo KooijmanJan S. Rellermeyer
(Submitted on 13 Jun 2021)
Comments: Published on arxiv.

Subjects: Artificial Intelligence (cs.AI)

code:  

本記事で使用している画像は論文中のもの、またはそれを参考に作成したものを使用しております。

はじめに

17世紀に近代的な金融市場が出現して以来、専門家たちは商品サービス株式証券の取引から得られる利益を最大化するために様々な努力を行ってきました。過去数十年にわたり、従来の市場での株式取引における人工知能の可能性について複数の研究が行われ、一定の成功を収めています。

さらに最新の機械学習アルゴリズムは、データの量や複雑さのために人間の目には見えないデータのパターンを発見することができます。

今回はライブ環境で変動の激しいデジタル資産市場のデータを予測するRNNベースのトレーディングエンジン「RCURRENCY」を紹介している論文「RCURRENCY: Live Digital Asset Trading Using a Recurrent Neural Network-based Forecasting System」をまとめていこうと思います。 

Related work

過去のデータを利用して株価を予測するということは、何十年にもわたって活発な研究テーマとなっています。

初期の手法は、基本的な数学や統計学を応用した純粋な分析的アプローチを用いていましたが、当時から、株価を予測するためのアプローチや結果の良し悪しについては、いくつかの考え方がありました。

例えば、ランダムウォーク戦略が現実を正確に反映しているのであれば、(株式)市場予測に関するすべてのモデルは無意味であることが経験的に示されています。最近では、市場のボリューム、ツイッターのセンチメント、投資家のセンチメント、メディアのニュース内容など、予測モデルに追加される変数が増えています。

ファンダメンタル分析がマクロ経済変数に焦点を当てたデータの調査を説明しているのに対し、テクニカル分析は、投資商品の価格、数量、幅、取引活動の傾向とパターンを抽出することに重点を置いています。

本稿で提案・分析している手法は、テクニカル分析に焦点を当てていますが、将来的にはファンダメンタル分析への対応も視野に入れています。

※ランダムウォーク...金融商品の値動きには規則性が無く、過去の変動とは一切関係ないとする仮説。詳しくは後述
※ファンダメンタル分析...世界の経済に関する情報や各国の経済指標、政治動向などを基に、為替相場の中長期的な動きを予想する分析手法 

RCURRENCY live trading system

暗号通貨市場の信頼性の高い予測を行うために、今回用いるモデルがRCURRENCYシステムです。RCURRENCYシステムは、3つの独立したコンポーネントで構成しています。

1つ目のコンポーネントの役割はタイムリーに並べられた一連のデータを収集し、前処理することです。

2つ目のコンポーネントは、このデータをニューラルネットワークに入力して処理されたデータのパターンを認識するように訓練します。この2つのコンポーネントによって、システムに時系列データのシングルステップを予測する能力を与えます。

3つ目のコンポーネントは、単一の予測だけでなく、取引の意思決定を行うことができます。

1つの予測だけでなく、トレンドの緻密な分析に基づいてトレンドやパターンの精緻な分析に基づいて取引の判断を行うことができます。このコンポーネントには各々の予測に基づいて売買シグナルを計算する様々な売買戦略をそれぞれが事前に定義されたルールに基づいて売買シグナルを計算します。以上のコンポーネントをまとめたRCURRENCYシステムのフロー図は以下の通りです。

学習データ

本システムでは、CryptoCompare社が提供するAPIを呼び出すことで、ビットコインの生の学習データを取得します。CryptoCompare社は、3,000以上のデジタル資産に関するサービスを提供しており、過去の価格データを取得する機能も備えています。

このようなデータは、1分間の時間枠のローソク足(始値(OPEN)、高値(HIGH)、安値(LOW)、終値(CLOSE)の4本値の値動きを時系列に沿って表示したもの)データポイントで構成されています。

生データには前処理が施されます。残念ながら データセットの最初の約30%にはゼロに近い値が多く含まれており、ネットワークの予測能力を低下させる傾向があります。ネットワークの予測能力を低下させる可能性があります。これらの値には 誤差関数の勾配降下が収束するのに十分な分散を含んでいません。結果として、2013年5月までのすべてのデータを手動で削除しました。

次に、テクニカル分析を行い、価格データからトレンドやパターンを抽出し、テクニカル指標を作成します。各指標は、それぞれの計算式に従って算出され、各計算式はデータセットの一部または全部を入力として使用します。

RCURRENCYは、金融テクニカル指標を実装しています。算出された指標の値は、学習データに追加されます。この追加された学習データにより、ニューラルネットワークは市場に関するより多くの情報を得ることができ、より高い予測精度を得ることができます。最後に、データセットに行単位の正規化を適用して-1~1の範囲に収まるように行ベースの正規化を行います。これにより良い結果が得られ、学習時間を短縮することができます。

新しい行正規化行列は、数学的に次のように定義されます。次元がm×nの行列xが与えられたとき新しい行列yに対しては次の式が成り立ちます。 

リカレントニューラルネットワーク

RCURRENCYの予測器としてリカレント・ニューラルネットワークを使います。リカレント・ニューラルネットワークは、時間的に動的な挙動を示すことができるニューラル・ネットワークの一種です。

ネットワークは、層のノード間の接続を、連続的な時間に沿った有向グラフとしてモデル化する。RCURRENCYのリカレント・ニューラル・ネットワークの入力データは、ローソク足で構成されています。ローソク足の値は、以前のローソク足の値に依存するため、ランダムウォークにはならない。

従来のリカレント・ニューラル・ネットワークでは、長時間の依存関係を学習する際に勾配降下が問題となりますが、リカレントニューラルネットワークのアーキテクチャにLSTM層を用いると、勾配の爆発や消失の問題が解決される。リカレント・ニューラル・ネットワークは3つの層で構成されています。

1)Linear layer

線形層は入力層のノードを隠れ層のノード数に対応させるために必要な層である。線形層は完全に接続された層ですべてのエッジが個別の重みを持っています。完全連結層です。

2)Fast LSTM layer

FastLSTM層は、従来のLSTM層をさらに高速化した特別な層です。高速LSTM層は従来のLSTM層の特別な高速版である。高速LSTM層は、従来のLSTM層を高速化したものです。input, forget and output gatesおよび隠れた状態の計算を1つのステップで計算します。従来のLSTM層ではなく、FastLSTM層を実装しているため合成関数が若干変更されています。

Fast LSTM layerに関する詳しい情報はこちら

3)Output layer with Mean Squared Error (MSE) performance function

出力層は、学習目的で使用される場合に、ニューラルネットワークの評価を行います。ネットワークの評価にはMSE関数を使用します。

xijは実際の値、xˆijはi行j列の予測値
行iと列jにおける予測値、mは行の総量
nは列の総数

パラメータを更新するための式は

取引戦略と予測

トレーディング戦略が実際にどれだけ役に立つかについては、長年の言説があります。

モメンタムやコントラリアンなどの時系列パターン分析に基づく一般的な取引戦略や、その他のテクニカル分析戦略は、様々な程度の成功を収めています。そのため実験用AIにこの要素を追加しテクニカル指標に基づく4種類の取引戦略を適用できるようにすることにした。各取引戦略について、以下に簡単に説明します。

※モメンタム・・・相場の勢いを示す際の表現で使われる。
※コントラリアンとは、市場のトレンドの反対に相場を張る投資家のことです。逆張り投資家とも言われます。

変化率(ROC)

ROC戦略では、最後の実際の値に対する予測値の変化を考慮します。

予測値と直近の実績値との相対的な変化を考慮します。その変化が下限と上限のしきい値を下回ったり、その中間や上限を超えたりすると売り、買い、ホールドのいずれかを決定します。

相対力指数(RSI)

資産価値の上昇・下降のトレンドを把握します。RSIの値が十分に長く変化すると、買われすぎ(売るべき)と判断される。

二重指数移動平均(DEMA)

DEMAは、2本の移動平均線を利用して、資産の購入、保有、売却を判断する戦略です。2本の移動平均線がクロスオーバーすると、長期的な資産価値と短期的な資産価値の間でモメンタムが変化し、買いと売りのタイミングとなる。

移動平均収束・発散(MACD)

MACDは、低速移動平均と高速移動平均と呼ばれる長さの異なる2つの移動平均の差に基づいた有名な戦略です。この差をシグナルラインと呼ばれる移動平均と比較する。差分がシグナルラインを超えたときに、買い、ホールド、または売りの判断をする。

ランダムウォーク

効率的市場仮説として知られる、論争の的になりながらも広く評価されている投資理論では、利用可能なすべての情報が即座に資産価値に反映されるため、一貫して利益を生む取引戦略は存在しないとしている。

実装

RCURRENCYはC++で実装されており、様々なライブラリがコアとなっている。まず、CryptoCompareが提供するAPIを使ってヒストリカルデータを取得します。ライブデータは、取引所(Binance)とのWebSocket接続を作成し、ローソクが形成された後にフェッチすることで、リアルタイムでフェッチされます。

ヒストリカルデータの取得後は、前処理を行い、ニューラルネットワークに提供します。このプロセスでは、ArmadilloとTA-Libの2つのライブラリを利用しています。

Armadilloライブラリは、通常のデータセットの操作に必要な、高度に最適化された行列計算機能を持ち、TA-Libは、株式市場のデータからテクニカル指標を効率的に算出するために必要な機能を備えています。

リカレント・ニューラル・ネットワークは、MLPackを使って実装されています。MLPackは高速かつ柔軟なC++機械学習ライブラリでさまざまな種類の構成可能なニューラルネットワークや機械学習手法を実装しています。

実験的評価

時間に依存していることを考慮し、時系列k-foldクロスバリデーションを適用しました。学習データセットは、p個のサンプルで構成される学習部分(80%)とq個のサンプルで構成される検証部分(20%)に分けられ、各サンプルは1つの時間単位の値を表します。kは、検証ステップで使用されるサンプル数、または学習と評価の各サイクルで、何個の時間単位を予測するかを表しています。

次に、この検証方法を促進するためサンプル 1, ... , p でモデルを継続的に学習し、次の時間 p + 1 の予測を生成し、検証サンプル p + 1 を用いて予測を検証しサンプル 1, ... , p + 1 でモデルを新たに学習するというサイクルを繰り返すのソフトウェア環境を開発されています。

kの値を1に設定すると、一連のクロスバリデーションを完了するためにqサイクルが実行されることになります。kの値を大きくすると、学習・バリデーションのサイクル数が減少します。各サイクルの後、誤差が計算され、保存されます。最終的に、誤差関数を用いて性能を測定します。

図2には、選択したフォールド数に対する平均平方根誤差が示されていますが、最小の誤差を得るために、kの値の範囲がテストされました。

AIはkの値が低いほど予測エラーが少なくなります。これは、フォールド数が多いほど、予測サイクルの前にネットワークの学習に使用されるデータの量が少なくなるためです。

始値(OPEN)、高値(HIGH)、安値(LOW)、終値(CLOSE)の4つの要素の予測誤差が、kの値が低いほど50ドルを大きく下回っていることもわかります。

これは、各区間の絶対的な変化が平均して予測誤差よりも大きいため、システムが上昇トレンドと下降トレンドを正確に予測できることを意味しています。

パラメータの最適化

ハイパーパラメータを最適化するために、前節の検証手法を適用し、1つずつパラメータを変更しながら、最小のRMSEを求めて探索しました。

エッジの重みの初期化

エッジの初期化値は、ニューラルネットワークの学習時間に大きく影響します。

初期ウエイトをより最適に設定することで最終的なウエイト値の収束が早くなり、学習時間を大幅に短縮することができます。

図3が示すように-0.75と0.75の範囲の乱数はビットコインデータセットの異なるフォールドにおいて、最も低いRMSEを持つことが証明されました。

最適化アルゴリズム

最適化アルゴリズムの役割はネットワークの各学習反復において重みを調整し、収束の速さと予測の精度の両方に影響を与えることです。

最適化アルゴリズムとしてはStochastic Gradient Descent (SGD) 法が最もよく使われています。Adam optimizer と比較してステップサイズを変えてテストした結果、学習率0.01の場合速度と精度のバランスが最も良いのはSGDであることがわかりました。

Rho値

Rho値はネットワークの学習に用いるBPTT(Back-Propagation Through Time)の長さを設定する。

実際には、時系列の次のステップで出力を予測するために、いくつの最近の値を使用するかを決定します。図4bに示すように、最適な値は約150であることがわかりました。

 

隠れ層の複雑さ 

隠れ層の複雑さとは、FastLSTM層で使用される隠れノードの数のことです。

ノードの数を増やすことで、より複雑なルールを学習できる可能性がありますが、同時に学習に必要なデータ量も増えます。さらにオーバーフィッティングの危険性が高まり、一般化能力が失われるため、ネットワークをわずかに異なるデータセットで使用した場合に不正確な結果となります。

図5によると隠れ層のノード数が約36個のときにRMSEが最も低くなっています。

トレーディング戦略の結果の評価

このセクションでは、トレーディングエンジンと、これまでに説明した5つの取引戦略のそれぞれについて、過去のデータを用いて検証した結果について説明します。

過去のデータはライブ入力のシミュレーションとして機能し、仮想的な取引を実行することでポートフォリオを更新していきます。ポートフォリオの損失を最小限に抑えるための各取引戦略のパフォーマンスは、戦略自体の質だけでなく、行動方針を決定するために使用される予測の質にも依存します。

これらの実験におけるリカレント・ニューラル・ネットワークは、予測精度を最大化するために、前のセクションで述べたように最適化されたパラメータ設定を利用しています。

各実験では、BTC/USDTペアの取引を対象とし、BTCを基準通貨、USDTを引用通貨としています。総額は、毎期、ポートフォリオを相場通貨に換算して算出される。しかし、より高い金銭的価値を達成しただけでは、トレーダーが市場そのものを凌駕した場合、取引の成功を意味しません。ある期間、BTC/USDTの価値が上がり続けていたとしたら、何もしなくても利益が出ていたことになる。これは「Buy-And-Hold」と呼ばれる戦略です。この戦略では、指定された量の資産を購入して保持するだけで、それ以上の取引は行いません。この戦略は、「アルファとの比較」という意味で、比較のための適切な基準となります。この比較と実験の結果を図6に示します。

※BTC…ビットコイン
※USDT...テザー社が発行するステーブルコイン

AIはデータセットの約90%で学習され残りの10%のデータを予測するために使用された。各戦略は独立してテストされ、それぞれが10.000 USDTを含む初期ポートフォリオを受け取り、その後、2019年1月31日から9月13日までの約5.400時間にわたる株式市場データを使用して取引に使用されました。アルファのベースラインは、単純にt = 0で10.000 USDTをBTCに変換し、それ以上の取引行為を行わないことで生成されました。

より安定した結果を得るために、取引エージェントにいくつかの制限が課せられました。主に、一度に取引できるのはポートフォリオ総額の最大25%です。また取引量に応じた期待値の増加が取引手数料(0.1%に設定)よりも小さい場合は取引が行われません。

図6によると、ビットコインの過去のデータでは、RSI戦略が最も高いポートフォリオ値を達成し、MACD戦略が僅差で2位、DEMA戦略がわずかに悪い結果となりました。しかし、3つの戦略はいずれも安定したポートフォリオ値を維持し、アルファのベースラインに追いつき、さらには上回る結果となりました。ROC戦略のパフォーマンスはRandom Walkとほぼ同じで、どちらもAlphaのベースライン値の3分の1を維持するのがやっとという状況です。

AIは特定の戦略でAlphaのベースラインを上回ることができますが、その利益がリスクに見合うものであるかどうかは疑問です。

この疑問に答える1つの方法としてシャープ比の計算があります。これは無リスクの資産と比較した場合に投資家がリスクに対してどの程度のリターンを補償されているかを示すものです。シャープ比は検討した資産のリターン・レートからリスク・フリーの資産のリターン・レートを差し引き検討した資産のリターン・レートの標準偏差で割って算出される。

図7は、2019年2月13日から9月13日までのバックテスト期間の最後の7ヶ月(仮想)にわたって計測された6つの取引戦略のそれぞれの月次シャープ比を示しています。リターン率Rは、各月の開始時点に対する超過リターンの割合として算出しています。リスクフリー収益率Rfの決定に関しては、ポートフォリオが米ドルで測定されるため、毎月の米国財務省証券(T-Bills)が適切なリスクフリー資産となりました。

バックテスト期間中のT-Billsのリスクフリーレートは、米国財務省のウェブサイトに示されているように、およそ2%でした。これらの数字を考慮に入れると、シャープ比が1以上であれば一般的に良い投資であると考えられ、2以上であれば優れた投資であると考えられる。

この図を見ると、RSI戦略とMACD戦略がそれぞれ最高のポートフォリオ値を達成したにもかかわらず、DEMA戦略が最も高いシャープ比を維持していることがわかります。RSI戦略とMACD戦略のリターン(R)が高く、各月のリスク・フリー・レート(Rf)がどの戦略も同じであることから、RSI戦略とMACD戦略が最も高いシャープを達成比したと考えられます。

ランダムウォーク戦略は、大きな損失と高いボラティリティの両方を被ったため、シャープ比はマイナスを下回りました。ROC戦略は、同様の損失を被ったものの ROC戦略は同様の損失を被ったものの、ボラティリティーのレベルが低いため、シャープ比をプラスに保つことができました。

まとめ

TSKCVの結果から、ネットワークは4つの出力チャネルにおいて約0.4%の誤差で新しい資産価値を予測できることが示唆されました。各戦略は、過去のデータセットを通して安定したポートフォリオ値を維持することに成功した割合は様々ですが、どの戦略もランダム化戦略よりも優れたパフォーマンスを示しています。RCURRENCYはビットコインでテストされているにもかかわらず、そのデザインは他のデジタル資産にも対応できるようになっています。ただどの戦略も、資産価値の大幅かつ急激な下落を正しく予測できませんでした。しかし、これは既存のAIベースのソリューションに共通する問題であり、今後の研究では、より多くの入力データを利用することで、このようなイベントを効果的に予測する能力を向上させることができるかどうかという問題に光を当てることができるでしょう。

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする