Help us understand the problem. What is going on with this article?

仮想通貨の価格変動予測

More than 3 years have passed since last update.

ビットコインの買い時を予測できるか実験してみた結果の共有です.
参考になりそうでしたら幸いです.


仮想通貨とは

  • ビットコインが有名.他にもアルトコインと呼ばれる仮想通貨がある.
  • 最近何かとニュースになってる
    • ビックカメラ、仮想通貨を店頭で利用開始1
    • YouTuberヒカルVALU騒動2
    • “ビットコイン”女性遺棄事件3
    • COMSA4

アルトコインとは

  • ビットコインの代わりとなるべく作られた通貨
  • 半年間で100倍以上に価値が上がる通貨も存在5
  • 数百とか数千種類のアルトコインが存在.
  • 現時点では投機目的で利用が主?
  • 通貨ごとに用途が異なる.
  • 2017年8月時点でも100%近く上昇するコインも存在.(e.g. Lisk6, Bitcoin Cash7)

仮想通貨への投機のメリット?

  • 一日の変動が激しい.(1日で100%以上変動することもある.)
  • ビットコイン以外にもアルトコインと呼ばれるコインが腐るほどある(数千種類)
  • 数百倍に価値があがるコインも存在
  • 良いニュースがあると一気に価格が高騰する

なんで価格変動を予測しようとしたのか?

  • 短時間だと雰囲気で変動していそうな感があった.
  • 自分でやると感情に左右されるので機械に取引してほしい.
  • 買ってる人たちは基本投機目的なはず.

まずは眺めてみる

image.png
正規化した各種仮想通貨の推移

  • 7月まではビットコインもアルトコインも同じように変動
  • 変わり始めたのは今年の8月以降(ビットコインの分裂あたりから)
  • 中期の傾向は変わりやすいので,コンピュータの予測には向いてなさそう.
  • 大きな価格の変化はイベントなどの外部情報によるもので予測は難しい(私には分からないので,短期の小幅な変動予測を狙う)
  • 小幅ならパターンでなんとかなりそうかも.

方針

  • 長期トレードはやらずに短期トレードで小幅の利益を積み重ねていく.(小さい利益をコツコツと)
  • 超高速取引(HFT)8とかはやらない(よく知らない)
  • 数分間ごとに買いのタイミングを判断させ,売りのタイミングは閾値で決める.
  • イベントでの変動は捨てる.
  • 短期間での変動を予測して損切りでなるだけ損しないようにする.

お題

  • ビットコインの価格が3000円(0.6%程度)上がれば正のサンプル
  • ビットコインの価格が1000円(0.2%程度)下がれば負のサンプル
  • 5時間放置しても閾値に達しない場合は負のサンプル
  • F値を最大化

ビットコインのみなら手数料が0といった取引所もある(期間限定)ので,precision(賭けたときの勝率)が25%を超えれば利益が出るはず.


データセット

  • 3分おきに取得したデータ
  • 2017-05-27 〜 2017-08-26
  • 訓練データ: 33,000件(2017-05-27 〜 2017-08-07)
  • 検証データ: 8,300件(2017-08-08 〜 2017-08-26)
  • 検証データの33%が正のサンプル(結構チャンスある)

アプローチ


特徴選択

  • レート情報
    • 直近24時間の最高値/最安値/平均
    • 15分/60分/240分レートの移動平均/移動分散との乖離率
  • 板の情報
    • 売り買いどちらがどれ位多いか
    • どれ位板に出ているかとか

モデル

  • XGBoost9

性能はどうだったのか?

- Alt + Bit Bit Only
Positive Rate 0.329 0.330
Accuracy Score 0.672 0.683
Recall Score 0.005 0.045
Precision Score 0.636 0.914
F1 Score 0.010 0.085

となっており,アルトコイン情報は無視して良いっぽい.


得られた知見

  • アルトコインも特徴量に含めると逆に性能は下がったので,ビットコインのみで判断して良さそう.
  • 板情報を特徴量としてもRecallが改善されない.(見せ板みたいなものに引っかかってる?)

今後の課題

  • 指値で買える前提なので,成り行きでどの程度か算出する必要あり.
  • 利確と損切りのラインが適当すぎるので要改善.
  • 少額にしないと,自身の買いや売りが壁になってどうしようもなくなるので,recallを改善しないと難しそう.
  • 他取引所との価格差も特徴量になりそう.
  • キリの良い数字には大量の売りが発生していたりするので,売り板からの特徴量の抽出方法を改善する必要あり.

まとめ

  • 頻度は低いが9割当たるタイミングが存在
  • 指値で売り買いできる前提なので改善が必要そう.
  • 特徴量としてアルトコインを利用しないほうが現時点では良さそう.
  • 他の取引所との価格差も特徴量となるかも

References

namakemono
MNES Engineer Kaggle Expert
https://www.mnes.org/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした