システムトレード構築編

DeepLearningシストレに必要なデータ種別と量について

機械学習システムトレーダーの皆様、こんにちは。

前回は、DeepLearning(ディープラーニング)でシステムトレードを構築するときの、ハイパーパラメータの設定について、経験則を中心に書きました。

今回は、DeepLearningシストレに必要なデータについて考えてみたいと思います。

総論

  • DeepLearningには、とにかくデータ量が必要だ!
  • 学習精度を上げるにはデータを集めろ!

というのが通説ですが、シストレにはどれぐらいのデータが必要なのでしょうか?

1分足で最低6年、できれば10年分の価格データが欲しいというのが、私の考えです。

シストレに使用されるデータ種別

まずシストレに使われるデータ種別ですが、下記のようなものがあります。

  • 価格データ(ヒストリカル)
  • 経済指標
  • ニュース(指標以外のニュース、文字情報)
  • 板情報

プロではない個人レベルだと、実際に使用するのは価格データのみというのがほとんどです。

ニュースや板情報は、過去データの取得が困難という問題があります。そもそも為替FXには板情報はありません。(一部の証券会社にはありますが)

経済指標は頑張ればストラテジーに組み込めると思いますが、私はやったことがありません。雇用統計や政策金利などの重要指標のときにエントリーしないフィルターを入れるぐらいです。

なので、扱うデータ種別は価格データのみという前提で話していきます。

機械学習のプロジェクトでは、データ収集のフェーズが大変だったりしますが、シストレ、中でも特に為替はその限りではありません。過去の価格データは既にあるところにはあるので、自分で収集するプログラムとかは作らなくていいんです。

データ量はどれぐらいあればいいの?

粒度は1分足が基本

まずデータ粒度ですが、1分足が望ましいです。

通常のストラテジー構築だと日足データだけでもできたりするのですが、DeepLearningを使うとなると話は変わってきます。

DeepLearningは、データが何万件と必要になってきます。日足だと、10年分のデータがあったとしても、250日 * 10年 = 2,500件 のデータしかないので、データ数が少なすぎます。

DeepLearningは1分足データがmustといのが私の見解です。以下は1分足データが前提の話になります。

最低でも6年分が必要な理由

まず機械学習を使わない通常のストラテジー構築の場合は、最低3年分はバックテストしたいかと思います。

これは機械学習も同じで、まずバックテスト用に3年分は必要です。それに加えて、機械学習には過去データを学習するという工程が必要になりますので、それようのデータが別途必要になります。

この学習データが1年分だと心もとないので、3年は欲しいところです。なので、学習3年+バックテスト3年で、計6年分が、最小限の必要データ量になります。

訓練は6年あれば十分

訓練の精度はデータ件数が多ければ多いほど上がるのが基本です。

ただ私個人の体感としては、5~6年ぐらいで頭打ちになります。訓練3年と訓練6年は6年の方がパフォーマンスがいいですが、訓練5年と訓練10年では、パフォーマンスはあまり変わらない気がしています。

なのでバックテストとフォワードテストで計3年やるとすると、訓練用と合わせて9年分ぐらいあればベターということになります。

価格データの入手方法

為替のデータは、クリック証券に口座があるなら、2007年以降の分足データが手に入ります。



日経平均や株の場合は、JPXでデータを購入するのがいいでしょう。
JPX公式

ファイナンスデータを掲示しているWebサイトをクローリングする方法を紹介しているブログや書籍がありますが、限界があります。機械学習に必要なデータ量を集めるのは無理かと思いますので、購入した方が安いです。サーバ代とデータ代は、システムトレードにおいては必要経費です。


以上、DeepLearningでシステムトレードを構築する時に必要なデータについての話でした。

システムトレードは、データ収集に苦労することはないので、DeepLearningの適用分野の中では恵まれています。この恩恵を活かして、ガンガンとストラテジー開発に取り組みましょう!

POSTED COMMENT

  1. shuji より:

    初めてコメントします。
    自分もAIで学習させてFXトレードに挑戦しています。一度挫折してますw
    chainerで教師あり学習、CNNで1分足を使って学習させて値幅・値動きを予測させようと試みましたが思うようには行かず一度挫折しましたw
    正直なところ、値幅・値動き予測は難しいと感じていて、LOW/HIGHのバイナリオプションに応用しようと考えています。
    よかったら情報交換しませんか?

    • ラーナー より:

      shujiさん

      コメントありがとうございます。
      メールで返答させていただきます。
      よろしくお願いいたします。

COMMENT

メールアドレスが公開されることはありません。