如何获取免费的数字货币历史数据

数量技术宅团队在CSDN学院推出了量化投资系列课程

欢迎有兴趣系统学习量化投资的同学,点击下方链接报名:

量化投资速成营(入门课程)

Python股票量化投资

Python期货量化投资

Python数字货币量化投资

C++语言CTP期货交易系统开发

数字货币JavaScript语言量化交易系统开发


更多精彩内容,欢迎关注公众号:数量技术宅。探讨数据分析、量化投资问题,请加技术宅微信:sljsz01(个人号快加满,欲添加老师请从速)

数字货币历史数据的重要性

以BTC、ETH为代表数字货币作为一个新兴市场,散户参与度高、市场效率低,表现在价格上时常会走出高波动率,和一大波的趋势行情。相比较股票、期货市场,数字货币更容易开发出实盘盈利能力强的量化投资策略。

我们研究量化策略,拿到历史数据进行回测,是第一步。然而,主流的金融平台、三方回测平台,几乎都不提供数字货币的历史数据,例如万德并不提供OKEX、火币、币安等大交易所的数字货币历史数据。

此外,数字货币的数据,特别是高频数据,数据量极大,数字货币Tick数据,最高推送频率可达到每秒10笔,每笔150档买卖盘口,相比较股票市场3秒/笔,以及期货市场的0.5秒/笔的推送频率,可谓是快了很多。第三方平台也很难支持如此大规模、大容量历史数据的读取。因此,我们研究数字货币量化投资策略,第一步也是最关键的一步,需要自行收集数字货币的历史数据,如果收集的是Tick数据,则还要配备大容量的数据存储设备。

大周期(日线、小时)K线数据的获取

如果策略仅仅需要相对大周期的数字货币历史数据进行测试,幸运的是,我们可以从一个www.cryptodatadownload.com的地址免费的下载到大周期的历史K线数据。该网站提供了免费的日线、小时线的数字货币K线数据的下载,数据格式是很友好的csv格式,可以直接用Python的Pandas库读入进行下一步的处理。

 

网站覆盖了主流的欧美、亚太的数字货币交易所,例如CoinBase、Bitfinex、币安、OKEX等等。我们以Bitfinex为例,提供了BTC/USD、ETH/USD、LTC/USD、LTC/BTC、XRP/BTC这5个主流货币对的日线以及小时线的K线数据。

我们从Bitfinex交易所提供的数字货币品种中,随机选择一个BTC/USD的小时线数据下载,打开下载好的csv文件可以看到,数据包含了我们进行量化策略研究所需要的完整K线数据字段:时间、开盘价、最高价、最低价、收盘价以及成交量,我们再将该数据读入Pandas,就能进入下一步策略研发阶段了。

利用Python第三方API获取任意周期K线、Tick历史数据

如果在我们的策略中,要用到比小时K线更精确的数据颗粒,我们就需要调用API来开发数据接收程序了。我们先来看一个强大的Python第三方API:CCXT。CCXT是一个支持全球120余家主流数字货币交易所的jsp、python、php的三方库。在github搜索CCXT,即可查看、下载该三方库的源代码以及说明文档。

CCXT的安装,我们以技术宅大部分粉丝熟悉的Python为例,只需要在控制台或Anaconda中输入pip install ccxt(必要时更换更快速的安装源)即可完成安装。

安装后import ccxt,并print(ccxt.exchanges),如果控制台打印出了一系列ccxt支持的交易所的名称,说明此时ccxt已经成功安装。

我们使用ccxt,能够获取到三种类型的行情数据:OrderBook、PriceTicker、KLine。ccxt接口对于这三类数据,都采用Rest的获取方式,即请求1次、返回1条最新数据信息。

首先来看OrderBook(订单簿)的数据获取。通过CCXT的帮助文档,我们可以查到应该调用API中的哪个方法,来获取OrderBook,而OrderBook获取方法所返回的数据结构,是怎么样的。

 

通过API的帮助文档,我们知道应该使用fetch_order_book的方法,传入我们相要获取的数字货币币种symbol作为参数,而返回的是带有'bids'、‘asks’、'datatime'等关键数据字段的dict格式的数据。我们自行编写Python代码并print验证。

我们在测试代码时,获取huobipro(火币网)所有数字货币币种Orderbook数据并打印,从打印结果来看,我们成功取到了所有的Orderbook数据,并且返回的数据结构也与说明文档中一致。

接着来看PriceTicker (逐笔数据)的获取方式,同样先找到帮助文档对应的API函数、并阅读返回结构。

 

同样以火币pro为例,我们调用API文档所提示的函数(方法),获取BTC/USDT的Ticker数据。

对于Tick数据,由于包含的字段较多,返回的数据内容也相应较长,我们同样将其print出来以验证数据结构。

