資料格式

AHR999 資料格式

資料集提供兩種序列化 —— ahr999.jsonahr999.csv —— 列與欄完全一致。本頁是逐欄位的契約:型別、null 處理,以及你可以依賴的不變量。

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

欄位說明

欄位型別可空說明
datestringUTC 日曆日;收盤價取 Binance 00:00 至 24:00 UTC 的日 K 收盤。
closenumber每 BTC 的 USDT 價,來自 klines?symbol=BTCUSDT&interval=1d 的欄位 [4]
ma200number | nullclose 的 200 日簡單移動平均;前 199 列為 null
ahr999number | null(close / ma200) × (close / fitted)ma200 為 null 時取 null
quantile5ynumber | null,∈ [0, 1]ahr999 在當前視窗內的經驗排名;前 365 個有效 AHR 觀測期間為 null
windowKind"insufficient_samples" | "expanding" | "rolling_5y"該列採用的視窗類型。

你可以依賴的不變量

  • 列按 date 嚴格升序排列,無重複。
  • 沒有未來日期:最新 date 始終 ≤(今日 UTC − 1 天)。
  • ma200 === null,則 ahr999quantile5y 均為 null,且 windowKind === "insufficient_samples"
  • ahr999 !== nullquantile5y === 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 參考;各數值如何推導,見方法論