bitflyer HTTP public API getboard

BitcoinBot「招き猫」目次に戻る

板一覧をGET

ブラウザのアドレスバーにアドレスを入れてデータを得る

アドレスバーに貼り付けるだけ→https://api.bitflyer.jp/v1/getboard

何やらもの凄いデータ量です、赤丸のスクロールバーから推測して30画面スクロールくらいありそう。

ではプログラムでデータを取りましょう

import requests
import pprint
def getdata():
    url="https://api.bitflyer.com"
    path="/v1/getboard"
    return (requests.get(url+path).json())
pprint.pprint(getdata())

結果は無限に続いてるようなデータの山

{'asks': [{'price': 797449.0, 'size': 0.679},
          {'price': 797488.0, 'size': 0.5644},
          {'price': 797490.0, 'size': 0.214998},
          {'price': 797500.0, 'size': 2.3447},
          {'price': 797519.0, 'size': 0.1},
          {'price': 797539.0, 'size': 0.1},
          {'price': 797565.0, 'size': 0.1},
・・・・・・・・・・・・続く

データ形式は{辞書[リスト{辞書データ2個}]}が基本形のようです。

‘asks’というキーで{‘price’: 797449.0, ‘size’: 0.679}が大量に入った
リスト[]が得られるようです。

‘asks’以外にもキーはあるか調べます。

import requests
def getdata():
    url="https://api.bitflyer.com"
    path="/v1/getboard"
    return (requests.get(url+path).json())
board=getdata()#後処理用に一旦変数に入れる
for keys in board.keys(): #**1 データ群{board}にキーが有るだけ繰り返す
    print(keys) #キーをprint
mid_price
bids
asks

3種類あるようです。

次にそれぞれの個数を調べる。

mid_priceはデータが1個しかなく、lenでカウントできない

import requests
import pprint
def getdata():
    url="https://api.bitflyer.com"
    path="/v1/getboard"
    return (requests.get(url+path).json())
board=getdata()
print('midprice =',board['mid_price'])
print('asks 件数',len(board['asks']))
print('bids 件数',len(board['bids']))
midprice = 797820.0
asks 件数 1283
bids 件数 1604

真ん中のmidprice=中値810053を挟んで

上側にasks=売り板が1283件

下側にbids=買い板が1604件

ボットで扱うデータ、{‘price’: 797449.0, ‘size’: 0.679},が3000件も出力されるんじゃ訳和歌山県

しかし、勝てるBOTプログラマーはこのデータをプログラム中で使いこなしているのだ。

板とは

板が厚い方に値は動きやすい。(株など、BTCは無法者なので?)

板が薄い方に大量の売買を仕掛けられると値段が吹っ飛ぶ。


#**1 : データ群{board}にキーが有るだけ繰り返す

for keys in board.keys():
boadというJsonデータの中に、辞書のキーを調べる(探す)関数(正確にはオブジェクトのメソッド)で、辞書のキーがあればkeysに代入して
print(keys) それをprintする

これをboardデータ内にキーがなくなるまで繰り返す。

mid_price
bids
asks

ここでは3つ見つかった。

BitcoinBot「招き猫」目次に戻る

タイトルとURLをコピーしました