最后一种ccxt支持的数据获取类型是k线数据的获取,我们同样查询API文档,其对应的方法是fetch_ohlcv的方法。该方法传入两个参数,分别是所要获取数据的数字货币品种,以及获取数据所对应的K线周期。在获取到K线数据后,我们将其转换为pandas的DataFrame标准数据格式,并将最终的结果存入csv文件。后续的回测模块只需要读取该数据即可。

如果不存储csv文件,我们同样可以将所返回的数据打印出来,以此来验证我们使用接口的方法,是正确的。

利用交易所API,直接获取交易所推送数据

由于ccxt免费获取数据,只支持Rest的模式,即请求1次、返回1次对应的数据。如果我们请求数据的频率低于数据发送的频率,或是请求由于网络问题未送达ccxt,就可能造成行情数据的缺失,特别是收集高频数据的时候,数字货币最高0.1秒/笔的合约高频数据,该问题将无限放大。

因此,收集中、高频数据的最佳途径,是数字货币交易所提供的API。数字货币交易所的直连API,提供除Rest以外的另一种订阅模式:Websocket。Websocket模式只需要一次订阅,数据更新即推送,接收到的数据质量相比较Rest更高。

本文技术宅以OKEX交易所的Python API接口为例,OKEX的API说明可以参考交易所在github发布的帮助文档。

OKEX交易所的Websocket demo程序已经为我们定义好了基础的功能函数。我们对接API开发,只需要调用功能函数,确定需要订阅的行情内容,就可以立即用python接收到交易所推送的Websocket行情数据。我们以OKEX交易所Websocket接口,获取ETH-USDT的Tick数据为例,一次订阅,实现数据的不断推送,为检查数据推送功能是否正确,我们将接收到的Tick数据打印在控制台,当然有兴趣使用该数据做回测的同学,也可以将接收到的数据,落地到本地的数据库。

以上,就是我们本文分享的所有内容。总结一下,对于数字货币大周期的K线,我们可以采用三方网站直接下载获取,而对于小周期的K线、甚至是Tick数据,更推荐大家使用ccxt、或交易所API获取。

如果你对于自动获取数字货币历史数据的Python代码感兴趣,欢迎添加技术宅微信:sljsz01,与我交流

 


往期干货分享推荐阅读

【数量技术宅|量化投资策略系列分享】多周期共振交易策略

【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数

  大宗商品现货数据不好拿?商品季节性难跟踪?技术宅带你Python爬虫一键解决没烦恼

【数量技术宅|金融数据分析系列分享】如何正确抄底商品期货、大宗商品

【数量技术宅|量化投资策略系列分享】股指期货IF分钟波动率统计策略

【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/35532.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字货币量化交易策略—基于移动平均线MA

本文介绍金融市场中的量化交易策略之移动平均线MA策略。 一、概念 移动平均线,Moving Average,简称MA,MA是用统计分析的方法,将一定时期内的证券价格(指数)加以平均,并把不同时间的平均值连接…

中国央行将发行全球首个法定数字货币,你准备好了吗?

二月初央行推动的基于区块链的数字票据交易平台已测试成功,由央行发行的法定数字货币已在该平台试运行。这一消息表明中国成为全球首个发行数字货币的国家,长达4年的研究让中国在数字货币领域走在了世界前列。 数字货币是什么?央行又为何如此…

全球传统证券外汇交易商进军区块链数字资产·统计(一)

越来越多合规的基础设施建立完善之后,这些资产管理公司与持牌机构将有能力为这些传统的「老钱」打通投资渠道,那么现有的市场份额会成倍的增加,同时也会打破现有的行业市场格局。 目录 一、eToro互联网券商 二、盈透证券集团 三、TD Ameri…

数字货币量化交易策略操作(61BTC分享)

数字货币基金量化主要进行无风险套利和趋势套利两类操作,其中 无风险套利主要包括: 1、比特币在不同交易所的价差搬砖 2、流通性比较好的代币的三角套利 3、盘口价差很大,交易活跃的盘口套利 4、期货对冲套利。 趋势套利主要包括 5、杠…

mac checkra1n越狱14.0-14.8

