JSON
发布于 /datasets/ahr999.json。一个 JSON 数组,每个 UTC 日历日对应一个对象,按从旧到新排序。以两空格缩进美化并带行尾换行,使每日提交的 git diff 保持可读。
[
{
"date": "2017-08-17",
"close": 4285.08,
"ma200": null,
"ahr999": null,
"quantile5y": null,
"windowKind": "insufficient_samples"
},
{
"date": "2026-04-19",
"close": 73801.79,
"ma200": 86578.65964999999,
"ahr999": 0.4116636687277032,
"quantile5y": 0.13917808219178082,
"windowKind": "rolling_5y"
}
]
CSV
发布于 /datasets/ahr999.csv。与 JSON 相同的行列,兼容 RFC 4180,UTF-8,带行尾换行。JSON 的 null 序列化为空字段。
date,close,ma200,ahr999,quantile5y,windowKind
2017-08-17,4285.08,,,,insufficient_samples
...
2026-04-19,73801.79,86578.65964999999,0.4116636687277032,0.13917808219178082,rolling_5y
字段说明
| 字段 | 类型 | 可空 | 说明 |
|---|---|---|---|
date | string | 否 | UTC 日历日;收盘价取 Binance 00:00 至 24:00 UTC 的日 K 收盘。 |
close | number | 否 | 每 BTC 的 USDT 价,来自 klines?symbol=BTCUSDT&interval=1d 的字段 [4]。 |
ma200 | number | null | 是 | close 的 200 日简单移动平均;前 199 行为 null。 |
ahr999 | number | null | 是 | (close / ma200) × (close / fitted);ma200 为 null 时取 null。 |
quantile5y | number | null,∈ [0, 1] | 是 | ahr999 在当前窗口内的经验排名;前 365 个有效 AHR 观测期间为 null。 |
windowKind | "insufficient_samples" | "expanding" | "rolling_5y" | 否 | 该行采用的窗口类型。 |
你可以依赖的不变量
- 行按
date严格升序排列,无重复。 - 没有未来日期:最新
date始终 ≤(今日 UTC − 1 天)。 - 若
ma200 === null,则ahr999与quantile5y均为null,且windowKind === "insufficient_samples"。 - 若
ahr999 !== null且quantile5y === null,则windowKind === "insufficient_samples"—— 即有有效 AHR,但观测不足 365 个、无法排名。 quantile5y是离散排名:只取k / N形式的值,其中N = 有效观测数 ≤ 1825。- 一旦
windowKind翻转为"rolling_5y"(第 1,825 个有效 AHR 观测),便不再翻回。 - 正常增量同步时,超过 5 天的日期其
close稳定;最近 5 天内可能因 Binance 的迟到修正而被刷新(5 天自愈回看)。
行数
数据集起点为 2017-08-17,因此任意一天大致可预期:
rows ≈ (today_UTC − 2017-08-17) / 1 天
作为参照,2026-04-19 的快照有 3,168 行。如需以程序方式取数,见 API 参考;各数值如何推导,见方法论。