5.Β Stochastic Processes and Martingales
5.1.Β Stochastic processes, filtrations, and martingales
We define a measure space Ξ©, with a probability mesure P : Measure Ξ©.
variable {Ξ© : Type*} {mΞ© : MeasurableSpace Ξ©}
{P : Measure Ξ©} [IsProbabilityMeasure P]
Let then X be a stochastic process indexed by β: a function β β Ξ© β E.
Here E is a Banach space, a complete normed space (that's what the martingale property needs).
We will often need a measurability condition on X in lemmas, but we don't add it yet.
variable {E : Type*} [NormedAddCommGroup E] [NormedSpace β E] [CompleteSpace E]
{mE : MeasurableSpace E} {X : β β Ξ© β E}
A filtration is a monotone family of sub-Ο-algebras indexed by β.
variable {π : Filtration β mΞ©}
example : β n, π n β€ mΞ© := Filtration.le π
example {i j : β} (hij : i β€ j) : π i β€ π j := Filtration.mono π hij
If X is a martingale, then it is adapted to the filtration, which means that for all n,
X n is (strongly) measurable with respect to π n.
example (hX : Martingale X π P) : StronglyAdapted π X := hX.stronglyAdapted
example (hX : Martingale X π P) (n : β) : StronglyMeasurable[π n] (X n) := hX.stronglyAdapted n
example [BorelSpace E] (hX : Martingale X π P) (n : β) : Measurable[π n] (X n) :=
(hX.stronglyAdapted n).measurable
/-- A martingale satisfies the following equality: for all `i β€ j`, the conditional expectation of
`X j` with respect to `π i` is equal to `X i`. -/
example (hX : Martingale X π P) {i j : β} (hij : i β€ j) : P[X j | π i] =α΅[P] X i :=
hX.condExp_ae_eq hij
/-- For a submartingale, the conditional expectation of `Y j` with respect to `π i` is greater than
or equal to `Y i`. -/
example {Y : β β Ξ© β β} (hX : Submartingale Y π P) {i j : β} (hij : i β€ j) :
Y i β€α΅[P] P[Y j | π i] :=
hX.ae_le_condExp hij
Almost everywhere martingale convergence theorem: An LΒΉ-bounded submartingale converges
almost everywhere to a β¨ n, β± n-measurable function.
theorem ae_tendsto_limitProcess {Y : β β Ξ© β β} (hY : Submartingale Y π P)
{R : ββ₯0} (hbdd : β n, eLpNorm (Y n) 1 P β€ R) :
βα΅ Ο βP, Tendsto (Y Β· Ο) atTop (π (π.limitProcess Y P Ο)) := Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRβ’ βα΅ (Ο : Ξ©) βP, Tendsto (fun x => Y x Ο) atTop (π (Filtration.limitProcess Y π P Ο))
classical
suffices β g, StronglyMeasurable[β¨ n, π n] g β§ βα΅ Ο βP, Tendsto (Y Β· Ο) atTop (π (g Ο)) Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRthis:β g, StronglyMeasurable g β§ βα΅ (Ο : Ξ©) βP, Tendsto (fun x => Y x Ο) atTop (π (g Ο))β’ βα΅ (Ο : Ξ©) βP, Tendsto (fun x => Y x Ο) atTop (π (Filtration.limitProcess Y π P Ο))
Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRthis:β g, StronglyMeasurable g β§ βα΅ (Ο : Ξ©) βP, Tendsto (fun x => Y x Ο) atTop (π (g Ο))β’ βα΅ (Ο : Ξ©) βP, Tendsto (fun x => Y x Ο) atTop (π (Classical.choose this Ο))
All goals completed! π
Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRg':Ξ© β β := fun Ο => if h : β c, Tendsto (fun x => Y x Ο) atTop (π c) then h.choose else 0β’ β g, StronglyMeasurable g β§ βα΅ (Ο : Ξ©) βP, Tendsto (fun x => Y x Ο) atTop (π (g Ο))
Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRg':Ξ© β β := fun Ο => if h : β c, Tendsto (fun x => Y x Ο) atTop (π c) then h.choose else 0hle:β¨ n, βπ n β€ mΞ©β’ β g, StronglyMeasurable g β§ βα΅ (Ο : Ξ©) βP, Tendsto (fun x => Y x Ο) atTop (π (g Ο))
have hg' : βα΅ Ο βP.trim hle, Tendsto (Y Β· Ο) atTop (π (g' Ο)) := Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRβ’ βα΅ (Ο : Ξ©) βP, Tendsto (fun x => Y x Ο) atTop (π (Filtration.limitProcess Y π P Ο))
filter_upwards [hY.exists_ae_trim_tendsto_of_bdd hbdd] with Ο Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRg':Ξ© β β := fun Ο => if h : β c, Tendsto (fun x => Y x Ο) atTop (π c) then h.choose else 0hle:β¨ n, βπ n β€ mΞ©Ο:Ξ©hΟ:β c, Tendsto (fun n => Y n Ο) atTop (π c)β’ Tendsto (fun x => Y x Ο) atTop (π (g' Ο))
simp_rw Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRg':Ξ© β β := fun Ο => if h : β c, Tendsto (fun x => Y x Ο) atTop (π c) then h.choose else 0hle:β¨ n, βπ n β€ mΞ©Ο:Ξ©hΟ:β c, Tendsto (fun n => Y n Ο) atTop (π c)β’ Tendsto (fun x => Y x Ο) atTop (π (g' Ο))g', dif_pos hΟ]
All goals completed! π
Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRg':Ξ© β β := fun Ο => if h : β c, Tendsto (fun x => Y x Ο) atTop (π c) then h.choose else 0hle:β¨ n, βπ n β€ mΞ©hg':βα΅ (Ο : Ξ©) βP.trim hle, Tendsto (fun x => Y x Ο) atTop (π (g' Ο))hg'm:AEStronglyMeasurable g' (P.trim hle)β’ β g, StronglyMeasurable g β§ βα΅ (Ο : Ξ©) βP, Tendsto (fun x => Y x Ο) atTop (π (g Ο))
Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRg':Ξ© β β := fun Ο => if h : β c, Tendsto (fun x => Y x Ο) atTop (π c) then h.choose else 0hle:β¨ n, βπ n β€ mΞ©hg':βα΅ (Ο : Ξ©) βP.trim hle, Tendsto (fun x => Y x Ο) atTop (π (g' Ο))g:Ξ© β βhgm:StronglyMeasurable ghae:g' =αΆ [ae (P.trim hle)] gβ’ β g, StronglyMeasurable g β§ βα΅ (Ο : Ξ©) βP, Tendsto (fun x => Y x Ο) atTop (π (g Ο))
have hg : βα΅ Ο βP.trim hle, Tendsto (Y Β· Ο) atTop (π (g Ο)) := Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRβ’ βα΅ (Ο : Ξ©) βP, Tendsto (fun x => Y x Ο) atTop (π (Filtration.limitProcess Y π P Ο))
filter_upwards [hae, hg'] with Ο Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRg':Ξ© β β := fun Ο => if h : β c, Tendsto (fun x => Y x Ο) atTop (π c) then h.choose else 0hle:β¨ n, βπ n β€ mΞ©hg':βα΅ (Ο : Ξ©) βP.trim hle, Tendsto (fun x => Y x Ο) atTop (π (g' Ο))g:Ξ© β βhgm:StronglyMeasurable ghae:g' =αΆ [ae (P.trim hle)] gΟ:Ξ©hΟ:g' Ο = g Οβ’ Tendsto (fun x => Y x Ο) atTop (π (g' Ο)) β Tendsto (fun x => Y x Ο) atTop (π (g Ο)) Ξ©:Type u_1mΞ©:MeasurableSpace Ξ©P:Measure Ξ©instβ:IsProbabilityMeasure Pπ:Filtration β mΞ©Y:β β Ξ© β βhY:Submartingale Y π PR:ββ₯0hbdd:β (n : β), eLpNorm (Y n) 1 P β€ βRg':Ξ© β β := fun Ο => if h : β c, Tendsto (fun x => Y x Ο) atTop (π c) then h.choose else 0hle:β¨ n, βπ n β€ mΞ©hg':βα΅ (Ο : Ξ©) βP.trim hle, Tendsto (fun x => Y x Ο) atTop (π (g' Ο))g:Ξ© β βhgm:StronglyMeasurable ghae:g' =αΆ [ae (P.trim hle)] gΟ:Ξ©hΟ:g' Ο = g Οhg'Ο:Tendsto (fun x => Y x Ο) atTop (π (g' Ο))β’ Tendsto (fun x => Y x Ο) atTop (π (g Ο)) using hΟ βΈ hg'Ο
All goals completed! π5.2.Β Stopping times
A stopping time with respect to a filtration indexed by β is a random time Ο : Ξ© β ββ such that
for all n, the set {Ο | Ο Ο β€ n} is measurable with respect to π n.
variable {Ο : Ξ© β ββ} (hΟ : IsStoppingTime π Ο)
example (i : β) : MeasurableSet[π i] {Ο | Ο Ο β€ i} := hΟ.measurableSet_le i
The optional stopping theorem (fair game theorem): an adapted integrable process Y
is a submartingale if and only if for all bounded stopping times Ο and Ο such that Ο β€ Ο, the
stopped value of Y at Ο has expectation smaller than its stopped value at Ο.
theorem submartingale_iff_expected_stoppedValue_mono' {Y : β β Ξ© β β} (hadp : StronglyAdapted π Y)
(hint : β i, Integrable (Y i) P) :
Submartingale Y π P β β Ο Ο : Ξ© β ββ, IsStoppingTime π Ο β IsStoppingTime π Ο β
Ο β€ Ο β (β N : β, β x, Ο x β€ N) β P[stoppedValue Y Ο] β€ P[stoppedValue Y Ο] :=
β¨fun hf _ _ hΟ hΟ hle β¨_, hNβ© => hf.expected_stoppedValue_mono hΟ hΟ hle hN,
submartingale_of_expected_stoppedValue_mono hadp hintβ©