数字货币市场历史数据获取API(含源代码)

article/2025/6/20 14:07:24

加密数字货币市场历史数据获取API(含源代码)

  • 数字货币市场历史数据获取API(含源代码)
      • 1. Binance API
        • 运行结果
        • BTCUSDT.csv 文件截图
      • 2. CoinGecko API
      • 3. CryptoCompare API
      • 总结

数字货币市场历史数据获取API(含源代码)

在之前的文章中,数字货币交易接口实现(含源代码),分享了交易接口以及实时行情数据接口的实现。

如果要进行量化回测分析, 就需要准备历史行情数据,今天分享3个API接口,用于访问加密货币的历史市场数据,1分钟级别的数据足够使用了。涵盖的API包括:

  • Binance币安
  • CoinGecko
  • CryptoCompare

1. Binance API

币安提供全面的交易数据API,包括历史K线数据。下面是一个使用Python检索1分钟级数据的示例代码:

import requests
import pandas as pddef get_binance_klines(symbol='BTCUSDT', interval='1m', limit=1000):"""获取 Binance 交易对的历史 K 线数据。参数:- symbol: 交易对(例如 BTCUSDT)- interval: 时间间隔(例如 '1m', '5m', '1h', '1d')- limit: 返回数据的数量限制(最多 1000)返回:- DataFrame 包含时间、开盘价、最高价、最低价、收盘价、交易量。"""url = "https://api.binance.com/api/v3/klines"params = {'symbol': symbol,'interval': interval,'limit': limit}response = requests.get(url, params=params)data = response.json()# 创建 DataFramecolumns = ['Open Time', 'Open', 'High', 'Low', 'Close', 'Volume', 'Close Time', 'Quote Asset Volume', 'Number of Trades', 'Taker Buy Base Volume', 'Taker Buy Quote Volume', 'Ignore']df = pd.DataFrame(data, columns=columns)# 转换时间戳df['Open Time'] = pd.to_datetime(df['Open Time'], unit='ms')df['Close Time'] = pd.to_datetime(df['Close Time'], unit='ms')return df# 精简字段返回# return df[['Open Time', 'Open', 'High', 'Low', 'Close', 'Volume']]# 示例用法
df_binance = get_binance_klines(symbol='BTCUSDT', interval='1m', limit=1000)
# 保存到本地csv文件,方便后期回测使用
df_binance.to_csv('BTCUSDT.csv')
print(df_binance.head())
运行结果

BTCUSDT.csv 文件截图


后面两种方式拿到的数据,不进行截图展示了,和上面的结果相似。

2. CoinGecko API

CoinGecko提供各种市场数据,尽管它不直接提供1分钟的数据。但是,您可以获得历史市场价格。

import requests
import pandas as pddef get_coingecko_market_data(coin_id='bitcoin', vs_currency='usd', days=1, interval='minutely'):"""获取 CoinGecko 的市场历史数据。参数:- coin_id: 数字货币 ID(例如 'bitcoin')- vs_currency: 比较的法定货币(例如 'usd')- days: 时间范围(例如 1 表示一天)- interval: 时间间隔(例如 'minutely')返回:- DataFrame 包含时间、价格、交易量数据。"""url = f"https://api.coingecko.com/api/v3/coins/{coin_id}/market_chart"params = {'vs_currency': vs_currency,'days': days,'interval': interval}response = requests.get(url, params=params)data = response.json()# 提取价格数据prices = pd.DataFrame(data['prices'], columns=['timestamp', 'price'])prices['timestamp'] = pd.to_datetime(prices['timestamp'], unit='ms')# 提取交易量数据volumes = pd.DataFrame(data['total_volumes'], columns=['timestamp', 'volume'])volumes['timestamp'] = pd.to_datetime(volumes['timestamp'], unit='ms')# 合并价格和交易量数据market_data = pd.merge(prices, volumes, on='timestamp')return market_data# 示例用法
df_coingecko = get_coingecko_market_data()
print(df_coingecko.head())

3. CryptoCompare API

CryptoCompare提供了一套丰富的市场数据API,包括历史OHLCV数据。要使用他们的免费API,您需要注册并获得API密钥。

