【Python】複数の仮想通貨取引所のビットコイン・残高取得・一括管理|暗号資産の自動売買

こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!

こんな方におすすめ!
  • 仮想通貨の自動取引に興味がある
  • Pythonを活用して複数の仮想通貨取引所の残高情報を手元で一括管理したい
目次

【Python】複数の仮想通貨(暗号資産)取引所の残高一括取得・管理方法

本記事では複数の仮想通貨(暗号資産)のAPIを活用し、残高照会機能をもとに残高を1つのテーブルで一括管理できるようにする方法について解説します。

代表的な日本円とビットコイン残高を例に取得する方法を解説していますが、イーサリアムやネムコインなどその他の仮想通貨の残高情報を後述する方法で取得が可能です。

残高を一括管理できると、資産現状が簡単に把握できるようになるため、管理効率性が高まります。

さらに、仮想通貨の自動売買を検討の方は、残高情報が併せて管理できると取引手法の幅も広がりますので是非参考下さい。なお、仮想通貨取引で実現できる自動売買については以下の記事で詳しく整理されています。

【事前準備】仮想通貨(暗号資産)取引所のAPI情報を取得

今回解説する残高一括取得機能を実現するには、暗号資産取引所のAPIの利用が必須になります。

APIを活用するには、事前に暗号資産取引所の口座開設を行なっておく必要があります口座開設はスマホと本人確認書類さえあれば10分で手続き完了でき、即日口座開設および暗号資産取引も瞬時に開始できます。

今回は「bitFlyer」「Coinckeck」「Huobi Japan」のAPIを活用して残高一覧テーブルを作成することとします。各種取引所のAPI情報の取得方法は以下の記事をご参考ください。

bitFlyerのAPI情報を取得する方法
CoincheckのAPI情報を取得する方法
Huobi JapanのAPI情報を取得する方法

【Python実践】仮想通貨取引所の日本円・ビットコイン残高を取得・管理

ここから実際にPythonコーディングにより仮想通貨取引所の残高情報を一括取得し、1つのテーブルで容易に残高を確認できるようにする方法を解説します。

【参考】Pythonライブラリのインストール

本記事では次のようなPythonライブラリを活用して取引所の残高情報を取得します。インストールが未済の方は、事前に対応しておきましょう。

ccxt

仮想通貨取引所のAPIを手軽に活用できるようになるPythonライブラリです。ターミナルやコマンドプロンプトから以下を実行するとインストールできます。

pip3 install ccxt

ccxtについて詳しく知りたい方はこちらの記事をご覧ください。

pandas

Pythonでのデータ加工やテーブル作成に有効なライブラリです。以下よりインストールできます。

pip3 install pandas

【実践】暗号資産取引所のAPIキーをセットする

ここから実際にPythonコードを記載していきます。はじめに、APIを活用するためのコードを以下に示します。

それぞれの取引所で取得したAPIキーは、以下の"XXXのAPIキー"部分に、シークレットキーは"XXXのシークレットキー"部分に書き換えましょう。

import ccxt
import pandas as pd

# 取引所APIキー
bitflyer  = ccxt.bitflyer({'apiKey':"bitFlyerのAPIキー" ,
                           'secret':"bitFlyerのシークレットキー",
                          })

coincheck = ccxt.coincheck({'apiKey':"コインチェックのAPIキー",
                            'secret':"コインチェックのシークレットキー",
                          })

huobijp   = ccxt.huobijp({'apiKey':"フォビジャパンのAPIキー",
                          'secret':"フォビジャパンのシークレットキー",
                          })


# 取引所セット
exchange_list = [bitflyer, coincheck, huobijp]

【実践】暗号資産取引所の残高情報を取得する

各種暗号資産取引所から残高情報を取得する方法を以下に示します。残高照会はfetch_balance()というccxtのメソッドをもとに実行しています。

取得する残高は日本円(JPY)とビットコイン(BTC)を指定しています。それ以外の仮想通貨、例えばイーサリアムの残高を取得したい場合、balance["ETH"]と書き換えることで取得することも可能です。

ExchangesName = []
JPY = []
BTC = []

for i in range(len(exchange_list)):
    # 残高データ
    balanceData = exchange_list[i].fetch_balance().get("total")
    JPY.append(int(balanceData["JPY"]))
    BTC.append(float(balanceData["BTC"]))
    ExchangesName.append(str(exchange_list[i]))

【実践】暗号資産取引所の残高情報を1つのテーブルで確認する

