くりぷと (@_CryptoBlogger)です。Twiterでは以下のようにボソボソと呟いていたのですが、BOTを作って、自動でのビットコイン買い付けを再開しました。本稿では実装方法と参照記事をご紹介します。
自動積立の効果
(先に実装方法をご覧になりたい方は、ここの段落を飛ばしてください。)
積立というのは非常に強力で、過去記事の「我々凡人は、ドルコスト平均法と「暴落したら買い増し」で良い」などにも書いていたように、放っておくだけで、低リスクで、それなりのリターンが狙えます。
2018年中頃まではZaifでの積立を実施していましたが、同社がサービスを停止してしまったので、なんとなく止まっていたままでした。従って2018年後期の低迷期は拾えていません。今となっては後の祭りですが、非常に残念です。
以下に、ビットコインの積立のリターンを推計していたアカウントの人がいました。
こちらのtweetは少し界隈で話題になっていたのですが、ビットコインは「どの時期から積立を初めてもリターンが出ている」という事を明らかにしています。
相場がクラッシュした2018年ですら、平均取得価額は約5,900ドルです。現在の価格は約11,000ドルなので、ほぼ倍になっていますね。
ビットコイン自動積立BOTの実装方法
私が実装した方法を書いていきます。色々なサイトを参考にさせて頂いたので、詳しくは参照リンク先をご確認ください。
注意:Botは取引所のAPIキーを利用します。ハッキングなどのリスクがありますので、十分にご注意ください。こまめに取引所から資金を引き出す、公共wifiを使って作業をしない、APIキーを不用意にPC内にメモしない、などの対策をおこなってください。
必要なもの
- PC
- まずはPCが必要です。私の場合はMacです。知識がある方はWindowsやUbuntu/AWSなどのクラウド環境でも実装可能です。
- Anaconda
- アナコンダというアプリケーションが必要です。Pythonというプログラミング言語で動かす便利なやつです(説明が雑)。下記の神ブログをご参照いただき、インストールしてください。Windowsを前提とした説明ですが、Macでも同様の方法でインストールできます。MacでPythonのテストをするには「ターミナル」というアプリケーションを開いて「python」と打ち込んでください。アナコンダがうまくインストールされていれば、ターミナルが反応してくれます(説明が)
- 参照:https://naoki-cryptocurrency.com/bot/DevEntenvironment.html
事前準備
APIキーなどを事前に取得する必要があります。上記と同じく、下記の神ブログを参考に準備してください。取引所は、今回の場合はbitbankです。
https://naoki-cryptocurrency.com/bot/DollarCostAveraging.html
コード
AnacondaとPythonを起動して、以下のコードをコピペして入れてください。上記のリンク先のコードを改変させて頂いております(感謝)。デフォルトでは毎日500円分のビットコインを買う設定としていますが、金額や購入頻度は自由に変更出来ます。
なお、「#」が付いている行は説明用の行です。無視して処理されるので、Botの稼働には影響しません。
—ここからコード—
# 最初にccxtという便利なライブラリをPC内にインストールします。
import ccxt
from datetime import datetime
from time import sleep
import json
"""
# ccxtのbitbankを使うデータを入れる
"""
# apiKeyとsecretKeyは誰にも見られないように
bitbank = ccxt.bitbank({
"apiKey": "ここにAPIキーを入力",
"secret": "ここにシークレットキーを入力"
})
while( True ):
# 現在のビットコイン価格を取得する
data = bitbank.fetch_ticker('BTC/JPY')
# 500円分のビットコインを購入する(適当に変えてください)
amount = 500/ data["ask"]
# エントリー注文発行
res = bitbank.create_order( symbol="BTC/JPY", type="market", side="buy", amount=str(amount), price=1 )
# タイムスタンプ等をコンソールに表示
print(str(datetime.now().strftime("%Y/%m/%d %H:%M:%S") ) )
print( json.dumps(res, indent=True) )
# 購入数量をコンソールに表示(小数点5位以下は切り捨てて購入されるので、注意してください)
print(str(amount))
print("--------------------------------------------")
# 1日スリープ(24=24時間という意味なので、買い付け頻度を変えたい場合は「24」を好きな数字に変えてください)
sleep( 60 * 60 * 24 )
—コードここまで—
引用改変:https://naoki-cryptocurrency.com/bot/DollarCostAveraging.html
注意:まだ例外処理を入れていないので、botが停止する可能性があります。
「TokenSetsの購入商品を変更/イーサリアム」で紹介したTokenSetsも同様ですが、やはり自動でポジションを構築してくれるのは、とても楽です。
参考にさせて頂いたサイト
https://naoki-cryptocurrency.com/bot/DollarCostAveraging.html
https://pycarnival.com/anaconda_install/
https://kasobu.com/bitbank-api/
https://qiita.com/kenju/items/77a2dc1b6a60697b1133
https://note.mu/harumakiswing/n/n05e8b6308a77
Python3とCCXTを使用して仮想通貨の自動売買botを作る
関連記事はこちら
コメントを残す