UKIさん公開の元祖ドテンくんをイザナミで検証してみたら2018/4までは最強だった

の続き。

 

前回記事の要領でイザナミでビットコイン検証してたら

超シンプル設定でステキな売買ルールができてしまった。

買い売り切り替えながら進む、ドテン君的なの。

売りは買いの反対。

00

01

対象は2時間足。

買いは勝率69.4% 期待値0.3%

売りは勝率68.9% 期待値0.3%

最低分散投資結果。ちなみにビットコインデータは2018/1/26以降だけ使ってます。

03

他の足使って成績悪くなっても横ばいだったので使えそうな感じ。

bitflyerのデータだけでなくPoloniex、Bittrexの2時間足でも成績は大きくぶれない。

ちなみにデータはこちらから取得。

仮想通貨(暗号通貨)4本値CSVゲッター

 

あまりにシンプルなので、これはbot作ってみるっきゃない!とおもって

チャレンジしてみました。

 

事前準備:BitMEXに登録

参考にしたAKAGAMI 卍さんnoteBitMEX使ってたので、ニッパーも登録。

bitFlyer FXからの乗り換え先として注目されてるそう。

AKAGAMI 卍さんによると

・bitFlyer FX

 良い:手数料無料、円建て表示

 悪い:遅延、SFD、板薄い

・BitMEX:

 良い:サクサク、板厚い、ハイレバ

 悪い:Taker手数料、UI複雑

とのことです。

 

ここで本番環境以外にテスト環境も登録しておきましょう。

最初はテスト環境で動かして最終的に本番環境で動かすという流れになります。

 

ついでに本番・テスト環境共にAPIキーを取得しておきます。

APIキーは、ログイン後画面上段「API」から「APIキーの管理」に遷移し、発行します。

「キーのアクセス許可」は「注文」だけを選びましょう。

IDと秘密鍵をメモっておきます。他人にバレると大変ですから取扱い注意!!

1.AWS Cloud9に登録

AWS Cloud9を使うとbotがオンラインで開発・実行までできちゃう。

pythonの環境を自分のPCに作らなくていいし便利。

詳しい手順はAKAGAMIさんのnoteが画像つきで親切。無料で読めるとこまでで十分です。

見るのは「環境構築(クラウドIDE (Cloud9)の登録・設定)」の項目です

 

さらに右上の歯車アイコン、設定画面から、Stop my environment を Never にしておきましょう。

これしないとブラウザ閉じたりでCloud9から接続切っちゃうと何分かでbotが勝手に止まっちゃいます。

20180507082337

2.python3にccxtインストール

仮想通貨botを作る上で外せないライブラリ「ccxt」をインストールします。

コマンド打つだけ。

$ sudo python3 -m pip install ccxt

詳しくはAKAGAMI 卍さんのnote見て下さい。

3.btc情報取るだけの簡単なサンプル実行してみる

まずは動作確認ということで簡単サンプルを入力してみます。

ファイルを作成します。

$ touch tradebot_1.py

続いてこのファイルに実行権限を付けます。

$ chmod 775 tradebot_1.py

tradebot_1.pyを選んでサンプルコードを入力。

# coding:utf-8
import ccxt

bitmex = ccxt.bitmex({
    'apiKey':'あなたのAPIキー(ID)',
    'secret':'あなたの秘密鍵',
})
bitmex.urls['api'] = bitmex.urls['test'] #開発環境にするおまじない。本番環境ではコメントアウト

print(bitmex.fetch_ticker('BTC/USD'))

そして実行します。

$ python3 tradebot_1.py

こんな感じでデータが取れれば成功。

{'symbol': 'BTC/USD', 'timestamp': 1525604154414, 'datetime': '2018-05-06T10:55:54.414Z', 'high': 9950.0, 'low': 9458.0, 'bid': 9626.0, 'bidVolume': None, 'ask': 9629.0, 'askVolume': None, 'vwap': 9707.7954, 'open': 9935.5, 'close': 9626.0, 'last': 9626.0, 'previousClose': None, 'change': -309.5, 'percentage': -3.115092345629309, 'average': 9780.75, 'baseVolume': 12957.529180000001, 'quoteVolume': 125778161.0, 'info': {'timestamp': '2018-05-07T00:00:00.000Z', 'symbol': 'XBTUSD', 'open': 9935.5, 'high': 9950, 'low': 9458, 'close': 9626, 'trades': 32034, 'volume': 125778161, 'vwap': 9707.7954, 'lastSize': 100, 'turnover': 1295752918000, 'homeNotional': 12957.529180000001, 'foreignNotional': 125778161}}

4.あとは頑張って実装

コメント付きで160行ぐらいで完成!

06

とはいえ思ったとおりに動かすまでは結構時間かかりました。

ググって調べたとおり打ち込んでもエラーになったり、

うっかり条件逆にしちゃったり、デバッガの動かし方がわかんなかったり、急に動作が怪しくなったり・・・。

bot実装までのハードルは初心者にはしんどいです。

イザナミみたいにサクサク作れるGUIのソフトが欲しいなぁ。

 

とりあえず開発環境でテスト中。

問題なければ早々に本番移行してみますよ!