Search 4 Truth

Pythonと仮想通貨

【仮想通貨】自動取引bot制作日記 -1日目-【Python】

タイトル通り!今日からPythonを使い仮想通貨の自動取引botを作っていく過程を日記仕立てでお送りします。

今回は"仮想の"仮想通貨自動取引botをつくるまでが目標です。"仮想の"というのはいわばバーチャル取引のことで実際の取引を行わず数字が上がり下りをする様を眺めて差額でどのくらい損益が出るのかをニヤニヤしながら見守るものを指します。

今回はbitFlyerAPIのTickerを2秒毎に取得して買値を固定し売値をwhileでぶん回して更新し続けどのくらい損益が出るのかを見守っていきます。

買値は大学生の現実的な価格(だと勝手に思っている)0.06BTC(約108,000円)を買います。売買手数料は加味しません。

では作っていきます。

使った環境

  • MacBook Air Early 2015 Sierra 10.12.6
  • Python 3.6.2 pip3
  • iTerm2(コマンドプロント)
  • CotEditor(エディター)

日記形式なので今後は新しいものが追加される度にそれだけを紹介します

モジュール

  • time(標準モジュール)
  • requests(外部モジュール pip3 install requests)

実践

なにはともあれAPIを叩く。

import requests
from time import sleep

def bitflyer():
    URL = 'https://lightning.bitflyer.jp/v1/getticker'
    ticker = requests.get(URL).json() 
    price = int(ticker['best_ask']),int(ticker['best_bid'])
    return price

# ticker = getリクエストでjson形式でtickerを取得
# price = 買値と売値を格納 2000000.0のよう返ってくるのでintで小数点以下を切る
# return 戻り値として上記の変数priceをタプルで戻す


国内の取引所のAPIの叩きかたは前回の記事で扱いました〜。(初新着エントリーしました!ありがとうございます!)

s4t.hatenablog.com

wallet = 0.06
ask = bitflyer()[0] * wallet

#変数walletに買うBTCの枚数を格納
#whileの外で買値を定義・固定(更新しないように)
#変数askに現在の買値に変数walletをかける

while True:
    bid = bitflyer()[1] * wallet
    profit = bid - ask
    print(profit)
    sleep(2)[f:id:lisbeths:20180112155108p:plain]

# bid = 買値を出し毎回更新する
# profit = ひきざん
# 出力
# スリープ(2びょう〜)

全体像

import requests
from time import sleep

def bitflyer():
    URL = 'https://lightning.bitflyer.jp/v1/getticker'  
    ticker = requests.get(URL).json() 
    price = int(ticker['best_ask']),int(ticker['best_bid'])
    return price 

wallet = 0.06
ask = bitflyer()[0] * wallet

while True:
    bid = bitflyer()[1] * wallet
    profit = bid - ask
    print(profit)
    sleep(2)

とりあえず1BTCで動かす。
うぉおおめちゃもうかってるぅう!!!!利確ぅ!!(ctrl + c)(池沼)

f:id:lisbeths:20180112153116g:plain

続いて0.06BTC。

f:id:lisbeths:20180112154355g:plain

(完)