Volterra 過程:協方差結構推導、離散化與 Python 模擬|Quant Math 第 10 講筆記
第 10 課・共 14 課
目錄
這是 Roman Paolucci 量化金融數學系列按發佈時序的第 10 講。近年金融數學文獻中,粗糙波動率模型 Rough Volatility 家族因能擬合隱含波動率曲面的偏斜(尤其是 0DTE 期權)而備受注目。本講的主角 Volterra 過程正是研究這類模型時不可或缺的一類高斯過程:它是高斯過程的因果表示 Causal Representation,可以透過選擇不同的 Volterra 核函數 Kernel,誘導出具長期記憶的協方差結構。講者先推導其協方差函數,再推導離散化公式,最後在 Python 實作三種核函數的模擬。
學習重點
- Volterra 過程的定義:$X_t = \int_0^t K(t,u)\,dW_u$——由核函數 $K$ 加權的布朗增量隨機積分,是高斯過程的子類。
- 協方差結構推導:利用伊滕等距 Itô Isometry 與布朗運動增量的性質,得 $\gamma(s,t) = \int_0^{\min(s,t)} K(s,u)K(t,u)\,du$。
- 因果表示的意義:$u > t$ 時 $K(t,u)=0$——只需過去的資訊即可產生正確分布,毋須全局路徑知識;這正是 Davies-Hart 等譜方法做不到的,對路徑依賴期權定價至關重要。
- 離散化:時間網格 $\Delta t_i = iT/n$,過程逐步構建 $X_{\Delta t_i} \approx X_{\Delta t_{i-1}} + \sum_{j=0}^{i} K(\Delta t_i, \Delta t_j)\,\Delta W_{\Delta t_j}$。
- 核函數決定一切:$K=1$ 還原布朗運動;指數衰減核還原 Ornstein-Uhlenbeck 均值回歸;分數核(Hurst 指數)產生長期記憶的粗糙動態。
- 非馬可夫性:增量依賴整條路徑歷史,計算上每步須遍歷歷史,模擬成本高昂;驗證方法是大數定律下經驗協方差收斂到理論協方差。
詳細筆記
背景:粗糙模型與 Davies-Hart 的局限
講者先交代動機。粗糙波動率模型家族近年備受關注,原因是其對隱含波動率曲面偏斜的擬合能力,尤其是 0DTE 期權。其中一類相關的高斯過程子類就是 Volterra 過程——它具備因果表示,能以核函數誘導出粗糙模型所需的長期記憶協方差結構。
講者對比其舊作:分數布朗運動(fBM)的 Davies-Hart 模擬方案雖然高效,但過程非因果——需要全局路徑知識才能誘導目標協方差結構,這在衍生工具定價(尤其路徑依賴合約)中是致命傷。Volterra 過程則可以迭代地由左至右構建路徑,毋須預知未來。
第一步:協方差函數推導
兩個時間點 $s$、$t$ 之間的自協方差,按定義:
$$\gamma(s,t) = \mathbb{E}\left[(X_s - \mathbb{E}[X_s])(X_t - \mathbb{E}[X_t])\right]$$由於驅動的是標準布朗運動,$\mathbb{E}[X_s] = \mathbb{E}[X_t] = 0$,簡化為:
$$\gamma(s,t) = \mathbb{E}[X_s X_t] = \mathbb{E}\left[\int_0^s K(s,u)\,dW_u \int_0^t K(t,v)\,dW_v\right]$$($u$、$v$ 為兩個積分各自的啞變量。)顯然,核函數 $K$ 的選擇將主導協方差結構。
如何化簡這個含兩個隨機積分的期望?講者祭出伊滕等距:兩個隨機積分乘積的期望,等於加權函數乘積的(普通)雙重積分,再乘以布朗增量乘積的期望。而布朗增量的關鍵性質是:
$$\mathbb{E}[dW_u\,dW_v] = \begin{cases} du & u = v \\ 0 & u \neq v \end{cases}$$(時間指標相同時是二次變差 $(dW)^2 = dt$ 的思想;不同時增量獨立、期望為零。)這令雙重積分大幅塌縮——只有 $u=v$ 的「對角線」有貢獻,於是:
$$\mathbb{E}\left[\int_0^T f\,dW \int_0^T g\,dW\right] = \int_0^T f(u)\,g(u)\,du$$第二步:因果性與 min 函數上限
把上述結果套回 Volterra 過程:$f = K(s,\cdot)$、$g = K(t,\cdot)$,共享同一布朗增量,於是
$$\gamma(s,t) = \int_0^T K(s,u)\,K(t,u)\,du$$但還差最後一步——因果表示的約束。Volterra 核以「相對意義」定義:若只有時間 $s$ 為止的資訊,向後看($u \leq s$)核函數非零;向前看($u > s$)則必然為零——否則就是用未來資訊決定當下結構,違反因果。換言之:
$$K(s,u) = 0 \quad \text{當 } u > s$$因此乘積 $K(s,u)K(t,u)$ 只在 $u$ 同時不超過 $s$ 與 $t$ 時非零——即 $u \leq \min(s,t)$。最終協方差函數:
$$\boxed{\gamma(s,t) = \mathbb{E}[X_s X_t] = \int_0^{\min(s,t)} K(s,u)\,K(t,u)\,du}$$講者提醒:這不再是隨機積分——期望把一切可能世界狀態按概率壓縮成一個統計量,描述兩個時間指標下過程值「傾向同向還是反向移動」。
核函數的選擇決定過程性格
這個框架的強大之處在於:換一個核函數,就換一種動態:
- 平凡核 $K = 1$:還原標準布朗運動(協方差退化為 $\min(s,t)$,這正是布朗運動的協方差函數)。
- 指數衰減核(含衰減參數 $\theta$,依 $t-s$ 指數衰減):重現 Ornstein-Uhlenbeck 式的均值回歸過程。
- 分數核(含 Hurst 指數 $H$):產生分數布朗運動式的路徑依賴與長期記憶——文獻認為這種動態更能擬合波動率偏斜。
第三步:時間網格離散化
電腦沒有無限記憶,不能走連續步——只能走很小的離散步,再以分段線性插值「連點成線」。
時間網格是確定的(隨機的是過程值,不是時間——例如一個月後期權到期是已知事實)。設終點 $T$、步數 $n$:
$$\Delta t = \frac{T}{n}, \qquad \Delta t_i = \frac{iT}{n}, \qquad i \in \{0, 1, \dots, n\}$$驗證:$i=0$ 得原點 0;$i=1$ 得 $T/n$(一步);$i=n$ 得 $nT/n = T$——保證走完網格必到達終點。
第四步:過程的迭代構建
由 $X_0 = 0$ 出發,離散積分就是離散求和。第一個值:
$$X_{\Delta t_1} = X_0 + \sum_{j=0}^{1} K(\Delta t_1, \Delta t_j)\,\Delta W_{\Delta t_j}$$一般化(講者在白板與 notebook 上同步推導):
$$X_{\Delta t_i} \approx X_{\Delta t_{i-1}} + \sum_{j=0}^{i} K(\Delta t_i, \Delta t_j)\,\Delta W_{\Delta t_j}$$要點:
- 固定「當前時間」$\Delta t_i$(對應推導中的 $t$),讓 $\Delta t_j$ 遍歷歷史($j=0$ 當 $i=j$ 時對應該點的方差)。
- 核函數本身無隨機性;隨機性全部來自布朗增量,且增量是沿路徑累積的同一條布朗運動——不能每步重新模擬,否則破壞協方差結構。歷史就是之後每步都要加權引用的對象。
非馬可夫性:增量的分布依賴整條歷史
把增量寫出來(前態對消後):
$$X_{\Delta t_i} - X_{\Delta t_{i-1}} = \sum_{j=0}^{i} K(\Delta t_i, \Delta t_j)\,\Delta W_{\Delta t_j}$$只要核函數非平凡,右端依賴整條路徑歷史——要從正確的分布中抽取下一個點,必須遍覽此前所有增量。這就是非馬可夫 Non-Markovian 結構:當前狀態不足以決定下一狀態。計算上,這意味著每走一步都要重新掃描歷史,模擬成本高昂。
反觀平凡核 $K=1$:求和裡核函數消失,剩下純粹的布朗增量累積——由布朗運動的獨立增量性質,$X_T \sim \mathcal{N}(0, T)$,直接抽一個正態變量即可,兩種表示在分布上數學等價。這正是馬可夫性的體現:增量分布不依賴路徑。也因此,實務上若只需要終端分布(如歐式期權),沒有人會用 Volterra 表示模擬布朗運動;但若是障礙期權這類路徑依賴合約(見第 4 講),就必須模擬整條路徑,因果表示便大派用場。
Python 實作與驗證
講者轉到 Jupyter notebook(連結置於影片描述及其 GitHub 庫),notebook 內附有上述推導的 LaTeX 全文。實作骨架:
- 核函數定義為 Python 函數;
- 以 numpy 建時間網格;
- 迴圈逐步構建:每步對歷史取
K(t_grid[j], current_t) * dW[j]求和。
三個實驗:
- 布朗運動核($K=1$):單條路徑肉眼看不出分別,但 1000 條路徑的終端分布與直接抽正態的布朗運動完全重合——由大數定律,兩種表示分布收斂一致,因為二者功能上做的是同一件事(累積布朗增量)。
- 指數衰減核($\theta = 2$):路徑明顯圍繞零均值來回震盪,呈現 OU 式均值回歸。1000 條路徑的經驗協方差熱圖與理論協方差熱圖比對:形態一致但不完全精確。
- 分數核(Hurst 指數 $H$):呈現長期記憶動態。把 $H$ 調大至 0.9,路徑明顯平滑;調小則呈現「粗糙」路徑——正是粗糙波動率想捕捉的性質。
講者亦誠實展示一次除錯:分數核的理論協方差起初對不上,追查後發現核函數定義寫錯(協方差由核函數構建,錯核即錯協方差),修正後以 10,000 條路徑重跑,經驗協方差明顯貼近理論值。
誤差的兩個來源:
- 離散化誤差:步長 $\Delta t$ 趨小時趨零;
- 模擬誤差:路徑數趨多時,由大數定律趨零。
兩者同時壓低,經驗協方差便幾乎必然收斂到理論結構。講者總結:模擬隨機過程的目標向來如此——模型指定的是「總體動態」,大量樣本路徑的經驗統計應收斂到總體統計。
為何因果表示如此重要:與 Davies-Hart 的對比
講者翻出當年 fBM 模擬的 notebook 作對比。Davies-Hart 方案使用循環嵌入 Circulant Embedding 技巧:以快速傅立葉變換(FFT)求特徵值,本質是 Karhunen-Loève 式分解——先定出目標自協方差函數,把協方差矩陣分解後與一條高斯向量做矩陣乘積,一次過產生整條路徑。
問題在於:那條高斯向量不是因果的——它要先被完整模擬到預定時間,再與分解後的協方差結構結合。整條路徑是一次性生成的,無法「走到哪裡算到哪裡」。Volterra 方法則只需選對核函數,即可迭代構建具相同目標協方差結構的路徑。這對路徑依賴期權定價(定價時需要沿路逐步演化、不能預知未來)有重大實際意義——講者表示相關定價應用留待日後影片。
延伸與後續
講者預告的進階方向包括:Quadratic Rough Heston 及其 lifted 變體、QRH+(講者提及一位 Bloomberg 前同事以此為 0DTE 期權定價與對沖撰文)、粗糙路徑理論、Signature 模型校準與定價,以及上週實時波動率曲面項目的後續——把隨機模型校準接上交易應用。
🙏 覺得內容有用?本站所有內容免費提供,使用推薦碼開戶就是支持我們繼續營運的最大鼓勵:
ZA Bank 邀請碼 P20923
—— 你享 HKD 2,000 迎新獎賞,本站獲得營運支持。
立即開戶 →
(聯盟連結|投資涉及風險,受條款及細則約束,此資料僅可於香港境內分發)
欣利克的看法
本講是整個系列中數學密度最高的一課,但講者的教學次序安排得極好:先用伊滕等距把「兩個隨機積分乘積的期望」這個看似嚇人的對象化簡成一個普通積分,再用「核函數向前看必為零」一句話講清因果表示,最後的 $\min(s,t)$ 上限便水到渠成。對自學者而言,這正是把測度論級別的文獻「翻譯」成可操作推導的示範。
實務層面,本講解答了一個常見疑問:既然分數布朗運動早就有 Davies-Hart 這種高效模擬法,為何粗糙波動率文獻還要繞道 Volterra 表示?答案全在因果性——定價路徑依賴合約時,模擬必須與真實時間同向推進,一次過生成全路徑的譜方法在概念上就不兼容增量式對沖與美式行權。當然,代價是每步遍歷歷史的 $O(n^2)$ 計算量,這也解釋了為何後續文獻(如本系列第 12 講的 Markovian lifting)要花大力氣把無限維記憶近似成有限維馬可夫系統。
對一般交易者,本講的直接用途有限,但它構成了理解「粗糙波動率為何能捕捉 0DTE 偏斜」的數學地基。若無意鑽研波動率建模,掌握「核函數=記憶結構的旋鈕」這一直觀已足夠。
名詞解釋
- 布朗運動:Volterra 過程的驅動過程;其增量乘積期望的分段性質($u=v$ 時為 $du$,否則為零)是伊滕等距推導的關鍵。
- 伊滕引理:隨機微積分的鏈式法則;本講使用的伊滕等距與之同屬隨機微積分工具箱(參見第 1、3 講)。
- 隨機微分方程:OU 過程等可作為 SDE 的解;Volterra 表示給出同一過程的因果積分形式。
- 蒙地卡羅模擬:以大量路徑驗證經驗協方差收斂到理論協方差的方法。
- 隱含波動率:粗糙模型家族試圖擬合的曲面偏斜,是本講研究動機。
- 障礙期權:路徑依賴合約的典型例子——必須模擬整條路徑,正是因果表示的應用場景。
- 均值回歸:指數衰減核重現的 OU 過程特性。
- 波動率:粗糙波動率模型以分數核刻畫其長期記憶與粗糙路徑。
- numpy/pandas/Python:實作時間網格、核函數求和與結果視覺化的工具。
常見問題 FAQ
Q:Volterra 過程與一般高斯過程有何分別?
Volterra 過程是高斯過程的子類,特點是承認因果表示:$X_t = \int_0^t K(t,u)\,dW_u$ 只依賴 $t$ 之前的布朗增量。換言之,產生正確的協方差結構毋須全局路徑知識,可以迭代地逐步構建——這對路徑依賴衍生工具定價至關重要。
Q:協方差函數推導中最關鍵的一步是甚麼?
是伊滕等距加上布朗增量的性質:$\mathbb{E}[dW_u dW_v]$ 只在 $u=v$ 時非零(等於 $du$),令雙重積分塌縮為單積分;再加上核函數的因果約束($u$ 不可超過時間指標),積分上限自然變成 $\min(s,t)$,得 $\gamma(s,t) = \int_0^{\min(s,t)} K(s,u)K(t,u)\,du$。
Q:為甚麼不直接用 Davies-Hart 方案模擬分數布朗運動?
Davies-Hart 以循環嵌入與 FFT 分解協方差矩陣,一次過生成整條路徑——高效但非因果,需要全局路徑知識。路徑依賴期權的定價與對沖要求過程隨時間向前演化,Volterra 的因果迭代構建才符合這一需求。
Q:核函數如何決定過程的性格?
$K=1$ 還原布朗運動(協方差為 $\min(s,t)$,馬可夫);指數衰減核產生 OU 式均值回歸;含 Hurst 指數的分數核產生長期記憶與粗糙路徑。$H$ 大則路徑平滑,$H$ 小則粗糙——正是粗糙波動率文獻用以擬合 0DTE 偏斜的性質。
Q:模擬結果與理論協方差對不上時怎麼辦?
先分清兩個誤差來源:離散化誤差(步長太大)與模擬誤差(路徑太少)——兩者分別靠加密網格與增加路徑數壓低。若加大投入後仍不對,就要像講者一樣檢查核函數定義本身——協方差由核函數構建,核錯則一切皆錯。
原影片
本文整理自以下影片,版權屬原創作者所有,建議配合原片觀看: