网易首页 > 网易号 > 正文 申请入驻

数字货币回测准备:下载与清洗全量历史数据

0
分享至

01

历史数据:回测到实盘的第一步

我们实现一个完整的量化投资策略,一般要经历历史数据准备、数据清洗、回测建模、实盘交易系统实现这4个步骤。其中,完整、高质量的历史数据,是我们整个流程的第一步。有了足够长时间、数据质量足够好的历史数据,我们才能将自己的想法形成的策略,通过回测在历史数据上进行验证,进而将通过历史回测检验的交易策略应用到实盘。

对于国内的股票、期货市场数据,我们可以通过许多三方的数据接口、数据商获取到高质量的历史数据,而对于数字货币市场,由于某些原因限制,我们很难获取到三方提供的数据。因此,寻找到一个我们可以免费获取的、数据时间足够长的、数据类型足够丰富的历史数据源,是我们研究数字货币策略,从回测到实盘的关键的第一步。

02

历史数据概览

我们为大家找到了完全符合上述要求的免费历史数据源,来自某安,其同时也是主流投资者交易的最多的平台,方便我们对接回测和实盘交易,即我们通过该交易平台历史数据的研究、回测得到的策略,可以直接用于该平台的实盘交易。

可以看到,其提供了丰富的历史数据种类,包括K线数据、成交数据、指数数据、Orderbook数据等,同时数据也覆盖了现货、USDT本位合约、币本位合约的全品类历史标的。不论是研究单一标的,还是研究套利(合约、现货)都可以从该数据源获取适合的数据。

我们看到上图的右侧是有下载按钮的,也就是每一种数据类型,币种类型,我们都可以点击进入对应的下载链接进行下载,我们以K线数据为例,点进K-line界面的USD - M FuturesData右侧的下载图表,实际上进入的是币安存放历史数据的ftp,进入后的数据展示界面如下。

可以看到该界面是按照币种来进行排布的,我们随意点击进入一个币种,以ADAUSDT为例。

ADAUSDT目录下是该币种的各个K线周期,每个K线周期对应的是不同周期下的K线数据。平台提供的K线周期很全,从1分钟K到日K级别的各个周期都有。假如我们点击进入1m/的这个链接,将显示如下页面。

可以看到这个页面下对应的是ADAUSDT合约每一天的1分钟K线数据,其中每天的数据都是以一个zip文件进行了打包。除了数据文件,还有一个日期对应的同名CHECKSUM文件,是在下载后帮忙我们检查下载数据完整性的,有了这个CHECKSUM文件,我们就可以避免在下载过程中出现的数据丢失而导致后续回测中出现数据方面的问题。

除了我们举例看到的ADAUSDT,其他的币种,也是按照同样的方式,在数据FTP上进行排列存放的,我们随机再看一个币种SHIBUSDT,也是同样的格式。

当然,除了按日排布存储的历史数据外,我们还可以下载到按月排布的历史数据,即某个币种某一个月的历史数据,统一存放在一个zip文件中。平台提供了多种存储形式,供我们选择。按月排布的历史数据,其优点是我们下载过程中所需要下载处理的文件数量显著变少,而其缺点是数据每月月末才更新当月数据,某些需要滚动回测调优参数的策略,月度数据会稍显滞后。

以上我们看到的数据展示,都可以点击页面的数据链接直接下载。比如我们点击上图的最后一行1000SHIBUSDT-1m-2022-01.zip,就可以将SHIBUSDT在2022年1月的1分钟K线下载下来。如果我们仅仅获取某个币种很短一段时间的历史数据,上述手工下载的方式是可行的,但如果我们需要大规模回测多币种、多周期的历史数据,显然我们需要的是全自动的、更高效的数据下载方式。

03

如何调用API下载历史数据

幸运的是,我们可以调用历史数据下载的API接口,来完成大规模、批量下载历史数据的工作。根据上述截图可以发现,该历史数据在ftp上的文件分布呈现出很强的规律性,即以monthly、daily区分月度、日度数据,以klines等标签区分数据是k线数据或成交数据或Orderbook数据,接下来再以币种、K线周期划分不同的数据集。

因此,我们只需要调用API接口,按照文件夹的排布规模,下载对应所需的数据即可。我们以下载所有USDT本位合约的K线数据为例。首先,我们调用get_all_symbols接口获取所有的USDT本位合约的名称。由于USDT本位合约还有BUSD为货币基准的币种合约,为减少下载数据量,我们仅选取USDT为货币基准的U本位合约。