import requests
import pandas as pddef get_cryptocompare_ohlcv(symbol='BTC', market='USD', aggregate=1, limit=10, api_key='YOUR_API_KEY'):"""获取 CryptoCompare 的历史 OHLCV 数据。参数:- symbol: 数字货币符号(例如 'BTC')- market: 市场符号(例如 'USD')- aggregate: 聚合级别(1 表示每分钟)- limit: 返回数据的数量限制- api_key: 你的 CryptoCompare API 密钥返回:- DataFrame 包含时间、开盘价、最高价、最低价、收盘价、交易量。"""url = f"https://min-api.cryptocompare.com/data/v2/histominute"params = {'fsym': symbol,'tsym': market,'limit': limit,'aggregate': aggregate,'api_key': api_key}response = requests.get(url, params=params)data = response.json()# 检查响应中的数据if data['Response'] == 'Error':raise Exception(f"Error fetching data: {data['Message']}")# 提取历史数据ohlcv_data = pd.DataFrame(data['Data']['Data'])# 转换时间戳ohlcv_data['time'] = pd.to_datetime(ohlcv_data['time'], unit='s')return ohlcv_data[['time', 'open', 'high', 'low', 'close', 'volumefrom']]# 示例用法(请替换 'YOUR_API_KEY')
df_cryptocompare = get_cryptocompare_ohlcv(api_key='YOUR_API_KEY')
print(df_cryptocompare.head())

总结

  • Binance API 提供免费的高频数据,无需注册。
  • CoinGecko API 数据不包括精确的OHLC(开盘、高、低、收盘)数据,但提供价格和交易量。
  • CryptoCompare API 提供免费的API访问,需要注册和API密钥。

根据您的实际需求选择合适的API,并将your_API_KEY替换为您从 CryptoCompare 获得的API密钥。

相关文章:
数字货币MACD指标自动化交易策略实现(含源代码)


http://www.hkcw.cn/article/WkPmPgvUMU.shtml

相关文章

Java 大视界 -- Java 大数据在智能金融区块链智能合约审计与风险防范中的应用(276)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

常见区块链数据模型介绍

除了加密技术和共识算法,区块链技术还依赖于一种数据模型,它决定了信息如何被结构化、验证和存储。数据模型定义了账户如何管理,状态转换如何发生,以及用户和开发者如何与系统交互。 在区块链技术的短暂历史中,数据…

大连警方:男子杀害2名日本人被刑拘 因商业矛盾引发

大连警方:男子杀害2名日本人被刑拘 因商业矛盾引发!大连公安局于6月3日通报,5月23日在普兰店区大刘家街道辖内发生一起致两人死亡的刑事案件。次日,警方成功抓获犯罪嫌疑人袁某功,其为42岁中国籍男子,长期居住在日本。经过调查,案件起因是袁某功与两名被害人在日本期间因…

救援队深山生死营救58岁老人 6天5夜不懈努力

救援队深山生死营救58岁老人 6天5夜不懈努力!5月27日,一名58岁的湖南大妈在浙江省温州市鹿城区仰义教堂附近上山后失联。家属和多支救援队连续搜寻多日未果。据了解,这位大妈患有阿尔茨海默病。6月1日上午8时,温州市黑马救援队接到鹿城区公安分局指挥中心的指令后,立即组织…

这几种“奇葩果”买了就后悔 尝鲜需谨慎

这几种“奇葩果”买了就后悔 尝鲜需谨慎!水果世界总是充满新奇,但有些“奇葩果”却让消费者在尝鲜后感到失望。比如拇指西瓜,外观像迷你版的小西瓜,十分可爱。然而品尝时却发现它并没有西瓜的清甜多汁,口感更像黄瓜,水分不足且籽多。价格比普通黄瓜贵不少,让人觉得不值。…

伊藤美诚拿着多哈世乒赛铜牌和家里的猫咪合影

伊藤美诚拿着多哈世乒赛铜牌和家里的猫咪合影,猫咪好可爱!责任编辑:zx0002

狗子住酒店每晚都要检查狗粮才肯睡 网友:这哪还是狗呀,比人都讲究

一男子带自己的宠物狗住酒店,每晚临睡前,狗狗都要亲自检查下自己的狗粮才肯去睡觉,检查的那个叫认真和仔细,主人不敢有丝毫的含糊和懈怠!这狗真是太“狗”了,简直要成“精”了,很多小孩都没它讲究!不是说好“解放后”不许动物成“精”吗?问题又来了,狗狗住酒店入住怎…

ER图递归关系画法,chen氏

应该是这样: 下面是Gemini的详解: 好的,我们来详细解释一下如何在Chen氏ER图中表示“是子板块 (IsSubCategoryOf)”这样的递归关系。 理解递归关系 首先,一个递归关系是指一个实体类型的实例可以与同一个实体类型的其他实例发生…

未来5年地球将遇“致命高温” 极端天气频发警报

2025年5月,热浪侵袭加尔各答。根据世界气象组织5月28日发布的最新气候报告,近五年间有80%的几率将出现有记录以来“最暖年份”,即这五年中至少有一年的全球平均气温将超过2024年刚创下的纪录。这份报告由英国气象局牵头编写。报告指出,2025年至2029年全球平均气温将继续徘徊…

