上一篇留給我們一個難題
上一篇我們見識了布朗運動令人不安的幾何:它的路徑是連續的——你可以一筆不離紙地畫出一條——卻在任何一點都不可微。哪裡都沒有斜率 dB/dt,因為差商 [B(t + h) - B(t)] / h 的典型大小是 sqrt(h)/h = 1/sqrt(h),當 h 縮小時會爆炸到無窮。路徑永遠不肯定下一條切線方向。這是個鮮明的事實,卻把我們困住了:整個微積分都建立在導數、以及「f 乘 dx 的積分」這種形式上。如果 dB/dt 不存在,那麼「由 B 驅動的微積分」到底是什麼意思?
本篇要回答一個更尖銳、更具診斷性的問題:不只是「B 平滑嗎?」(不),而是「B 究竟有多粗糙,這份粗糙又對微積分的規則做了什麼?」答案是一個單一、出奇乾淨的數,叫做二次變差。結果會發現,B 是以一種非常精確、可量度的方式粗糙——而這份精確的粗糙並不是需要道歉的障礙。它是驅動一整套全新微積分的引擎。讀完後,你應當看清為什麼普通的鏈鎖法則無法存活,以及什麼量必須取而代之。
量一條路徑「動了多少」的兩種方式
想像一支小筆在區間 [0, t] 上描出一條路徑。它移動了多少?最自然的答案是總變差:把 [0, t] 切成許多小段,再把所有上上下下小變化的絕對大小加起來,對 |B(t_(k+1)) - B(t_k)| 求和。這實實在在就是筆走過的距離——弧長,路徑的長度。對任何平滑曲線,這是一個有限的數,而把切分加細只會把它釘得更精確。
對布朗路徑而言,總變差是無窮的。直覺如下。在一段長度為 t/n 的小段上,B 的變化典型大小是 sqrt(t/n)——這正是布朗增量「時間開根號」尺度的標記。把 n 個這樣的量加起來,得到約 n 乘以 sqrt(t/n) = sqrt(n) 乘以 sqrt(t),隨著 n 增大而走向無窮。那支筆若被要求描出哪怕一秒的布朗路徑,也會走過無界的距離。路徑太皺,以致「長度」不是一把有用的尺——它總是讀出無窮。我們需要一個更溫和的儀器。
更溫和的儀器,是把小變化平方,而非取絕對值。做完全一樣的切分,但這次把增量的「平方」加起來:對 [B(t_(k+1)) - B(t_k)]^2 求和。這就是二次變差,記作 [B, B]_t。平方就是整個訣竅。每個小變化的大小約為 sqrt(t/n),所以它的平方約為 t/n——一個小得多的數——平方把那些讓總變差爆炸的狂烈波動壓碎了。問題是這個更溫和的和會不會安定到某個有限的值。它會,而答案正是本篇的核心。
乾淨的答案:[B, B]_t = t
當你把切分加細(n 趨於無窮),平方增量之和不會縮到零,也不會爆炸——它恰好收斂到 t。布朗運動在 [0, t] 上的二次變差就是 t 本身:[B, B]_t = t。沒有要記的常數,也不依賴你恰巧畫出的是哪一條隨機路徑。兩股相互競爭的力道完美平衡:片段越來越多(把和往上推),但每個平方片段越來越小(把它往下壓),而平方恰恰是讓它們抵消成有限極限的那個次方。
為什麼恰好是 t?這純粹是變異數的記帳,並倚靠前幾階的兩個事實。每個落在長度為 t/n 的小段上的增量 B(t_(k+1)) - B(t_k) 都是 Normal(0, t/n),所以它的平方平均起來等於它的變異數,E[(增量)^2] = t/n。共有 n 個這樣的片段,所以期望的總和是 n 乘以 (t/n) = t。這就定住了平均值。接著,由於互不重疊片段上的增量是獨立的(獨立平穩增量),圍繞那個平均的隨機散布是許多獨立項之和——根據大數法則,它隨 n 增大而被洗掉。這個和不只是平均為 t,而是收斂到 t。
Chop [0, t] into n equal pieces of length t/n.
increment on piece k: B(t_{k+1}) - B(t_k) ~ Normal(0, t/n)
TOTAL VARIATION = sum |increment| ~ n * sqrt(t/n) = sqrt(n*t) -> infinity
QUADRATIC VARIATION = sum (increment)^2 ~ n * (t/n) = t -> t
Smooth curve f: increment ~ (t/n), (increment)^2 ~ (t/n)^2
sum (increment)^2 ~ n * (t/n)^2 = t^2 / n -> 0拿它跟平滑曲線比,反差是徹底的。在平滑的 f 上,一段長度為 t/n 上的變化本身是 t/n 階(斜率乘步長),所以它的平方是 (t/n)^2 階。把 n 個這樣的量加起來約為 n 乘以 (t/n)^2 = t^2/n,趨於零。你曾微分過的每一個普通函數,二次變差都是零。布朗運動是那個奇異的中間生物:總變差無窮、二次變差有限且等於 t。這個有限、非零的二次變差是真正粗糙性的指紋——它正是用來區分真布朗路徑與平滑冒牌貨的東西。
改變一切的啟發式:(dB)^2 = dt
[B, B]_t = t 這個陳述通常以一個精簡、富暗示性的速記隨身攜帶:(dB)^2 = dt。把它讀作上面那套記帳的無窮小版本。在一個極小的時間步 dt 上,布朗增量 dB 是 Normal(0, dt),所以它的典型量值是 sqrt(dt)。平方得到 (dB)^2,典型量值為 dt。換句話說,布朗增量的平方並不像普通微積分裡的平方步長那樣小到可忽略——它與 dt 本身相當,是一個貨真價實的一階量。這正是與你所知微積分的全部分歧之所在。
把各項的數量級並排看。在以平滑變數 x 為主的普通微積分裡,步長 dx 是一階,它的平方 (dx)^2 是二階——小到趨於消失,所以我們丟掉它。換到布朗運動,dB 是 sqrt(dt) 階,所以 (dB)^2 是 dt 階:與時間上的一個普通步長同階,大到不能捨棄。同時 (dt)^2 與 dB 乘 dt(sqrt(dt) 乘 dt = dt^1.5 階)仍可忽略。這套新微積分乾淨好用的規則是:(dB)^2 = dt、(dt)^2 = 0,以及 dB 乘 dt = 0。
為什麼普通的鏈鎖法則會崩壞
現在我們能精確看出普通微積分在哪裡失效。假設我們想追蹤一個平滑函數 f 在其輸入沿著布朗運動行進時如何變化——比如 f(B_t)。在普通微積分裡,我們會對 B 的微小變化用泰勒展開來展 f:f(B + dB) 約等於 f(B) + f'(B) dB + (1/2) f''(B) (dB)^2 + 更小的項。對一個平滑的驅動者,(dB)^2 項是二階的,我們把它丟掉,剩下熟悉的鏈鎖法則 df = f'(B) dB。而正是這一步,在這裡悄悄失效了。
- 寫下變化的泰勒展開:df = f'(B) dB + (1/2) f''(B) (dB)^2 + 更高階項。
- 在普通微積分裡你會把 (dB)^2 當成可忽略的二階項丟掉。但在這裡,二次變差禁止這麼做:(dB)^2 = dt,一個一階量,所以不能丟。
- 代入 (dB)^2 = dt,並丟掉真正可忽略的項((dt)^2 與 dB dt 都消失):df = f'(B) dB + (1/2) f''(B) dt。
- 讀出結果:f(B_t) 的變化帶有一個普通鏈鎖法則從未有過的「額外」漂移項 (1/2) f''(B) dt。那個修正項正是伊藤引理的內容。
所以這個存活下來的二階項不是錯誤、也不是近似——它是有限二次變差「強加」給我們的,是隨機微積分的標誌。完整陳述 df = f'(B) dB + (1/2) f''(B) dt 就是[[ito-lemma|伊藤引理]],是鏈鎖法則的替代品,下一篇會與賦予 dB 項嚴格意義的[[ito-integral|伊藤積分]]一起認真展開它。這個額外的 (1/2) f''(B) dt 項,正是為什麼例如 f(B_t) 的平均會漂移,即使 B_t 本身平均為零:凸性(正的 f'')系統性地把平均往上推,這個現象本身值得用一整篇來談。
為什麼這個數值得執著
退一步,留意單單 [B, B]_t = t 這個事實組織了多少東西。增量的「時間開根號」尺度——在 [0, t] 上變異數為 t,所以典型移動是 sqrt(t)——正是產生有限二次變差的原因,也是路徑自相似性背後的同一個尺度:以恰當的時空比例放大一條布朗路徑,它看起來在統計上完全相同。粗糙性、時間開根號尺度、二次變差,是同一個結構的三張面孔。二次變差不過是三者中最乾淨、最量化的那一張。
二次變差也是抽象與實務相遇之處。在金融裡,一個價格過程的二次變差是已實現波動率的數學歸宿——當交易員把微小的價格變動平方、在一天之內加總起來,他們字面上就是在估計一個二次變差。[B, B]_t 累積的速率(這裡是每單位時間 1 個單位)就是變異數率;把布朗運動乘上 sigma,則 sigma 乘 B 在 [0, t] 上的二次變差變成 sigma^2 乘 t,這正是為什麼 sigma^2 在選擇權定價裡無處不在。那個來自「平方抖動」思想實驗的奇異數,正是交易桌在午餐前就會量度的同一個物件。
帶著一個誠實的提醒前行。乾淨的值 [B, B]_t = t 是標準布朗運動所特有的;更深的教訓是,二次變差作為一個「概念」,是連續隨機過程用來取代弧長的東西,也正是鏈鎖法則必須尊重的那個量。一個不同的粗糙過程可以有不同的二次變差(想想 sigma^2 t),而一個平滑過程的二次變差為零,使普通鏈鎖法則作為「修正項消失」的特例被還原回來。所以你在微積分學到的東西並沒有錯——只是那個 f'' 修正項悄悄等於零罷了。布朗運動只是不肯讓那一項消失。