(※写真はイメージです/PIXTA)

データを使って投資戦略の有効性を確認し、でき上がったプログラム=botを、仮想通貨取引所のシステムに載せて自動で運用させる……。仮想通貨で日給300万円もの稼ぎを生み出しているrichmanbtc(リッチマンビーティーシー)氏。本記事では、「試行錯誤の日々」そして「稼げるようになった理由」を、赤裸々に明かしていく。

「たまたま出た利益か?」…編み出した2つの検証方法

■試行錯誤と葛藤の日々

 

ストラテジーの研究を始めてわりと早い段階で、私は大きな気づきを得ました。

 

統計では、ある現象(例えば利益が出た)が発生した時、それが偶然に出たものか、必然的に意味があって出た数値なのかを判断する値を「p値」と言います。

 

p値が高いと利益が出ても「本当にストラテジーの実力でそうなったのか」確証が持てません。そこで検証対象の時間を5つの区間に分けて検証を実施することで、そのストラテジーが安定して稼げるものか否かをテストするのです。私はこれをp‐mean法と名付けました。

 

また、Kaggle(Googleの下部組織)で有名な手法、Adversarial Varidationをヒントに、時系列予測での汎化性能を上げる手法も考えました。簡単に言うと、特徴量から「時刻を予測できないような特徴量を選択する」という手法です。特徴量の分布が時刻に依存しづらくなるので、実運用時の特徴量分布が機械学習時の分布と近くなり、汎化性能が上がることが期待できます。

 

この2つの手法は、現在まで継続して使っています。私は研究を開始してからたった3日で、重要な気づきを2つも得ていたことになります。

 

さらに試行錯誤は続きました。フォワードテスト※1ではバックテスト※2との乖離のみを検証すると、検証期間が短くて済むことがわかりました。

 

※1 バックテスト後、将来の値動きをテストすること

※2 過去のテストデータもとに行うシュミレーション

 

フォワードテストはバックテストの未知パラメータの推定にも使えます。例えば、フォワードテストの乖離を取引回数で割って、売買コストとしてバックテストに組み込めばいいのです。

 

研究開始から2週間、システムトレードでは①リークのないバリデーション、②相関係数の改善、③シャープレシオの改善、④ミスなく実装することが重要であるとわかりましたが、実際にはまだ利益を出すには至っていません。

 

Jupyterでのバックテストではうまく行くのですが、取引所に移植して現実の相場で運用するとその通りにはいきません。その原因がどこにあるのかを探し、悩む日々が続きました。

次ページ板情報の影響が…頭を抱えながら情報収集をしていると

本記事は書籍『日給300万円のSS級トレーダーが明かす botterのリアル』(幻冬舎MC)より一部を抜粋、再編集したものです。

日給300万円のSS級トレーダーが明かす botterのリアル

日給300万円のSS級トレーダーが明かす botterのリアル

richmanbtc(リッチマンビーティーシー)

幻冬舎MC

「botter(ボッター)」になれば、月収1億も夢ではない。 過去の価格データをコンピュータに読み込ませ、AIによる機械学習で〝勝てる投資戦略〟を探し出す。それに基づいて発注するプログラム〝bot〟を作り、仮想通貨の取引…

人気記事ランキング

  • デイリー
  • 週間
  • 月間

メルマガ会員登録者の
ご案内

メルマガ会員限定記事をお読みいただける他、新着記事の一覧をメールで配信。カメハメハ倶楽部主催の各種セミナー案内等、知的武装をし、行動するための情報を厳選してお届けします。

メルマガ登録