関連記事

【仮想通貨の自動売買を目指して】PythonでGMOコイン API

【仮想通貨の自動売買を目指して】機械学習のための目的関数を計算する




仮想通貨の自動売買に向けて、PythonからAPIでbitFlyerの売買ができるようにします。
bitFlyerでの自動売買を目指すので、bitFlyer APIについてとbitFlyer APIをPythonで動かすときの便利なライブラリの紹介をします。
前回は過去のチャートの取得を行いました。

【仮想通貨の自動売買を目指して】過去チャート取得
はじめに 仮想通貨の自動売買に向けて、まずはとにかくデータを集めます。 今回は**過去のチャー
bitFlyer APIは主に4種類公開されています。
bitFlyer Lightning API : レート情報や取引ができるAPIbitFlyer Lightning API Playground : bitFlyer Lightning APIを試せるサービスchainFlyer API : ブロックチェーンのトランザクションやアドレスを取得できるAPIEcho API : 法人向けのビットコイン送付サービス今回主に利用するのはbitFlyer Lightning APIになります。
bitFlyer Lightning APIでは仮想通貨のレートの情報や取引などが可能です。
このAPIは、APIキーの認証が不要なPublic APIと認証が必要なPrivate APIがあります。

Bitcoin Exchange - bitFlyer Lightning
bitFlyer Lightning is an exchange (trading platform) where users can trade bitcoins. The exchange rates are determined based on the balance between the supply and demand. Users can sell JPY and obtain bitcoins in exchange, or they can sell bitcoins in exchange for JPY. The practice is similar to retail foreign exchange (FX) trading.
bitFlyer APIを利用するためにはAPI KeyとAPI Secretを作成する必要があります。
bitFlyer Lightningにログインし、メニューから「API」を選択します。

「新しいAPIキーを追加」をクリックし、APIで利用できる権限を選択して、APIキーを作成します。

API KeyとAPI Secretの取り扱いには注意しましょう。
PythonでbitFlyer APIを利用する場合は、pybitflyerが便利です。
GitHub - yagays/pybitflyer: Python wrapper for bitFlyer's REST API.
Python wrapper for bitFlyer's REST API. Contribute to yagays/pybitflyer development by creating an account on GitHub.
2021年9月時点で最後のコミットが4年前となっており、あまりメンテナンスはされていないのかもしれませんが、問題なく使えそうです。使えない場合は、requestなどを利用してAPIをそのまま叩く必要があります。
以下のように使います。API KeyとAPI Secretは環境変数から取得しています。
1import pybitflyer
2import os
3
4api_key = os.environ.get('API_KEY')
5api_secret = os.environ.get('API_SECRET')
6api = pybitflyer.API(api_key=api_key, api_secret=api_secret)Public APIのみを使う場合は、api_keyとapi_secretはなくても問題ありません。
インスタンスから以下のようにbitFlyer APIが使えるようになっています。
1ticker = api.ticker(product_code="BTC_JPY")
2
3board = api.board(product_code="BTC_JPY")下記のコードを見ると使えるAPIと必要なパラメータがわかります。
pybitflyer/pybitflyer/pybitflyer.py at master · yagays/pybitflyer
Python wrapper for bitFlyer's REST API. Contribute to yagays/pybitflyer development by creating an account on GitHub.
それぞれのAPIでできることを確認するときは、bitFlyer APIのドキュメントを確認します。

Bitcoin Exchange - bitFlyer Lightning
bitFlyer Lightning is an exchange (trading platform) where users can trade bitcoins. The exchange rates are determined based on the balance between the supply and demand. Users can sell JPY and obtain bitcoins in exchange, or they can sell bitcoins in exchange for JPY. The practice is similar to retail foreign exchange (FX) trading.