ビットバンクのAPIキーの発行方法とAPIの使い方を解説【仮想通貨のリピート系トレードbotをPythonで自作しよう③】

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

ビットバンクが提供しているAPIには、認証なしで利用できるPublic APIと認証が必要なPrivate APIがあります。

Public APIは、各通貨の板情報や約定情報、ローソク足データなどが取得できます。

Private APIは、資産状況の確認をしたり、注文を出したりすることができます。このPrivate APIを利用することで仮想通貨の自動売買を行うことができます。

Private APIを利用するには、まずAPIキーを発行する必要があるので、ビットバンクのAPIキーの発行方法について解説してから、APIの使い方についても触れていきます。

なお、実際に注文を出す際は、口座に入金をしておいてください。

mao
mao

はじめて入金する場合は、「はじめてのご入金プログラム」でキャンペーンにエントリーしてから10,000円以上入金すると、現金1,000円がもらえます。忘れずにキャンペーンにエントリーしましょう。

【PR】ビットバンクはじめてのご入金プログラム

ビットバンクのAPIキーの発行方法

認証方法は、生体認証を選択しています。二段階認証コードの場合は、内容が多少異なります。

ログイン後の画面の右上のメニューアイコン(人型マーク)からAPIをクリックします。
[APIキーの発行]ボタンをクリックします。
ラベルには利用用途などがわかるように自由なワードを設定します。権限は自動売買に必要な[参照]と[取引]を選択して、[確認する]ボタンをクリックします。
確認画面が表示されるので[発行する]ボタンをクリックすると、認証後にAPIキーが発行されます。

APIキーの確認方法

万が一、APIキーとシークレットが漏洩した場合には、第三者に操作される可能性のあるので取り扱いは気を付けましょう。

先程のAPIの画面から発行済APIキーの[>]をクリックします。
認証後、APIキーとシークレットを確認することができます。

このAPIキーとシークレットは、プログラムを記述する際に必要となります。

APIを操作するライブラリをインストール

ビットバンクのAPIを使用するには、python_bitbankccというライブラリを使用するのが便利です。python_bitbankccの詳細は、こちらをご覧ください。

Windowsの方はコマンドプロンプトで下記のコードを実行してください。

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

もしくは、PyCharmを使用している方は、画面の左下にあるターミナルからでもコードを実行してインストールできます。

Public APIの使い方

GitHubのコードをそのまま引用しますが、以下のコードを実行することでPublic APIの各データを取得することができます。

Python
import json
import python_bitbankcc

# public API classのオブジェクトを取得
pub = python_bitbankcc.public()

# PUBLIC TEST

value = pub.get_ticker(
    'btc_jpy' # ペア
)
print(json.dumps(value))

value = pub.get_depth(
    'btc_jpy' # ペア
)
print(json.dumps(value))

value = pub.get_transactions(
    'btc_jpy' # ペア
)
print(json.dumps(value))

# 同じメソッドを日にち指定で
value = pub.get_transactions(
    'btc_jpy', # ペア
    '20170313' # YYYYMMDD 型の日付
)
print(json.dumps(value))

value = pub.get_candlestick(
    'btc_jpy', # ペア
    '1hour', # タイプ
    '20170313' # YYYYMMDD 型の日付
)
print(json.dumps(value))

value = pub.get_circuit_break_info(
    'btc_jpy' # ペア
)
print(json.dumps(value))

Private APIで注文を出すプログラムの解説

Private APIでは様々な事ができますが、例として新規注文の出し方について解説します。以下が新規注文を出すサンプルコードです。

Python
import time
import json
import python_bitbankcc

API_KEY = 'YOUR_API_KEY'
API_SECRET = 'YOUR_API_SECRET'

config = {
    'auth_method': int(time.time() * 1000),
    'time_window': 5000,
}

prv = python_bitbankcc.private(API_KEY, API_SECRET, config=config)

