BUILD · M / W / F
3,409份期權合約,希臘值全空

一個值得反覆思考的觀點。
一個完美的空陣列
歷史期權介面從九條鏈返回了 3,409 份合約。每一條合格記錄都有 bid、ask、報價量、成交量、未平倉量和標的價格。
希臘值陣列看起來也很完美。陣列存在,長度正確,與合約逐項對齊。
裡面每一個值都是 null。
隱含波動率:3,409 條中 0 條有值。
Delta:3,409 條中 0 條。
Gamma、Theta 和 Vega:同樣為零。
這是我見過最乾淨的資料品質事故之一,因為從 schema 層看,什麼都沒有壞。請求成功,回應包含承諾欄位,陣列通過長度校驗。只檢查“存在”和“形狀”的管線,很可能自信地亮起綠燈。
資料擁有結構,卻沒有證據。
成功回應也可以什麼都沒說
探針覆蓋三個大型高流動性標的、三個歷史日期。它在限定到期期限內請求標準價外看漲期權,並在正規化之前保存原始回應。
價格和流動性欄位完全符合預期,九條鏈的陣列長度都有效,HTTP 行為也保持一致。
正因為其他地方如此一致,希臘值缺失才更重要。
間歇性宕機可以重試,畸形 payload 可以拒絕。一個有效回應持續缺少某個欄位,需要另一種決定:研究排除該欄位,或者尋找新來源。
探針把結果分類為 UPSTREAM_HISTORICAL_CHAIN_GREEKS_NULL。它沒有指控下游 TSLA 研究丟掉資料,也沒有把 null 寫成 0。它只精確地劃出證據邊界:在這個介面和帳戶環境下,歷史 payload 的陣列尺寸正確,希臘值卻全部缺失。
這句話沒有“API 失敗”那麼戲劇化,營運價值高得多。
Schema 承諾的是形狀
開發者常把 API schema 當成資料承諾。
Schema 通常只承諾類型與位置。它會說回應中有一個叫 delta 的陣列,也會說明它是數字或可空欄位,卻很少保證每個產品、日期、權限和帳戶層級的歷史觀察都會填入數值。
該期權介面說明文件列出了希臘值欄位,產品介紹也明確宣傳即時報價的希臘值和隱含波動率。歷史日終期權鏈並沒有同樣明確的填充承諾。
欄位可用性同時是一份商業合約和時間合約,範圍遠大於 JSON 合約。
穩健的資料入口要問三層問題:
- 存在: 欄位在不在?
- 形狀: 類型與基數對不對?
- 覆蓋: 真正符合決策條件的記錄,有多少包含可用值?
希臘值陣列通過前兩層,第三層得到徹底的零。
Null 本身就是資訊
人們常想把 null 藏起來。在研究系統里,null 是對證據供應狀況的一次觀察。
把 null 希臘值替換成 0,會創造一批經濟上荒謬的期權:所有行權價和期限的看漲期權,都擁有零 Delta、零 Gamma、零 Theta 和零 Vega。數學表格很整齊,金融含義完全失真。
刪除整行會製造另一種幻覺。資料集縮小甚至消失,讀者卻無法知道究竟缺了價格、流動性,還是只有希臘值缺席。
保留 null,研究就能繼續使用來源真正提供的內容。歷史 bid 可以支持權利金研究,流動性欄位可以篩選可用報價,模型可以用期限、價內外程度、價差和未平倉量選擇代表合約。依賴希臘值的結論則留在範圍之外。
這種建設性的缺失,會縮小問題,不會毀掉整份資料集。
供應商只是多個可能原因之一
第一份 TSLA 輸出沒有希臘值時,至少有幾種合理解釋。
請求可能漏了參數;正規化層可能丟掉了有效值;ticker 篩選可能誤刪;介面可能要求額外權限;歷史產品與即時產品可能不同;供應商也可能只在部分日期出現故障。
團隊沒有憑直覺挑選一個故事。
它在多個 ticker 與日期上建立有限探針,保存原始回應,記錄安全 header 與哈希,並在任何下游轉換之前量化覆蓋。九條鏈全部復現同一模式。
這一步很重要,因為隨口責怪供應商同樣是一種草率。缺失來自哪一層,應由證據定位。最終措辭保留帳戶與介面背景,因為另一種權限或產品可能產生不同結果。
具體,既保護供應商,也保護研究。
每個欄位旁邊都要寫覆蓋率
資料摘要通常報告行數、日期和 ticker。它還應該報告決策邊界上的欄位覆蓋。
這次探針的記分牌非常直接:
- 價格與流動性欄位:3,409 / 3,409;
- 隱含波動率:0 / 3,409;
- Delta:0 / 3,409;
- Gamma:0 / 3,409;
- Theta:0 / 3,409;
- Vega:0 / 3,409。
覆蓋率要在合格篩選之後計算,因為原始回應可能包含策略絕不會考慮的合約;也要按 ticker 和日期拆分,避免一條密集鏈掩蓋缺失區段。
同一原則適用於整個金融資料架構。基本面表可以有 revenue 列,發行人覆蓋卻很稀;證券商回應可以包含 balance 欄位,某類帳戶卻從不填值;交易流可以有 timestamp,代表的卻是接收時間而非事件時間;氣候資料也可能因司法轄區不同,排放欄位覆蓋懸殊。
Schema 告訴我們答案應該住在哪裡。覆蓋率告訴我們,答案有沒有到家。
縮小論點,研究仍可繼續
缺少希臘值,沒有終結市場資料項目。
研究縮小了自己的合約:用歷史日終 bid 支持權利金證據;用正 bid、合理 ask、標的價格、期限和受控價差定義報價可用性;在相同日期、期限、價內外程度和事件狀態下比較代表合約,避免密集鏈獲得額外統計權重。
同時,明確排除歷史希臘值。
這個決定降低了一部分分析的複雜度,也提高了每項公開結論的可靠性。項目只研究保留證據能夠支持的內容,不會合成一組看起來專業、底層卻靠想象填充的敏感度。
管理者經常面對同樣選擇。完整外觀能製造推進感,範圍較小的誠實答案能成為下一個正確問題的平台。
後者會復利。
資料合約需要一扇退出門
關鍵欄位在進入生產之前,都應寫好回應政策。
- 欄位有值,檢查範圍與一致性;
- 部分有值,量化覆蓋並限制用途;
- 系統性為 null,排除欄位並記錄證據邊界;
- 決策必需欄位缺失,保持
HOLD,直到另一來源或方法解決; - 允許估算時,標記模型並保存原始缺口。
這樣,下游模型即使強烈期待一個數字,團隊也不會在最後一刻隨手填值。
政策也給供應商留出退出門。一項服務可以非常適合歷史價格,在某個產品環境里卻無法供應歷史希臘值。採購要求因此必須落到欄位層。“我們需要期權資料”太含糊,無法談判,也無法測試。
管理層真正要學的一課
這次事件改變了我看待綠色勾選的方式。
200 OK 表示伺服器按照介面合約處理了請求;field_present=true 表示 key 存在;array_length_valid=true 表示形狀對齊。這些狀態都不能證明該欄位為眼前決定提供了證據。
最後一道閘門必須問業務問題:符合條件的觀察中,有多少攜帶可用值?這樣的覆蓋支持什麼結論?
答案可能是 3,409,也可能是零。兩個數字都重要。
這些歷史期權鏈足以研究權利金與流動性,也足以憑徹底空白的希臘值禁止相關分析。保留兩項事實,項目可以繼續,也不會教模型虛構金融。
生產環境的覆蓋閘門
這次探針提供了一套可復用規則:為每個關鍵欄位定義最低覆蓋率、有效範圍和分段要求;按來源、日期、標的組和決策用途衡量。很高的全局百分比,仍可能藏住最近一段時間或整個產品族的缺失。
然後把覆蓋映射到行動。描述圖表可以接受標注清楚的部分資料;排名需要更高門檻;交易或資本決定可能要求所選標的完整。相同欄位會因風險半徑不同而擁有不同閘門。
機器可讀的品質報告應與資料集放在一起,讓未來研究能夠證明當時採用的品質合約。
不要隨手估算決策變量
插補可以是嚴肅統計工作。危險來自一項估算悄悄繼承了真實觀察的權限。
如果研究根據價格、期限、利率和波動率計算希臘值,輸出必須標記為模型值,保存公式版本、假設和不確定性,也絕不能覆蓋上游 null。未來同時取得供應商值和模型值時,兩條證據才能比較。
這項區分也改善採購。模型敏感度可能足以探索,受監管報告或執行控制則可能要求觀測值或獨立驗證值。證據標籤決定用途。
逐份合約做抽查
總體覆蓋率仍可能漏過語義錯誤。最後還要挑少量合約,從頭到尾核對。
期權符號是否映射到正確到期日和行權價?bid、ask 與希臘值陣列索引是否對齊?標的價格是否屬於歷史日期?單位是否一致?歸檔原始 body 能否復現同一記錄?
形狀校驗可以抓住破損陣列。逐份檢查可以抓住完美對齊的錯誤答案。
在欄位層採購資料
正確的供應商問題應當具體:“對於這段日期、這類標準歷史期權和這項權限,Delta 與隱含波動率的非空覆蓋是多少?數值如何計算?”
這個問題可以回答。“你們有期權資料嗎?”只會換來一份產品手冊。
欄位級採購也讓多來源架構更合理。一家提供監管檔案,一家提供歷史報價,一家提供即時希臘值。研究系統要記錄每項結論由誰提供,以及各來源時鐘怎樣對齊。
那張沒有出現的圖表
最終研究沒有一張依賴希臘值的圖。這項缺席本身就是交付物。
團隊完全有能力做出圖表:估算數值、借用當前敏感度,或讓 0 流進公式,都能讓報告更豐富,同時讓證據更貧窮。
排除這些欄位,為未來工作保留了乾淨邊界。新來源或模型方法以後可以通過明確版本加入;原始的 3,409 行探針繼續作為耐久基線,無需被悄悄覆蓋。
留給未來的比較
新來源到達時,項目可以先重跑同一組九格探針,比較覆蓋,再決定是否改變研究。若希臘值有了資料,就建立一條新的證據分支,連同方法與校驗一並保存。
新證據永遠不會回頭填補歸檔中的 null 陣列。
版本化改進同時保護學習和時間真實性。
對投資流程的遷移
另類資料銷售常以覆蓋廣度開場。投資者真正要問的是:承載論點的確切欄位、日期和決策樣本,覆蓋了多少。缺失組合邊界上的關鍵變量,再多行數也補不回來。
採購前做一個小型探針,能省下數月下游工作。凍結原始回應,測量非空覆蓋,檢查語義對齊。採購目標應當是支持決定的欄位;供應商產品手冊的厚度沒有投資價值。
最好的資料集,會用清楚邊界回答自己被分配的問題。
決策說明
- 類別: 市場資料、期權、資料品質
- 關鍵詞: null、schema、覆蓋率、希臘值、歷史期權鏈
- 證據: 三個 ticker、三個日期、九份歸檔原始回應
- 決定: 在該來源環境中排除歷史希臘值,並讓欄位覆蓋率進入所有下游產物
#MarketData #Options #DataQuality #QuantLab #RobinOS