发霉花生的毒性比砒霜还毒!女子称喝发霉花生奶像是鬼门关走一遭

6月1日湖南。一女子发视频,称家里的花生发霉后,自己舍不得丢掉,于是做了花生奶。结果喝了一碗后,感觉像是中毒了一样,头脑发昏。深圳卫健委:花生发霉之后会产生黄曲霉素,这是一种很强的致癌物,晒干或水煮都破坏不了。网友:对待食物要选择“断舍离”,否则会对身体造成…

钟南山说从小喝牛奶,喝牛奶有助长寿

九旬钟南山院士表示:“我从小喝牛奶,现在每天都会喝两杯,活得那么长,喝牛奶很有帮助。责任编辑:zx0002

老夫妻囤大量快递引火灾 冲动网购埋隐患

老夫妻囤大量快递引火灾!5月28日,上海一户居民家中突发火情。消防人员赶到现场时发现门被大量快递堵住。起火地点是厨房,火势不大且未蔓延开来,但消防员费了一番周折才进入厨房将火扑灭。这户人家住在20楼,居住的是一对八旬夫妻。消防员发现这对老夫妻家中堆积了上千件未拆…

八旬老伯家中起火上千件快递堵门 消防破门后震惊……

近年来越来越多的老年人也加入了网购大军但有些老年人却喜欢“只买不用”活生生将家变成“快递驿站”此前小坊就报道了上海一65岁的独居阿姨花了百万元网购但买回来的快递就压根没有拆开过囤积快递的行为不仅仅影响居住环境更会带来消防安全隐患↓↓↓最近家住齐齐哈尔路598弄3…

北方多地出现罕见粉色极光 梦幻粉紫点亮夜空

北方多地出现罕见粉色极光!6月2日,多位网友在黑龙江省密山市、佳木斯市等地拍摄到了罕见的粉色极光。这些极光将天空渲染成梦幻般的粉紫色,景象如梦如幻,宛若仙境。其中一位视频发布者表示,他在6月1日晚上9时左右开始在佳木斯市郊区福胜村江边拍摄,一直持续到次日凌晨1时…

阿汤哥《碟中谍8》海外首映礼现场!

阿汤哥《碟中谍8》海外首映礼现场。炸裂!《碟中谍8》戛纳首映,阿汤哥携众星杀疯了! 家人们,戛纳电影节这次直接被《碟中谍8》点燃了!当地时间,汤姆克鲁斯、西蒙佩吉 亮相红毯,阿汤哥宝刀未老,西装笔挺帅到炸,魅力直接拉满!惊喜的是,咱熟悉的演员温峥嵘也现身红毯,她…

张启楷:多促进两岸交流是正本之道!

张启楷:多促进两岸交流是正本之道。张启楷表示多促进两岸交流是正本之道,并指出民进党过度依赖美国军售,已花费200亿美金但武器尚未交货。张启楷:多促进两岸交流是正本之道责任编辑:0882

科比遗孀瓦妮莎否认怀孕 守护安宁享受夏天

北京时间6月2日,瓦妮莎布莱恩特在社交媒体上强烈反驳了有关她怀孕的传闻。科比与女儿吉安娜及其他七人在2020年1月的一场直升机坠毁事故中不幸丧生。五年多后,一些毫无根据的消息声称43岁的瓦妮莎怀上了第五个孩子。实际上,瓦妮莎和已故的科比共有四个女儿:22岁的娜塔莉亚、…

曼联将签姆贝乌莫搭档锋线 转会接近完成

布伦特福德球员姆贝乌莫接近加盟曼联。曼联已经准备好了6000万英镑,并就一份有效期至2030年、包含2031年选项的合同与球员达成个人协议。此前有报道指出,包括阿森纳在内的多支英超俱乐部都对姆贝乌莫感兴趣,但球员本人更希望加盟曼联。责任编辑:zhangxiaohua

俄民众冒死投石块砸乌无人机 英勇行为获奖励

俄罗斯伊尔库茨克州州长科布泽夫表示,向乌克兰无人机投掷石块的数名当地男子将获得奖励。此前社交媒体上流传的一段视频显示,几名俄罗斯男子爬上搭载乌克兰无人机的卡车车顶,试图阻止无人机起飞对俄境内发动袭击。俄罗斯国防部通报称,乌克兰当局使用FPV无人机(全称为“第一…

SpingIOCDI

Spring是包含众多工具的IOC容器 Sping容器:装的是对象 eg: tomcat:web容器 list/map:数据容器 学校:学生容器 IOC(Inversion of Control):控制 反转 IOC是Spring的核心思想…