前述で取得した残高情報を1つのテーブルで確認するには、以下のコードを実行すると良いです。出力イメージも併せて掲載します。

コード

# データフレーム
df = pd.DataFrame()
df["取引所"]              = ExchangesName       
df["残高[円]"]            = JPY
df["ビットコイン残高[BTC]"] = BTC

# 出力(1)
print("取引所の残高合計[円]: {}".format(df["残高[円]"].sum()))
print("取引所のビットコイン残高合計[BTC]: {}".format(df["ビットコイン残高[BTC]"].sum()))

# 出力(2)
print("データフレーム詳細")
print(df)

出力イメージ

# 出力イメージ
# 取引所の残高合計[円]: 12000000
# 取引所のビットコイン残高合計[BTC]: 11.90
# 
# データフレーム詳細
#
#            取引所  残高[円]  ビットコイン残高[BTC]
# 0     bitFlyer  5000000         5.00
# 1    coincheck  1000000         1.50
# 2  Huobi Japan  6000000         5.40

【Python】コピペ可能|仮想通貨・ビットコイン残高確認コードまとめ

前述で解説したPythonコードをまとめて掲載します。取引所API情報を設定する部分を除くと、全てのコードはコピー&ペーストで活用できる想定です。

import ccxt
import pandas as pd

# 取引所APIキー
bitflyer  = ccxt.bitflyer({'apiKey':"bitFlyerのAPIキー" ,
                           'secret':"bitFlyerのシークレットキー",
                          })

coincheck = ccxt.coincheck({'apiKey':"コインチェックのAPIキー",
                            'secret':"コインチェックのシークレットキー",
                          })

huobijp   = ccxt.huobijp({'apiKey':"フォビジャパンのAPIキー",
                          'secret':"フォビジャパンのシークレットキー",
                          })


# 取引所セット
exchange_list = [bitflyer, coincheck, huobijp]


ExchangesName = []
JPY = []
BTC = []

for i in range(len(exchange_list)):
    # 残高データ
    balanceData = exchange_list[i].fetch_balance().get("total")
    JPY.append(int(balanceData["JPY"]))
    BTC.append(float(balanceData["BTC"]))
    ExchangesName.append(str(exchange_list[i]))
    
    
# データフレーム
df = pd.DataFrame()
df["取引所"]              = ExchangesName       
df["残高[円]"]            = JPY
df["ビットコイン残高[BTC]"] = BTC

# 出力(1)
print("取引所の残高合計[円]: {}".format(df["残高[円]"].sum()))
print("取引所のビットコイン残高合計[BTC]: {}".format(df["ビットコイン残高[BTC]"].sum()))

# 出力(2)
print("データフレーム詳細")
print(df)

【仮想通貨・ビットコイン】自動取引実践法・その他優良情報

最後までご覧いただきありがとうございました。当サイトでは仮想通貨・ビットコインにおける多様な自動取引手法の解説記事を多数取り扱っております。

取引所別:APIの取得手順と使い方の解説記事

スクロールできます
対応言語記事名
Python【GMOコイン】 APIで仮想通貨取引の自動化
Python【Huobi Japan】 APIで仮想通貨取引の自動化
Python【bitbank】 APIで仮想通貨取引の自動化
Python【Coincheck】APIで仮想通貨取引の自動化
Python【bitFlyer】APIで仮想通貨取引を自動化
Python【BITPOINT】APIで仮想通貨取引の自動化

機械学習やテクニカル分析を採用した仮想通貨取引の解説記事

スクロールできます
対応言語記事名指標
共通自動売買の種類・自作時のポイント全て
Pythonリアルタイムチャート分析基礎トレンド
Python移動平均線トレンド
Pythonゴールデンクロス・デッドクロストレンド
Pythonアービトラージ(裁定取引)時間・値幅
Pythonボリンジャーバンドオシレータ
PythonMACDオシレータ
PythonRSIオシレータ
Python時系列予測モデルの構築機械学習・AI
【トレンド】:値動きが上昇・下降どちらのトレンドなのか判断に有効
【オシレータ】:現在の相場に対する買われすぎ・売られすぎの判断に有効

その他仮想通貨自動トレード解説記事

スクロールできます
対応言語記事名
Python【データ収集】仮想通貨の過去データを大量取得する方法
Python【初心者向け】ccxtを活用した仮想通貨の自動取引
Node.js【初心者向け】ccxtを活用した仮想通貨の自動取引

最後に

この記事が気に入ったら
フォローしてね!

本記事をシェア!
目次