為替情報の幾何的特徴を用いた売買アルゴリズムの検討

為替情報の幾何的特徴を用いた売買アルゴリズムの検討

はじめに

・近年、AIを用いて金融市場の売買タイミングを判定しようという試みが活発に行われている。
・例えば石原[4]は多層ニューラルネットワークと遺伝的アルゴリズムを用いたトレーディング手法によって、TOPIXを上回る運用成績を達成したことを報告している。
・また、今村ら[5]は、金融実務に置いて伝統的に用いられているペアトレードと呼ばれる手法と、LSTM(Long Short Term Memory)を組み合わせることで、良好な結果を得ている。
・今回の研究では、為替取引(ドル円)に対して機械学習を用いたアプローチによってリターンを上げることを目標にする。

1.ユーザーのニーズと相場環境

我々と取引がある機関投資家の皆様をはじめ、「FX取引で利益をあげたい」、あるいは「大損を避けたい」というニーズは普遍的に存在する しかし、現在の為替市場では様々な条件(金利、金融システムの安定度、政治情勢、モメンタムetc)が複雑に絡み合っているため、既知分布を仮定してもうまく相場変動を説明できない場合がある
→ 従来の手法がデータに対して分布を仮定することで情報を取りこぼしてきたという梅田ら[6]の指摘を踏まえ、今回は特別な仮定をおかずに「形」を把握することでデータの構造を捉えようとした PointNet++が有効と思われる。

2.PointNet++ とは(成立過程)

・C.R.Qi et al [2]は、物体を描画した点群を三次元ボクセルや画像に変換することなく、直接処理することができるアーキテクチャを提案した
→ PointNet

・さらに、C.R.Qi et al [3]は PointNet のネットワークに階層的な構造を導入することで、インプット情報の局所的な構造を捉える精度を向上させた
→ PointNet++

3.売買戦略

・学習後のPointNet++を用いて、ドル円がn pips以上上昇すると 予測された場合にドル 買いを、n pips以上下落すると予測された場合にドル売りを行いそのパフォーマンスを 検証する.(n=1,5)
・結果の評価は、学習に用いていない未知のデータに対するシミュレーションにおいて、通算の利益(あるいは損失)をみることで行う

4.データ準備

・FXDDから2005年1月から2018年7月までのドル円の為替データ(1分足)を入手
・このデータを5分足に変換した後、全体の4分の3を学習用データに、残りの4分の1をテスト用データに割り振った
・各時点で、金融実務でよく用いられる15指標(次スライド参照)を算出した。 ここから、主成分分析(PCA)とt-SNEを用いてデータの次元を15から3に削減し、これを学習器の入力とした。
参考(https://secure.fxdd.com/us/jp/forex-resources/forex-trading-tools/metatrader-1-minute-data/)

5.今回用いた15指標一覧

・Absolute Price Oscillator ・Aroon Down ・Aroon Up ・Average True Range ・Chande Momentum Oscillator ・Rate Of Change ・Minus Directional Movement ・Midpoint ・Plus Directional Movement ・Relative Strength Index ・Slow %D ・Slow %K ・Simple Moving Average ・Ultimate Oscillator ・William’s %R

6. 主成分分析(PCA)による三次元散布図


7. t−SNEによる三次元散布図


8.学習方法

・PCAおよびt-SNEを用いて、インプット情報を三次元データとする
・正解ラベルは5分後の価格変動に応じて行う(表1)
・連続する512時点分の三次元データを間隔256で移動させて順次入力
→パラメーター最適化

9. 結果(損失関数および予測精度--1pips/PCA)


9. 結果(損失関数および予測精度--1pips/t-SNE)


9. 結果(売買シミュレーション--1pips)


9. 結果(売買シミュレーション--5pips)


9. 学習データの表現について

人間にわかる特徴はありませんでした。

10. ディスカッション

学習に関して

・想定通りに学習が進まなかった(=訓練データに対しては損失関数の減少が見られる一方、未知データに対しては、減少していない)
→過学習、構造を完全には捉えられていない
・今回使用したアーキテクチャにはある程度過学習を防ぐ仕組みが組み込まれている(dropout等)
→それにも関わらず想定通り学習が進まなかったことから、データ自体の性質(ランダム性など)の影響が大きいと考えられる

11. 参考 同じ学習器で別データ学習の時のグラフ

異常検知実装の際に同じ学習モデルを利用テストデータのLossも下がっており学習が収束実際の異常判別結果も97%の数値はじめはバグを疑ったが別データでは学習出来ているので、単純なケアレスミスではなさそう

12.ディスカッション

売買シミュレーションに関して ・最終的に黒字となったのはt-SNE/5pips (同じ5pipsでもPCAではどんどん負けている)
→偶然でないとすれば、PCA適用時に欠落した情報がt-SNEでは保持された可能性がある
なお、1pipsでも、2017年に入るまではPCA版とt-SNE版でかなり異なった結果となっている。

13.今後の課題

・ローソク足チャートの代わりになるデータを探してこの研究を行ったが、動画から明らかな特徴は表れていなかった。
人間が見てわかるような物体にして学習させたい。
過学習の克服
・チャートのデータだけでなく、金利や株価、経済のファンダメンタルデータをインプットに加える
次元削減の問題
→最適な次元削減手法を検討あるいはそもそも多次元データをそのまま扱えるようなネットワークを試す ・t−SNEとPCAでパフォーマンスがかなり違う

14. 参考文献

[1] R.Fujimaki, S.Morinaga: Factorized Asymptotic Bayesian Inference for Mixture Modeling. Proceedings of the fifteenth international conference on Artificial Intelligence and Statistics(AISTATS),2012. [2] C.R.Qi, H.Su, K.Mo, and L.J.Guibas: Pointnet: Deep learning on point sets for 3d classification and segmentation, IEEE Conference on Computer Vision and Pattern Recognition,2017 [3] C.R.Qi, H.Su, and L.J.Guibas: Pointnet: PointNet++: Deep Hierarchical Feature Learning on Point Sets in Metric Space, Neural Information Processing Systems,2017 [4] 石原龍太: 多層ニューラルネットワークと GA を用い た TOPIX 運用 AI, 第19回 人工知能学会 金融情報学 研究会(SIG-FIN), 2017 [5] 今村光良, 中川慧, 吉田健一: 機械学習を用いた共和 分ペア・トレード戦略, 第19回 人工知能学会 金融情 報学研究会( SIG-FIN), 2017 [6] 梅田裕平, 金児純司,菊地英幸: トポロジカルデータア ナリシスと時系列データ解析への応用, FUJITSU, Vol. 69, No. 4, pp. 97-103, 2018