首先安装checkra1n 请到官网自行下载安装 All Releases checkra1n 可参考 Sina Visitor System 启动软件件操作 1、 进入初始界面,如果start按键亮到,直接到 3 2、设置步骤内容 如下内容 3、准备开始 4、操作越狱操作界面(重点&#x…

iOS逆向一iPhone手机越狱/APP脱壳/IPA签名

全工具,无门槛。 iPhone越狱一一某助手 APP脱壳一一CrackerXI IPA签名一一某助手 iPhone越狱 越狱方法和步骤: 1.下载并打开某助手电脑端,将需要越狱设备连接至电脑。 2.在某助手“工具箱”中,找到并打开“一键越狱”功能。…

iOS安全攻防(二十):越狱检测的攻与防

越狱检测的攻与防 在应用开发过程中,我们希望知道设备是否越狱,正以什么权限运行程序,好对应采取一些防御和安全提示措施。iOS7相比之前版本的系统而言,升级了沙盒机制,封锁了几乎全部应用沙盒可以共享数据的入口。即使在越狱情况下,限制也非常多,大大增加了应用层攻击难…

iOS 越狱-砸壳工具的使用

1.越狱概述 1.1 通过iOS系统安全启动链漏洞,从而禁止掉信任链中负责验证的组件。拿到iOS系统最大权限ROOT权限. 1.2 当启动一台iOS设备时,系统首先会从只读的ROM中读取初始化指令,也就是系统的引导程序(事实上所有的操作系统启动时都要经过这…

iOS(越狱) 应用脱壳反编译hook教程 (系统ios11.3.1)

为什么会有这边博文? 因为公司原因,领导又让我捡起荒废了一年多的ios,了解对ios应用脱壳以及反编译hook相关知识.相比于安卓的hook来说(想了解安卓hook的可以参考我的另外一篇文章),ios的hook要麻烦的多,前人栽树后人乘凉,希望我的这边文章能给大家对ios的hook有个清晰的认识…

iOS 越狱检测/反越狱

在 iOS 越狱设备上,游戏外挂开发人员可以对游戏程序砸壳用于逆向分析,也可以利用 substrate 对游戏逻辑进行 hook 从而制作出各种游戏外挂。这些游戏外挂程序可以被其他越狱玩家直接安装,也可以通过 cydia 商店进行分发。鉴于用户使用越狱设备…

初涉iOS逆向工程:免越狱修改微信(外观篇)

点击上方“iOS开发”,选择“置顶公众号” 关键时刻,第一时间送达! 美国学者埃德加戴尔(Edgar Dale)1946年提出了“学习金字塔”(Cone of Learning)的理论。他提到:学习效果在50%以上…

【电商运营】如何吸引客户?经典WhatsApp营销案例分享!

关键词:电商运营,WhatsApp营销 电子商务日趋成熟,竞争也越来越激烈。如果企业想保持领先地位,持续吸引客户,则需要将WhatsApp等消息传递应用程序添加到你的营销渠道。但是什么类型的WhatsApp营销活动适合电子商务呢&a…

通达信超跌反弹选股公式,使用筹码函数WINNER

在前面的文章中,已经介绍了WINNER函数,不过对于如何使用函数,当时只进行了简单举例,没有做深入研究。本文将结合WINNER函数的特性,编写通达信超跌反弹选股公式。 WINNER函数表示获利盘比例,取值范围是0-1&…

散户打板,一夜暴富?Pyhton量化11万次涨停,跟着买,收益竟...?【邢不行

你问我涨停敢死队算什么东西?我现在告诉你,你们机构不敢买的涨停,我们买;你们机构不敢割的肉,我们割。 一句话,机构能买的我们买,机构不能买的我们更要买!追逐涨停,只买…

交易员普遍使用的几个高胜率指标公式分享给你

交易者普遍运用的都是以下几个技术指标: 1、MACD指标 2、DMI指标 3、KDJ指标 4、布林线 5、移动平均线 6、RSI指标 7、波段买卖点技术指标 第7个那个指标我也是听朋友说他在做的比较好用的,而且没有滞后性。具体如下: 看下图 &…

教你炒股票7:给-赚-了指数亏-了-钱的一些忠告

教你炒股票7:给-赚-了指数亏-了-钱的一些忠告 2006/11/16 12:00:01 周四 今天不宠幸孔-二爷了,宠幸一下股票。早就说过,中国没有人有资格和本ID谈论股票。国庆前,香-港有几个大的基-金-经理过来,吃饭时让本ID给修理了一…

Java 的完整故事-从 1991 年到 2022 年

Java 的完整故事,从 1991 年到 2022 年 个人网站:www.gydblog.com 01、前言 今天,Java已经发展为世界上最流行和最受欢迎的编程语言之一,每年有超过数以万计的人在学习Java或从事Java开发相关的工作。毋庸置疑,Java技…

53岁周鸿祎晒清华录取通知书,攻读博士!网友:导师管你你服管吗?

上一篇:阿里将推行季度考核,员工转岗需先离职再入职 导读:今天换一换口味,摘个瓜尝尝。我们发现360创始人周鸿祎这两天又上了微博热搜了。 近日,周鸿祎在个人微博晒出清华大学录取通知书,称“终于考上了&am…

海尔智家业绩尚可,但其智能家居“全场景”没做起来

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 近日,海尔智家发布了其2022年年报,数据显示,2022年海尔智家实现收入2435.14亿元,同比增长7.2%;扣非归母净利润139.63亿元,同比增长18%,利润…

微软成立 48 周年 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 4 月 4 日,清明节。扫墓祭祖与踏青郊游是清明节的两大主题,而埋葬总陪伴着新生,在 1896 年的今天,首届现代奥运会…