bitbankのAPIを使って、ビットコインの1分足・5分足・1時間足データを取るPythonプログラム

自動売買

bitbankのパブリックAPIを使って、ビットコインの足データを取得するPythonプログラムを作ったので、紹介します

Contents

bitbankのAPIを使って、ビットコインの1分足・5分足・1時間足データを取る

下準備

bitbankのAPIを使うためのライブラリがない場合は、インストールします

pip install git+https://github.com/bitbankinc/python-bitbankcc.git

ビットコインの1分足・5分足・1時間足データを取る関数

bitbankのAPIを使って、ビットコインの1分足・5分足・1時間足データを取る関数を作ったので、載せておきます

#蝋燭足データを取得する関数 引数:はじめの日付、終わりの日付、通貨ペア、ろうそくタイプ 返り値:データフレーム

def hourly_data(start,end,pair,candle_type):
    
    #ライブラリ
    import python_bitbankcc
    import datetime
    import pandas
    from tqdm import tqdm
    
    #パブリックAPIのオブジェクトを取得
    pub = python_bitbankcc.public()
    
    #引数を日付データに変換
    start_date = datetime.datetime.strptime(start,"%Y%m%d")
    end_date = datetime.datetime.strptime(end,"%Y%m%d")
    
    #日付の引き算
    span = end_date - start_date
    
    #データを入れる配列を定義しておく
    ohlcv_data = []
    
    
    #1時間ごとに時間足データを取得し、結合していく
    for counter in tqdm(range(span.days + 1)):
        
        #日付の計算
        the_day = start_date + datetime.timedelta(days = counter)
        
        #データが欠損している部分は無視する
        try:
            #パブリックAPIのインスタンス化
            value = pub.get_candlestick(pair, candle_type, the_day.strftime("%Y%m%d"))

            #データ部分の抽出
            ohlcv = value["candlestick"][0]['ohlcv']
            
            #結合
            ohlcv_data.extend(ohlcv)
        
        except:
            pass
    
    
    #データフレームに変換
    col = ["Open","High","Low","Close","Volume","Unix Time"]
    df_sum = pandas.DataFrame(ohlcv_data, columns = col)
    
    return df

関数の使い方

引数は4つです

・はじめの日付

下のような書き方をします

"20210101"

・終わりの日付

はじめの日付と同じ書き方です

・ペア

BTC(ビットコイン)、XRP(リップル)、LTC(ライトコイン)、ETH(イーサリアム)、MONA(モナコイン)、XLM(ステラルーメン)、QTUM(クアンタム)、BAT(ベーシックアテンショントークン)の8種類の暗号資産(仮想通貨)のデータを取得できます

"btc_jpy"
"xrp_jpy"
"ltc_jpy"
"eth_jpy"
"mona_jpy"
"xlm_jpy"
"qtum_jpy"
"bat_jpy"

・足のタイプ

この関数を使う場合、これらのうちのどれかです

1min, 5min, 15min, 30min, 1hour

詳しくは公式ドキュメントに載っています

GitHub - bitbankinc/bitbank-api-docs: Official Documentation for the bitbank.cc APIs and Streams
Official Documentation for the bitbank.cc APIs and Streams - bitbankinc/bitbank-api-docs

使用例

例えば、2021.1.1〜2021.3.1のビットコインの5分足データを取得したい場合、こうなります

start = "20210101"
end = "20210301"
pair = "btc_jpy"
candle_type = "5min"

df = hourly_data(start,end,pair,candle_type)

実行結果

この関数を使うと、このように簡単にビットコインのデータを取得する事ができるので、ぜひ活用してみてください

暗号資産取引所bitbankについて

bitbankは国内の暗号資産取引所で、

・スプレッドが小さい

・取引手数料が安い

・アルトコインの取引もできる

・APIが使える(使いやすい)

などの特徴があり、自動売買に人気の取引所です

ビットコインの自動売買プログラムに使っているので、自動売買をしてみたい方は登録することをおすすめします

bitbank

コメント

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