👌

仮想通貨の時系列データをAPIで取得する方法

2022/09/01に公開

色々とローカルで作業していたものを備忘のために書き連ねていこうというモチベーションで投稿します
半年後くらいに「あれどうやるんだっけ?」みたいになった際に振り返るための記事であり、読みにくいところあるかと思いますがご容赦ください

利用サービス

サンプルコード

from datetime import datetime
from datetime import timedelta
import requests
import pandas as pd
import numpy as np


from_date = datetime.today() - timedelta(days=180) # とりあえず180日
# periods=足の粒度: https://docs.cryptowat.ch/rest-api/markets/ohlc#period-values
# after=取得期間のfrom
params = {"periods": 3600, "after": int(from_date.timestamp())}

# 詳細: https://docs.cryptowat.ch/rest-api/markets/ohlc
# この例ではbinanceからbtc/busdの先物データを取得
response = requests.get(
    "https://api.cryptowat.ch/markets/binance/btcbusd-perpetual-futures/ohlc", params
)
data = response.json()

df = pd.DataFrame(
    data["result"]["3600"],
    columns=["Datetime", "Open", "High", "Low", "Close", "Volume", "QuoteVolume"],
)

# 
df["Datetime"] = pd.to_datetime(df["Datetime"], unit="s")

結果↓

Discussion