接下来,我们就可以下载所有选中合约的K线数据了,我们选择的是下载全USDT币种、全时间、所有周期的K线数据,因此在对应的配置文件中,设置好对应的时间范围、K线周期范围。

第三步,我们调用API中的数据下载方法,到对应的文件夹名称下获取我们所需的K线数据。此处的代码示例,我们获取的是U本位合约下、按月度发布的全量K线数据,与此同时,我们还下载了对应的checksum文件,为数据解压校验做准备。

第四步,开始运行程序,在运行界面我们可以看到,对于上一次运行已经下载的文件,程序不会重复下载,只会下载增量部分,与此同时,如果该请求时间对应的目录或文件不存在,系统也会发出提示。

第五步,查看下载的文件。以下是我们下载到本地,其中一个币种1INCHUSDT的数据样例。可以说,批量下载就是一个把服务器上的文件结构搬运到本地的过程。

当然,除了USDT本位合约的K线数据,我们还可以下载现货K线数据,以及下载任意资产类别的成交数据等等,例如下载按日度整理的现货的成交数据,可以通过以下代码完成。

04

清洗历史数据准备回测

数据清洗第一步工作:解压缩。

对于下载的数据结果,我们可以看到,不论是1分钟周期,还是其他周期,都是按照月份放在一个个zip压缩文件夹内,如上一小节的本地截图所示。我们当然可以选择手工一个个解压缩,但最快的方式还是调用Python的zipfile工具进行批量的解压缩。

我们以解压全币种1分钟数据为例,打开其中一个币种1INCHUSDT的解压文件,看到的是按月划分的csv数据文件。

数据清洗第二步工作:数据预处理。

我们再打开第一个1INCHUSDT-1m-2020-12.csv的文件,会发现该数据的两个问题,首先是数据没有列名称,部分列数据我们无法推知其含义;其次是数据的时间戳列是用unix时间戳的形式记录的,对于回测不太方便,最好将其转化为普通的日期、时间。除此之外,由于数据是按月划分的,我们最好将其进行汇总,方便回测时能一次读入。

对于第一个列名问题,我们找到官方的说明文档,上面有关于每个列字段含义的说明。我们可以根据上述字段说明对于数据列名进行重命名。

因此,数据预处理部分的工作就是为了解决上述3个问题:列名、时间戳格式、以及数据合并。我们同样使用Python对数据进行预处理,最终得到的回测准备数据格式如下。每个币种一个文件,增加了正确的列名,并在最后两列增加了正确的日期和分钟时间。

本期分享的完整版源码于数量技术宅知识星球独家发布,想要加入的朋友,请添加技术宅微信sljsz01或sljsz05领取星球优惠券。

知识星球量化学院官方指定优惠链接

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
鲶鱼须之后,“水母头”又在小学生中流行,颜值低的剪了很尴尬

鲶鱼须之后,“水母头”又在小学生中流行,颜值低的剪了很尴尬

蝴蝶花雨话教育
2026-04-19 00:50:03
你是怎么发现老婆出轨的?网友匿名分享真实经历,一个比一个扎心

你是怎么发现老婆出轨的?网友匿名分享真实经历,一个比一个扎心

大熊欢乐坊
2026-04-20 02:29:01
杜兰特伤情更新!G2出战状态最新消息

杜兰特伤情更新!G2出战状态最新消息

行舟问茶
2026-04-20 13:21:07
他是毛主席的好干部,1979年判刑13年,2004年去世十万人沿街磕头

他是毛主席的好干部,1979年判刑13年,2004年去世十万人沿街磕头

阿器谈史
2026-04-20 16:26:53
激烈交锋,解放军接到消息,日本恐重蹈二战覆辙,岸田文雄已扛旗

激烈交锋,解放军接到消息,日本恐重蹈二战覆辙,岸田文雄已扛旗

阿校谈史
2026-04-20 15:44:39
绝不谈判!永久关闭豁免窗口!中国打响光刻机反击战

绝不谈判!永久关闭豁免窗口!中国打响光刻机反击战

阿七说史
2026-04-20 15:10:26
美伊复谈美先遣团队抵达伊斯兰堡

美伊复谈美先遣团队抵达伊斯兰堡

界面新闻
2026-04-19 20:41:03
鹿晗生日关晓彤删庆生动态,男方曾被曝出轨,女方上春晚哭肿双眼

