こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- ビットコイン自動売買に興味がある!
- ビットコイン取引履歴(注文状況・約定結果)をPythonで取得する方法が知りたい!
【仮想通貨】ビットコイン自動売買とは
ビットコイン自動取引とは、通貨情報参照・決済・送金等の取引関連操作をプログラムで代替することを指します。ビットコイン自動売買ツールは、暗号資産取引所が提供するAPIサービスの活用を通じて実装することができます。
ビットコイン自動取引ツールの活用により、手動操作による手間削減はもちろんのこと、仮想通貨収益化プロセスの効率化も大幅に期待できます。当サイトでは上記のように、ビットコイン自動売買に関する特集記事を多数配信しております。
【仮想通貨】ビットコイン取引履歴(注文・約定)の取得準備
本記事では、暗号資産取引所Coincheckが提供するAPIサービスを活用し、Pythonをもとにビットコイン取引履歴(注文状況・約定結果)を取得する方法について解説します。
【参考】ビットコイン取引履歴とは
ビットコイン取引履歴機能には「注文状況の照会機能」と「約定結果の照会機能」の2つがあります。
【事前準備】APIキー・シークレットキーを取得
Pythonをもとにビットコイン取引履歴を取得する場合、暗号資産取引所からAPI情報を入手しておく必要があります。
API情報(APIキー・シークレットキー)の取得が未済の方は、以下リンクに示す手順に従い、API情報取得から始めましょう!
【事前準備】Pythonライブラリをインストール
Python環境で暗号資産取引所が提供するAPIサービスをもとにビットコイン取引機能を活用する場合、次のようなPythonライブラリを利用できることが好ましいです。そのため、後述で示すライブラリは事前にインストールしておきましょう。
ccxt|暗号資産取引所のAPI連携・機能活用を容易化
pip install ccxt
【参考】Pythonセットアップ方法・ライブラリインストール方法
【仮想通貨】Python開発環境の構築してビットコイン自動売買実践#2
ビットコイン自動売買に興味があり体験してみたい方向けに「Pythonによるビットコイン自動売買実践に向けた環境構築チュートリアル」をお届けします。
【Python】ビットコインの取引履歴を取得する方法
実際に暗号資産取引所(Coincheck)でビットコイン取引履歴を取得する方法について解説していきます。
- ビットコインの注文状況を照会する
- ビットコインの約定結果を照会する
【共通コード】APIキー・シークレットキーを定義
Pythonで取引履歴取得に際して、APIキーおよびシークレットキーの定義が必要となります。
以下コードのAPI情報
部分を実際に入手したAPIキーとシークレットキー情報に書き換え、Pythonコードの前段に配置しましょう。
import ccxt
# API情報
API_KEY = "APIキーをここに入力"
SECRET_KEY = "シークレットキーをここに入力"
# Coincheck取引所のインスタンス作成
coincheck = ccxt.coincheck({'apiKey':API_KEY,'secret':SECRET_KEY})
注文情報を照会
ビットコイン取引の注文情報を照会するコードは、ccxtライブラリのfetchOpenOrders()
メソッドを活用し、次のように記載します。コード実行後の出力イメージも併せて掲載します。
コード
# 注文情報照会
trade_info = coincheck.fetchOpenOrders(symbol='BTC/JPY')
# 出力
print(trade_info)
出力イメージ
# 出力イメージ
# [{'amount': -0.0015,
# 'cost': 5839.7265,
# 'datetime': '2022-06-00T00:00:00.000Z',
# 'fee': {'cost': 0.0, 'currency': None},
# 'fees': [{'cost': 0.0, 'currency': None}],
# 'id': '1000000001',
# 'order': '1000000001',
# 'price': 3893151.0,
# 'side': 'sell',
# 'symbol': 'BTC/JPY',
# 'takerOrMaker': 'taker',
# 'timestamp': 111111111111,
# 'type': None},
# ]
約定結果を照会
ビットコイン取引の約定結果を照会するコードは、ccxtライブラリのfetchMyTrades()
メソッドを活用し、次のように記載します。コード実行後の出力イメージも併せて掲載します。
コード
# 約定結果
trade_result = coincheck.fetchMyTrades(symbol='BTC/JPY')
# 出力
print(trade_result)
出力イメージ
# 出力イメージ
# [{'amount': -0.01,
# 'cost': 45513.87,
# 'datetime': '2021-08-01T00:00:13.000Z',
# 'fee': {'cost': 0.0, 'currency': None},
# 'fees': [{'cost': 0.0, 'currency': None}],
# 'id': '100000',
# 'order': '3672407781',
# 'price': 4551387.0,
# 'side': 'sell',
# 'symbol': 'BTC/JPY',
# 'takerOrMaker': 'maker',
# 'timestamp': 1627776013000,
# 'type': None},
# {'amount': 0.00197005,
# 'cost': -8986.66873225,
# 'datetime': '2021-08-01T00:20:22.000Z',
# 'fee': {'cost': 0.0, 'currency': None},
# 'fees': [{'cost': 0.0, 'currency': None}],
# 'id': '2000000',
# 'order': '3672463966',
# 'price': 4561645.0,
# 'side': 'buy',
# 'symbol': 'BTC/JPY',
# 'takerOrMaker': 'taker',
# 'timestamp': 1627777222000,
# 'type': None},]
【Python×ビットコイン】自動売買ツール作成に挑戦ロードマップ
Pythonによるビットコイン自動売買をこれから始めたい方向けに、体系化した自動売買実践記事を配信しております。以下No順に記事をご覧いただくことでビットコイン自動売買ツールが自作できるようになるでしょう!
当サイトでは上記以外にも仮想通貨・ビットコイン自動売買に関する記事を多数配信しております。