value = prv.order(
    'btc_jpy',  # ペア
    '131594',  # 価格 (成行注文の場合は None にする)
    '0.0001',  # 注文枚数
    'buy',  # 注文サイド (buy|sell)
    'limit',  # 注文タイプ (limit|market|stop|stop_limit)
    # 以降は任意の引数
    True  # post_only 注文、デフォは False, None も可能で Falseと同じ挙動

)

print(json.dumps(value))

それでは具体的にコードの解説をします。

importするライブラリ

Python
import time
import json
import python_bitbankcc

まず最初に、必要なライブラリをインポートします。

まず、timeは現在時刻を取得するためのライブラリです。

次に、jsonは注文後の返答をJSON形式に変換するためにのライブラリです。JSONとは「JavaScript Object Notation」の略で、軽量なテキストベースのデータ交換フォーマットです。

最後にpython_bitbankccは、先程インポートしたビットバンクのAPIを操作するライブラリです。

必要な変数を定義する

Python
API_KEY = 'YOUR_API_KEY'
API_SECRET = 'YOUR_API_SECRET'

config = {
    'auth_method': int(time.time() * 1000),
    'time_window': 5000,
}

prv = python_bitbankcc.private(API_KEY, API_SECRET, config=config)

API_KEYAPI_SECRETは、先ほど作成したAPIキーとAPIシークレットに書き換えてください。注意点として「’」は残してください。

python_bitbankcc.private(API_KEY, API_SECRET, config=config)は、Private APIの認証情報をpython_bitbankccのメソッドで作成しています。

注文に必要なパラメータを入力と注文の実行

Python
value = prv.order(
    'btc_jpy',  # ペア
    '131594',  # 価格 (成行注文の場合は None にする)
    '0.0001',  # 注文枚数
    'buy',  # 注文サイド (buy|sell)
    'limit',  # 注文タイプ (limit|market|stop|stop_limit)
    # 以降は任意の引数
    True  # post_only 注文、デフォは False, None も可能で Falseと同じ挙動

)

prv.orderのパラメーターを変更することで注文の内容を設定できます。

設定項目はコメントで書かれている通りです。この場合は、0.0001BTCのビットコインを131594円で買いで指値注文が出されます。価格はデフォルトのままなので、必要に応じて変更してください。また、注文タイプはそれぞれlimit(指値注文)、marke(成行注文)、stop(逆指値注文)、stop_limit(ストップリミット注文)となります。

この一文で新規注文まで実行されます。

返答の表示

Python
print(json.dumps(value))

新規注文が実行されると返答があるので、それを表示させます。

注文に問題が無ければ次のような返答があります。

Python
{
  "success": 1,
  "data": {
    "order_id": 0,
    "pair": "string",
    "side": "string",
    "position_side": "string",
    "type": "string",
    "start_amount": "string",
    "remaining_amount": "string",
    "executed_amount": "string",
    "price": "string",
    "post_only": false,
    "user_cancelable": true,
    "average_price": "string",
    "ordered_at": 0,
    "expire_at": 0,
    "trigger_price": "string",
    "status": "string"
  }
}

しかし、何かしらの不具合があるとエラーコードが返ってくるので、公式のエラーコード一覧から原因を調べて、対処してもらえるようにお願いします。

おわりに

以上でAPIキーの発行方法とAPIの使い方について解説は終わりです。

自動売買botを作成するには、APIの仕様を理解する必要があります。まずはPublic APIから確認をして、Private APIで注文を出すことにもチャレンジしてみてください。

また実際に利用する際は、APIキーやAPIシークレットが漏洩しないように十分に注意して管理をしましょう。

ビットバンク
bitbank

国内暗号資産取引量No.1

  • 第三者機関に国内No.1と認められた堅牢なセキュリティ対策
  • 高性能APIでシステムトレードが可能
  • メイカー注文による報酬金の獲得が可能