鹿晗生日关晓彤删庆生动态,男方曾被曝出轨,女方上春晚哭肿双眼

冷紫葉
2026-04-20 17:08:43
男子收到陌生账号转账8万余元,3天后一奢侈品牌商家找来:员工误将其收款码给交易客户;男子称巨款或给账户造成金融安全风险

男子收到陌生账号转账8万余元,3天后一奢侈品牌商家找来:员工误将其收款码给交易客户;男子称巨款或给账户造成金融安全风险

大象新闻
2026-04-19 23:47:08
外交部谈霍尔木兹海峡局势:对美方强制截停有关船只表示关切

外交部谈霍尔木兹海峡局势:对美方强制截停有关船只表示关切

新京报
2026-04-20 15:47:06
72岁王健林健康引担忧,眼神痴呆嘴歪到认不出,疑患癌后消耗暴瘦

72岁王健林健康引担忧,眼神痴呆嘴歪到认不出,疑患癌后消耗暴瘦

往史过眼云烟
2026-03-15 17:12:00
小学生拒绝“借”车遭殴打还被搜家,8人未满14岁不处罚、1人被处行拘免执行,家长称看施暴视频气得吃救心丸

小学生拒绝“借”车遭殴打还被搜家,8人未满14岁不处罚、1人被处行拘免执行,家长称看施暴视频气得吃救心丸

极目新闻
2026-04-19 22:39:27
16分钟被定位2639次!国家安全部紧急提醒:手机轨迹恐成泄密地

16分钟被定位2639次!国家安全部紧急提醒:手机轨迹恐成泄密地

有范又有料
2026-04-18 16:35:23
美国首次动武扣伊朗船只,特朗普称不做“好好先生”,谈判还有戏吗?

美国首次动武扣伊朗船只,特朗普称不做“好好先生”,谈判还有戏吗?

上观新闻
2026-04-20 15:38:03
美国死盯伊朗,金正恩突然亮出核武牌,短短数小时连出两记重拳

美国死盯伊朗,金正恩突然亮出核武牌,短短数小时连出两记重拳

黑鹰观军事
2026-04-20 14:42:19
柳叶刀子刊:过量吃猪牛羊肉、吸烟和高血糖,是全球乳腺癌激增的「隐形推手」

柳叶刀子刊:过量吃猪牛羊肉、吸烟和高血糖,是全球乳腺癌激增的「隐形推手」

医诺维
2026-04-20 16:58:33
文章面馆开业4天后,终于有艺人到场!网友:这对比太心酸了

文章面馆开业4天后,终于有艺人到场!网友:这对比太心酸了

娱小余
2026-04-19 23:21:33
失败了!送出全明星首发+1亿美金,换了31岁黑洞,真不如去马刺啊

失败了!送出全明星首发+1亿美金,换了31岁黑洞,真不如去马刺啊

篮球信息社
2026-04-19 20:46:27
一季度被外国人买走50亿元的保温杯,有8成出自这个浙江小县城

一季度被外国人买走50亿元的保温杯,有8成出自这个浙江小县城

金卡读城
2026-04-20 17:21:33
巴黎FC主帅:我们队里的意大利人都比尤文和米兰的意大利人多

巴黎FC主帅:我们队里的意大利人都比尤文和米兰的意大利人多

懂球帝
2026-04-20 09:47:26
2026-04-20 18:03:00
数量技术宅 incentive-icons
数量技术宅
爱好数据分析量化投资的技术宅
272文章数 211关注度
往期回顾 全部

科技要闻

华为Pura90逆周期定价,4699元起,未涨价

头条要闻

小伙入职仅一天公司40多部手机集体"失灵" 警方提醒

头条要闻

小伙入职仅一天公司40多部手机集体"失灵" 警方提醒

体育要闻

阿森纳已拼尽全力,但你早干嘛去了...

娱乐要闻

鹿晗生日上热搜,被关晓彤撕下体面

财经要闻

月之暗面IPO迷局

汽车要闻

把天门山搬进厂?开仰望U8冲上45度坡的那刻 我腿软了

态度原创

健康
游戏
时尚
艺术
公开课

干细胞抗衰4大误区,90%的人都中招

索尼大一统!PS6超全爆料:全兼容PS4/PS5 掌机超强

今年最流行的衣服竟然是它?高级又气质!

艺术要闻

王羲之《换鹅帖》尚在人间,惊艳无比!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版