如何從現有的機率密度函式值擬合 KDE
我正在處理期權數據,並且正在使用 Breeden-Litzenberger 公式推導出風險中性終端股價 PDF。應用公式後,這裡是行使價與 Breeden-Litzenberger pdf 的散點圖:
在這個階段,我想使用 KDE 擬合
statsmodels.nonparamteric.KDEUnivariate
,然後使用scipy.interpolate.interp1d
獲得 CDF 函式,確保擬合 PDF 下的面積 = 1 等。如何使用 PDF 值而不是來自相關分佈的樣本來執行此操作?我應該做引導嗎?我是否應該讓 CDF
GammaGam
具有值 > 0 和強加constraints='monotonic_inc'
?總體目標是獲得一個 CDF 函式,確保它實際上在統計上是正確的。
任何輸入將不勝感激!
從統計的角度來看,處於一種情況下是不標準的
- 有一個“嘈雜的 CDF ”,
- 從中採樣點,
- 推導出另一個“噪音較小”的 CDF。
您可以重複第 (2) 和 (3) 點來“引導 CDF”,但這意味著什麼?
首先,您必須知道bootstrap 不是魔術:它允許“天真地”獲得估計量變異數的無偏估計,但僅此而已。如果您想獲得分位數(這正是您的目標,因為經驗 CDF 是由分位數組成的),您必須進行一些更正。Efron(bootstrap 的作者)在DiCiccio、Thomas J. 和 Bradley Efron(1996 年)的主題“引導信賴區間”上有一篇不錯的論文。
定性地說,很明顯,如果你沒有足夠的樣本點,你就無法獲得更好的分位數估計,只能重複使用你的點。它僅在漸近極限有效(如果您有無限多的點,則不需要引導程序)。
其次,從有雜訊的 CDF 開始無法生成沒有雜訊的樣本點。您最大的希望是,如果您對“足夠少”的點進行採樣,那麼您在第 (3) 點使用的方法將“規範化”“次要”CDF。事實是,沒有充分的理由這樣做,除非“真實的、無噪音的基礎 CDF”與您的步驟 (3) 的一種使用方法屬於同一家族。例如,讓它變得非常簡單:
- 如果基礎 CDF 是高斯分佈,
- 並且步驟(3)假設它是高斯的,因此它只計算其均值和變異數。
- 那麼它當然可以工作。
第三,為了非常實用,你應該記住你在談論衍生品、市場價格和風險中性機率:如果你改變它,它會說明市場價格。修改原始分配的成本應該反映在市場價格上(即在給定的罷工時),而不僅僅是來自統計程序。例如,您不應該修改點數是交易量很大的罷工,因為市場參與者“堅信”它們。