Bitcoinの予測、時期について
BItcoinの歴史を学んでいくと、MtGoxの大暴落以降徐々に下がっている傾向にあることが分かった。
前日、それを学習データとして加えテストしてみた結果、中々なものだという記事を書いたがそれは間違いだったことが今理解できた。
過去900日を学習データ(モデル生成データ)とし、3日分をテストデータとし、予測してみた。予測値として、その日の高値を指定。
テストデータの例
@RELATION bitcoin
@ATTRIBUTE Date real
@ATTRIBUTE Open real
@ATTRIBUTE High real
@ATTRIBUTE Low real
@ATTRIBUTE Close real
@ATTRIBUTE Volume1 real
@ATTRIBUTE Volume2 real
@ATTRIBUTE WeightedPrice real
@data% ?の部分は予測する値
1445007600,?,?,?,?,?,?,? %275.19 実際の値
1444921200,?,?,?,?,?,?,? %267.831444834800,?,?,?,?,?,?,? %257.5
結果
1.Gaussian
inst#,actual,predicted,error
1,?,362.32,?
2,?,362.325,?
3,?,362.329,?
2.MultiLayer Perceptron
1,?,281.583,?
2,?,281.583,?
3,?,281.583,?
ご覧のとおりである。いわばクソ予測となってしまっている。
362$と281$は下落途中の値である。下落途中はBitcoinの歴史からみて中間地点であること。
もうほんとやーだ。
じゃあ時間を絞って計測してみよう。
60,30日もクソ結果となってしまったので15日分の測定をしてみる
今度はLow、AttributeをDateとLowだけにして測定してみる。
テストデータの例
@RELATION bitcoin
@ATTRIBUTE Date real
@ATTRIBUTE Low real
@data
1445007600,? %258.32
1444921200,? %254.91
1444834800,? %254.5
結果
1.Gaussian
inst#,actual,predicted,error
1,?,238.895,?
2,?,238.82,?
3,?,238.744,?
2.MultiLayer
inst#,actual,predicted,error
1,?,245.127,?
2,?,245.026,?
3,?,244.886,?
3.単回帰
inst#,actual,predicted,error
1,?,242.836,?
2,?,242.524,?
3,?,242.211,?
今度は近づいた。
しかし、これで自動取引するにはあまりにも怖いぞ。
相関は1にバッチリ、近い。
よく見てみると実際のデータはage続け、予測値も微量ながらage続けている。
これが相関の秘密。実際の値はどうあれ、未来に上げるか下げるかは予測できることになる。
FX取引の論文を見て、また勉強を続ける。
それはそうと、日にちで相関を求めてもなんも楽しくないしデータとして詳しくないので、15分毎にblockchain.infoのapiからデータを持ってくるプログラムを書いたので
githubに挙げている。
https://github.com/pushnanashi/Bitcoin_MashineLearning
これから全部プログラムを上げていこうとは思ってます。以上。