こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- ビットコイン自動売買に興味がある!
- Python環境でビットコインの価格情報を取得する機能を構築したい!
【仮想通貨】ビットコイン自動売買とは
ビットコイン自動取引とは、通貨情報参照・決済・送金等の取引関連操作をプログラムで代替することを指します。ビットコイン自動売買ツールは、暗号資産取引所が提供するAPIサービスの活用を通じて実装することができます。
ビットコイン自動取引ツールの活用により、手動操作による手間削減はもちろんのこと、仮想通貨収益化プロセスの効率化も大幅に期待できます。当サイトでは上記のように、ビットコイン自動売買に関する特集記事を多数配信しております。
【仮想通貨】ビットコイン価格情報取得に必要な準備事項
本記事では、暗号資産取引所Coincheckが提供するAPIサービスを活用し、Pythonをもとにビットコイン価格情報を取得する機能を構築する方法について解説します。
【事前準備】Pythonライブラリをインストール
Python環境で暗号資産取引所が提供するAPIサービスをもとにビットコイン取引機能を活用する場合、次のようなPythonライブラリを利用できることが好ましいです。そのため、後述で示すライブラリは事前にインストールしておきましょう。
ccxt|暗号資産取引所のAPI連携・機能活用を容易化
pip install ccxt
【参考】Pythonのセットアップ方法・ライブラリのインストール方法
【仮想通貨】Python開発環境の構築してビットコイン自動売買実践#2
ビットコイン自動売買に興味があり体験してみたい方向けに「Pythonによるビットコイン自動売買実践に向けた環境構築チュートリアル」をお届けします。
【Python】ビットコインの価格情報を取得する方法
それでは実際にPythonプログラムを記述し、ビットコインの価格情報を取得する方法を解説します。
ビットコイン価格の取得方法には大きく分けて3つあり、それぞれ1つずつ解説していきます。
- 最新のビットコイン価格取得
- ビットコイン板情報取得
- ビットコインのローソク足取得
最新のビットコイン価格取得
最新のビットコイン価格を取得する方法を解説します。
次のようなコードを記載してPython環境で実行してみましょう。
コード
import ccxt
# Coincheck取引所のパブリックAPI呼出用のオブジェクト
coincheck = ccxt.coincheck()
# 最新のビットコイン価格を取得
btc_price = coincheck.fetch_ticker(symbol="BTC/JPY")["last"]
# 価格表示
print("ビットコイン価格: {}[円/BTC]".format(btc_price))
出力イメージ
# 出力イメージ
# ビットコイン価格: 2859235[円/BTC]
ビットコイン板情報取得
ビットコイン板情報は、ccxtのfetch_ticker()
メソッドを活用して次のコードで取得できます。
コード
import ccxt
# Coincheck取引所のパブリックAPI呼出用のオブジェクト
coincheck = ccxt.coincheck()
# ビットコイン板情報を取得
ita_btc = coincheck.fetch_ticker(symbol="BTC/JPY")
# 出力
print("開始値: {}[円/BTC]".format(ita_btc["open"]))
print("終値: {}[円/BTC]".format(ita_btc["close"]))
print("高値: {}[円/BTC]".format(ita_btc["high"]))
print("低値: {}[円/BTC]".format(ita_btc["low"]))
print("ask: {}[円/BTC]".format(ita_btc["ask"]))
print("Bid: {}[円/BTC]".format(ita_btc["bid"]))
出力イメージ
# 出力イメージ
# 開始値: 2858165.0[円/BTC]
# 終値: 2858165.0[円/BTC]
# 高値: 2885283.0[円/BTC]
# 低値: 2824867.0[円/BTC]
# ask: 2858304.0[円/BTC]
# Bid: 2857864.0[円/BTC]
ビットコインのローソク足取得
ビットコインのローソク足情報はccxtのfetch_ohlvv()
メソッドを活用した次のコードで取得できます。
この時timeframe
でローソク足の時間足、since
に取引開始時間を細かくしてすると、特定日付のローソク足情報が取得できるようになります。
コード
from datetime import datetime
import calendar
""" Unix Time取得 """
# 現在時刻
datenow = datetime.utcnow()
# Unix時刻変換
unixtime = calendar.timegm(datenow.utctimetuple())
# 15分前のUnixTime(ミリ秒)を算出
minute = 15
since = (unixtime - 60 * minute) * 1000
""" ローソク足情報取得 """
candles = coincheck.fetch_ohlcv(symbol='BTC/JPY', # 暗号資産[通貨]
timeframe = '15m', # 時間足('1m', '5m', '1h', '1d')
since=since, # 取得開始時刻(Unix Timeミリ秒)
limit=None, # 取得件数(デフォルト:100、最大:500)
params={} # 各種パラメータ
)
# 出力結果
print("=================================")
print("UTC timestamp: {}".format(candles[0][0]))
print("開始値: {}[円/BTC]".format(candles[0][1]))
print("高値: {}[円/BTC]".format(candles[0][2]))
print("安値: {}[円/BTC]".format(candles[0][3]))
print("終値: {}[円/BTC]".format(candles[0][4]))
print("出来高: {}".format(candles[0][5]))
print("=================================")
出力イメージ
# 出力イメージ
# =================================
# UTC timestamp: 1663475400000
# 開始値: 2861649.0[円/BTC]
# 高値: 2862148.0[円/BTC]
# 安値: 2861111.0[円/BTC]
# 終値: 2862148.0[円/BTC]
# 出来高: 0.16411347
# =================================
【Python×ビットコイン】自動売買ツール作成に挑戦ロードマップ
Pythonによるビットコイン自動売買をこれから始めたい方向けに、体系化した自動売買実践記事を配信しております。以下No順に記事をご覧いただくことでビットコイン自動売買ツールが自作できるようになるでしょう!
当サイトでは上記以外にも仮想通貨・ビットコイン自動売買に関する記事を多数配信しております。