こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- 仮想通貨の自動取引に興味がある
- Pythonを活用して複数の仮想通貨取引所の残高情報を手元で一括管理したい
【Python】複数の仮想通貨(暗号資産)取引所の残高一括取得・管理方法
本記事では複数の仮想通貨(暗号資産)のAPIを活用し、残高照会機能をもとに残高を1つのテーブルで一括管理できるようにする方法について解説します。
代表的な日本円とビットコイン残高を例に取得する方法を解説していますが、イーサリアムやネムコインなどその他の仮想通貨の残高情報を後述する方法で取得が可能です。
残高を一括管理できると、資産現状が簡単に把握できるようになるため、管理効率性が高まります。
さらに、仮想通貨の自動売買を検討の方は、残高情報が併せて管理できると取引手法の幅も広がりますので是非参考下さい。なお、仮想通貨取引で実現できる自動売買については以下の記事で詳しく整理されています。
【仮想通貨】自動売買ツールの自作方法とおすすめ暗号資産取引所|無料で実践できるビットコイン自動取引の仕組みも徹底解説
「仮想通貨(暗号資産)の自動売買ツール作成に興味がある」「自動売買の仕組み・作り方を知りたい」「どこの仮想通貨取引所がおすすめなのか知りたい」本記事ではこのような要望にお応えします。
【事前準備】仮想通貨(暗号資産)取引所のAPI情報を取得
今回解説する残高一括取得機能を実現するには、暗号資産取引所のAPIの利用が必須になります。
APIを活用するには、事前に暗号資産取引所の口座開設を行なっておく必要があります。口座開設はスマホと本人確認書類さえあれば10分で手続き完了でき、即日口座開設および暗号資産取引も瞬時に開始できます。
今回は「bitFlyer」「Coinckeck」「BitTrade」のAPIを活用して残高一覧テーブルを作成することとします。各種取引所のAPI情報の取得方法は以下の記事をご参考ください。
bitFlyerのAPI情報を取得する方法
CoincheckのAPI情報を取得する方法
BitTradeのAPI情報を取得する方法
【Python実践】仮想通貨取引所の日本円・ビットコイン残高を取得・管理
ここから実際にPythonコーディングにより仮想通貨取引所の残高情報を一括取得し、1つのテーブルで容易に残高を確認できるようにする方法を解説します。
【参考】Pythonライブラリのインストール
本記事では次のようなPythonライブラリを活用して取引所の残高情報を取得します。インストールが未済の方は、事前に対応しておきましょう。
ccxt
仮想通貨取引所のAPIを手軽に活用できるようになるPythonライブラリです。ターミナルやコマンドプロンプトから以下を実行するとインストールできます。
pip3 install ccxt
ccxtについて詳しく知りたい方はこちらの記事をご覧ください。
【Python×API】ccxtを活用した仮想通貨・ビットコイン取引の自動売買|板情報・価格・注文・約定
仮想通貨の自動売買・取引支援を行うツール開発にあたり、非常に便利なccxtライブラリについてご紹介します。記事前半では「ccxtとは何か」解説し、後半では「pythonを用いたプログラム構築方法」を紹介しています。
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':"BitTrade(旧フォビジャパン)のAPIキー",
'secret':"BitTrade(旧フォビジャパン)のシークレットキー",
})
# 取引所セット
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':"BitTrade(旧フォビジャパン)のAPIキー",
'secret':"BitTrade(旧フォビジャパン)のシークレットキー",
})
# 取引所セット
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 | 【BitTrade】 APIで仮想通貨取引の自動化 |
Python | 【bitbank】 APIで仮想通貨取引の自動化 |
Python | 【Coincheck】APIで仮想通貨取引の自動化 |
Python | 【bitFlyer】APIで仮想通貨取引を自動化 |
Python | 【BITPOINT】APIで仮想通貨取引の自動化 |
機械学習やテクニカル分析を採用した仮想通貨取引の解説記事
対応言語 | 記事名 | 指標 |
---|---|---|
共通 | 自動売買の種類・自作時のポイント | 全て |
Python | リアルタイムチャート分析基礎 | トレンド |
Python | 移動平均線 | トレンド |
Python | ゴールデンクロス・デッドクロス | トレンド |
Python | アービトラージ(裁定取引) | 時間・値幅 |
Python | ボリンジャーバンド | オシレータ |
Python | MACD | オシレータ |
Python | RSI | オシレータ |
Python | 時系列予測モデルの構築 | 機械学習・AI |
【オシレータ】:現在の相場に対する買われすぎ・売られすぎの判断に有効
その他仮想通貨自動トレード解説記事
対応言語 | 記事名 |
---|---|
Python | 【データ収集】仮想通貨の過去データを大量取得する方法 |
Python | 【初心者向け】ccxtを活用した仮想通貨の自動取引 |
Node.js | 【初心者向け】ccxtを活用した仮想通貨の自動取引 |
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら