行情数据的公开出处
一句话速览
哪些数据是免费且原始的、哪些是加工过的,以及为什么不同来源的数字经常对不上。
这节课要你带走的
行情数据有哪几类公开出处、不同出处的口径差在哪,以及自己取数时最容易犯的三个错。
这一篇讲工具。开头先说清楚这一篇的定位: 工具能降低摩擦,但不产生优势。 没有任何一个数据源或软件能让你从亏钱变成赚钱, 它们只能让你少犯不必要的错。
四类公开出处
| 类型 | 拿到什么 | 注意 |
|---|---|---|
| 交易场所的公开接口 | 该场所自己的成交数据,粒度最细 | 只代表这一家,不是全市场 |
| 行情聚合服务 | 跨场所的综合报价 | 综合方式各家不同,要看它的说明 |
| 指数编制方 | 成分与权重公开的参考价 | 口径最规范,但更新频率通常较低 |
| 链上浏览器 | 链上转账、合约调用等原始记录 | 不是价格数据,见 下一节 |
本站不推荐任何具体服务, 上面四类在公开网络上都能找到多个提供方, 自己按「文档是否公开、口径是否写清楚」来挑。
口径差在哪
同一个币在同一时刻,不同出处的价格可能不一样。原因有三个:
一是场所不同。 各个场所的买卖盘是独立的,价格由各自的供需决定, 套利会拉近它们但不会完全消除差距。
二是计价单位不同。 以不同稳定币计价的同一个币,价格会差一点, 因为那些稳定币自己也在小幅波动。
三是时间戳口径不同。 有的按撮合时间,有的按接收时间, 在做高频分析时这个差别会放大。
所以做任何统计前,先固定一个数据源,并把它写进方法说明里。
自己取数最容易犯的三个错
一、时区没对齐
多数接口返回的是 UTC 时间戳。 按本地时间切「日线」会得到一套跟别人对不上的数据, 而且这个错误很隐蔽,因为图看起来是正常的。
做法:统一用 UTC,并在结果里注明。
二、把不同时期的合约当成连续的
永续合约没有这个问题, 但交割合约到期后是另一份合约, 直接拼接会在换月处造成假的跳空。
三、用当前的币种列表去回测过去
这是 幸存者偏差那一节讲的问题, 在自己取数时特别容易犯,因为接口只会返回现在还在的那些。
一个可复现的习惯
每次取数,把这四项跟数据存在一起:
出处、时间区间、取数日期、接口参数。
这四项让别人(以及三个月后的你) 能重跑出同样的结果。 本站课文里引用的每一组统计都是这么标的, 你在自己的复盘里也应该这么做。
做
今天就做这一件事
随便挑一个币,在两个不同的出处看同一时刻的价格,记下差多少。
然后去看这两家各自怎么说明自己的口径。这件事做过一次,你以后就不会再问「到底哪个价格是对的」。
带走这一条:工具能降低摩擦但不产生优势。行情数据有四类公开出处,口径差异来自场所、计价单位和时间戳三处,所以做统计前要先固定一个源并写进方法说明。自己取数最容易犯的错是时区没对齐、拼接不同期合约、用当前币种列表回测过去。