#!/usr/bin/env python # -*- coding:utf-8 -*- """ Date: 2023/9/5 15:41 Desc: 芝加哥商业交易所-比特币成交量报告 https://datacenter.jin10.com/reportType/dc_cme_btc_report """ import pandas as pd import requests def crypto_bitcoin_cme(date: str = "20230830") -> pd.DataFrame: """ 芝加哥商业交易所-比特币成交量报告 https://datacenter.jin10.com/reportType/dc_cme_btc_report :param date: Specific date, e.g., "20230830" :type date: str :return: 比特币成交量报告 :rtype: pandas.DataFrame """ url = "https://datacenter-api.jin10.com/reports/list" params = { "category": "cme", "date": "-".join([date[:4], date[4:6], date[6:]]), "attr_id": "4", } headers = { "accept": "*/*", "accept-encoding": "gzip, deflate, br", "accept-language": "zh-CN,zh;q=0.9,en;q=0.8", "cache-control": "no-cache", "origin": "https://datacenter.jin10.com", "pragma": "no-cache", "referer": "https://datacenter.jin10.com/", "sec-ch-ua": '" Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"', "sec-ch-ua-mobile": "?0", "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-site", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36", "x-app-id": "rU6QIu7JHe2gOUeR", "x-csrf-token": "", "x-version": "1.0.0", } r = requests.get(url, params=params, headers=headers) data_json = r.json() temp_df = pd.DataFrame( [item for item in data_json["data"]["values"]], columns=[item["name"] for item in data_json["data"]["keys"]], ) temp_df["电子交易合约"] = pd.to_numeric(temp_df["电子交易合约"], errors="coerce") temp_df["场内成交合约"] = pd.to_numeric(temp_df["场内成交合约"], errors="coerce") temp_df["场外成交合约"] = pd.to_numeric(temp_df["场外成交合约"], errors="coerce") temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce") temp_df["未平仓合约"] = pd.to_numeric(temp_df["未平仓合约"], errors="coerce") temp_df["持仓变化"] = pd.to_numeric(temp_df["持仓变化"], errors="coerce") return temp_df if __name__ == "__main__": crypto_bitcoin_cme_df = crypto_bitcoin_cme(date="20230830") print(crypto_bitcoin_cme_df)