论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
企业信息化/数字化
›
MES
›
数字货币回测框架准备篇:下载与清洗某安全量历史数据 ...
数字货币回测框架准备篇:下载与清洗某安全量历史数据 ...
祗疼妳一个
金牌会员
|
2022-8-9 14:42:12
|
显示全部楼层
|
阅读模式
楼主
主题
783
|
帖子
783
|
积分
2349
更多精彩内容,
欢迎关注公众号:数量技术宅
,也可添加技术宅
个人微信号:sljsz01,
与我交流。
数据:回测到实盘的第一步
我们实现一个完整的量化投资策略,一般要经历历史数据准备、数据清洗、回测建模、实盘交易系统实现这4个步骤。其中,完整、高质量的历史数据,是我们整个流程的第一步。有了足够长时间、数据质量足够好的历史数据,我们才能将自己的想法形成的策略,通过回测在历史数据上进行验证,进而将通过历史回测检验的交易策略应用到实盘。
对于国内的股票、期货市场数据,我们可以通过许多三方的数据接口、数据商获取到高质量的历史数据,而对于数字货币市场,由于某些原因限制,我们很难获取到三方提供的数据。因此,寻找到一个我们可以免费获取的、数据时间足够长的、数据类型足够丰富的历史数据源,是我们研究数字货币策略,从回测到实盘的关键的第一步。
历史数据概览
我们为大家找到了完全符合上述要求的免费历史数据源,来自某安,其同时也是主流投资者交易的最多的平台,方便我们对接回测和实盘交易,即我们通过该交易平台历史数据的研究、回测得到的策略,可以直接用于该平台的实盘交易。
可以看到,其提供了丰富的历史数据种类,包括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线下载下来。如果我们仅仅获取某个币种很短一段时间的历史数据,上述手工下载的方式是可行的,但如果我们需要大规模回测多币种、多周期的历史数据,显然我们需要的是全自动的、更高效的数据下载方式。
如何调用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线数据,以及下载任意资产类别的成交数据等等,例如下载按日度整理的现货的成交数据,可以通过以下代码完成。
清洗历史数据准备回测
数据清洗第一步工作:解压缩。
对于下载的数据结果,我们可以看到,不论是1分钟周期,还是其他周期,都是按照月份放在一个个zip压缩文件夹内,如上一小节的本地截图所示。我们当然可以选择手工一个个解压缩,但最快的方式还是调用Python的zipfile工具进行批量的解压缩。
我们以解压全币种1分钟数据为例,打开其中一个币种1INCHUSDT的解压文件,看到的是按月划分的csv数据文件。
数据清洗第二步工作:数据预处理。
我们再打开第一个1INCHUSDT-1m-2020-12.csv的文件,会发现该数据的两个问题,首先是数据没有列名称,部分列数据我们无法推知其含义;其次是数据的时间戳列是用unix时间戳的形式记录的,对于回测不太方便,最好将其转化为普通的日期、时间。除此之外,由于数据是按月划分的,我们最好将其进行汇总,方便回测时能一次读入。
对于第一个列名问题,我们找到官方的说明文档,上面有关于每个列字段含义的说明。我们可以根据上述字段说明对于数据列名进行重命名。
因此,数据预处理部分的工作就是为了解决上述3个问题:列名、时间戳格式、以及数据合并。我们同样使用Python对数据进行预处理,最终得到的回测准备数据格式如下。每个币种一个文件,增加了正确的列名,并在最后两列增加了正确的日期和分钟时间。
往期干货分享推荐阅读
数字货币稳定币对网格做市策略
数字货币资金费策略
分享一个年化15%以上的无风险套利机会
网格交易系统开发
通过深度学习股价截面数据分析和预测股票价格
Omega System Trading and Development Club内部分享策略Easylanguage源码
一个真实数据集的完整机器学习解决方案(下)
一个真实数据集的完整机器学习解决方案(上)
如何使用交易开拓者(TB)开发数字货币策略
股指期货高频数据机器学习预测
如何使用TradingView(TV)回测数字货币交易策略
如何投资股票型基金?什么时间买?买什么?
【数量技术宅|量化投资策略系列分享】基于指数移动平均的股指期货交易策略
AMA指标原作者Perry Kaufman 100+套交易策略源码分享
【 数量技术宅 | 期权系列分享】期权策略的“独孤九剑”
【数量技术宅|金融数据系列分享】套利策略的价差序列计算,恐怕没有你想的那么简单
【数量技术宅|量化投资策略系列分享】成熟交易者期货持仓跟随策略
如何获取免费的数字货币历史数据
【数量技术宅|量化投资策略系列分享】多周期共振交易策略
【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数
商品现货数据不好拿?商品季节性难跟踪?一键解决没烦恼的Python爬虫分享
【数量技术宅|金融数据分析系列分享】如何正确抄底商品期货、大宗商品
【数量技术宅|量化投资策略系列分享】股指期货IF分钟波动率统计策略
【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
祗疼妳一个
金牌会员
这个人很懒什么都没写!
楼主热帖
容斥原理
高考是人生旅途的一处驿站
信息收集之 端口扫描
教你30分钟快速搭建直播间
Hyperf微服务——四、第一个微服务的搭 ...
【.NET 深呼吸】全代码编写WPF程序 ...
ASP.NET Core依赖注入系统学习教程:Se ...
苞米豆的多数据源 → dynamic-datasour ...
【K哥爬虫普法】大众点评VS百度地图, ...
多态详解
标签云
挺好的
服务器
快速回复
返回顶部
返回列表