Неделя 5. Марковские моменты

Author

Carlos Buitrago

1 Неделя 5: Марковские моменты

Материал лекции: фильтрации, марковские моменты, \(\mathcal F_\tau\), строго марковское свойство винеровского процесса, принцип отражения, первое достижение уровня, совместное распределение максимума и конечного положения, теорема Башелье. Дополнительные результаты и моделирование специально отмечены.

NoteЧто мы хотим понять?

Обычная независимость приращений позволяет «перезапустить» броуновское движение в фиксированный момент \(a\). Можно ли сделать то же самое в случайный момент, определённый наблюдаемой траекторией? Да — если это момент остановки.

Show Python code
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm, kstest
rng = np.random.default_rng(2026)
plt.rcParams.update({'figure.figsize':(10,4.8),'axes.grid':True,'grid.alpha':.25})

def brownian(n=2000,T=2.0, rng=rng):
    dt=T/n
    t=np.linspace(0,T,n+1)
    w=np.r_[0.,np.cumsum(rng.normal(0,np.sqrt(dt),n))]
    return t,w

def first_crossing(w, level):
    ids=np.flatnonzero(w>=level)
    return int(ids[0]) if len(ids) else None

1.1 1. Фильтрации и информация во времени

Определение (фильтрация). Семейство \(\mathbb F=(\mathcal F_t)_{t\in T}\) под-\(\sigma\)-алгебр \(\mathcal F\) называется фильтрацией, если \[s\le t\implies \mathcal F_s\subseteq\mathcal F_t\subseteq\mathcal F.\]

Адаптированный процесс. \(X=(X_t)\) согласован с \(\mathbb F\), если \(X_t\) измерим относительно \(\mathcal F_t\) для каждого \(t\).

Порожденная \(\sigma\)-алгебра: \(\sigma(\xi)=\{\xi^{-1}(B):B\in\mathcal B(\mathbb R)\}\). Для семейства случайных величин \(\sigma(\xi_\alpha,\alpha\in A)\) — наименьшая \(\sigma\)-алгебра, относительно которой измеримы все \(\xi_\alpha\).

Естественная фильтрация: \[\mathcal F_t^X=\sigma(X_s:s\le t).\] Каждый процесс адаптирован к своей естественной фильтрации.

\(\mathcal F_t\) содержит всю информацию, доступную к моменту \(t\). Событие \(\{\sup_{s\le t}W_s>a\}\) известно в момент \(t\), а событие \(\{W_{t+1}>a\}\) в общем случае нет.

1.2 2. Марковские моменты и моменты остановки

Определение (конвенция лекции). Случайное время \(\tau:\Omega\to T\cup\{\infty\}\) называется марковским моментом относительно \(\mathbb F\), если \[\boxed{\{\tau\le t\}\in\mathcal F_t\quad\text{для всех }t\in T.}\] Если дополнительно \(\mathbb P(\tau<\infty)=1\), то в терминологии лекции \(\tau\) называется моментом остановки. Во многих книгах термин «момент остановки» допускает значение \(\infty\) с положительной вероятностью; далее используем конвенцию лекции.

Пример. В дискретном времени для борелевского \(B\): \[\tau_B=\inf\{n\ge1:X_n\in B\},\qquad \{\tau_B\le n\}=\bigcup_{k=1}^n\{X_k\in B\}\in\mathcal F_n^X.\] Здесь \(\inf\varnothing=\infty\). Напротив, \(\inf\{n\ge1:X_{n+1}\in B\}\) вообще говоря не является марковским моментом: его проверка требует заглянуть на один шаг вперёд.

В дискретном времени условие эквивалентно \(\{\tau=n\}\in\mathcal F_n\) для каждого \(n\) (при индексировании с \(n=1\)).

WarningВажно: зависимость от фильтрации

Одно и то же случайное время может быть моментом остановки относительно одной фильтрации и не быть им относительно другой. Например, при заранее раскрытом будущем информация существенно шире.

Show Python code
# Иллюстрация: первое достижение уровня определяется прошлым,
# а время последнего достижения зависит от будущего.
t,w=brownian(n=3000,T=3)
a=.55
idx=first_crossing(w,a)
fig,ax=plt.subplots()
ax.plot(t,w,label=r'$W_t$',lw=1.3)
ax.axhline(a,color='tab:red',ls='--',label='Уровень a')
if idx is not None:
    ax.scatter(t[idx],w[idx],s=65,zorder=5,label=r'Первое достижение $\tau_a$')
ax.set(xlabel='Время',ylabel='Положение',title='Первое достижение: решение принимается по прошлому')
ax.legend();plt.show()

1.3 3. \(\sigma\)-алгебра остановленного времени \(\mathcal F_\tau\)

Определение: \[\boxed{\mathcal F_\tau=\{A\in\mathcal F:\ A\cap\{\tau\le t\}\in\mathcal F_t\ \forall t\ge0\}.}\] Это события, которые можно распознать, когда часы остановились в момент \(\tau\).

Свойства: \(\mathcal F_\tau\) — \(\sigma\)-алгебра; \(\tau\) измерима относительно \(\mathcal F_\tau\); для детерминированного \(\tau=a\) имеем \(\mathcal F_\tau=\mathcal F_a\).

Дополнительно. Для непрерывного адаптированного процесса \(X\) величина \(X_\tau\) измерима относительно \(\mathcal F_\tau\) (при конечном \(\tau\) и обычных условиях на фильтрацию). Остановленный процесс \(X_{t\wedge\tau}\) хранит траекторию до остановки.

1.4 4. Марковское и строго марковское свойства броуновского движения

Марковское свойство в фиксированный момент. Для любого \(a\ge0\) процесс \[B_t=W_{a+t}-W_a,\quad t\ge0,\] является стандартным винеровским процессом и независим от \(\mathcal F_a^W\).

Строго марковское свойство. Если \(\tau<\infty\) почти наверное — момент остановки относительно естественной фильтрации \(W\), то \[\boxed{B_t=W_{\tau+t}-W_\tau,\quad t\ge0}\] — стандартный винеровский процесс, независимый от \(\mathcal F_\tau^W\).

ImportantЧто именно утверждается?

Независимо от того, как долго мы ждали и что происходило до остановки, новые приращения после остановки распределены как новое броуновское движение. При этом сам \(W_\tau\) обычно не независим от \(\tau\).

1.4.1 Вспомогательные факты

  1. Если \(\mathbb Ef(\xi)=\mathbb Ef(\eta)\) для всех ограниченных непрерывных \(f:\mathbb R^m\to\mathbb R\), то \(\xi\overset d=\eta\).
  2. Если \(\mathbb E[f(\xi)\mathbf1_A]=\mathbb Ef(\xi)\mathbb P(A)\) для всех таких \(f\), то \(\xi\) независим от события \(A\).

Для первого утверждения достаточно рассмотреть \(\cos\langle u,x\rangle\) и \(\sin\langle u,x\rangle\) и применить теорему единственности характеристических функций.

1.4.2 Идея доказательства строгого марковского свойства

Шаг 1 (дискретизация времени остановки). Положим \[\tau_n=2^{-n}\lceil 2^n\tau\rceil.\] Тогда \(\tau_n\downarrow\tau\), \(\tau_n\) — марковские моменты и по непрерывности \(W_{\tau_n+t}-W_{\tau_n}\to W_{\tau+t}-W_\tau\) почти наверное для каждого \(t\).

Шаг 2 (суммирование по значениям). Для \(A\in\mathcal F_\tau\), \(f\) ограниченной непрерывной и \(0\le t_1<\cdots<t_m\): \[\begin{aligned} &\mathbb E\left[f(W_{\tau_n+t_1}-W_{\tau_n},\ldots,W_{\tau_n+t_m}-W_{\tau_n})\mathbf1_A\right]\\ &=\sum_{k\ge0}\mathbb E\left[f(W_{k2^{-n}+t_1}-W_{k2^{-n}},\ldots)\mathbf1_{A\cap\{\tau_n=k2^{-n}\}}\right]\\ &=\mathbb E[f(W_{t_1},\ldots,W_{t_m})]\,\mathbb P(A). \end{aligned}\] Здесь \(A\cap\{\tau_n=k2^{-n}\}\in\mathcal F_{k2^{-n}}\), поэтому применима независимость будущих приращений от прошлого.

Шаг 3 (предел). Теорема Лебега о мажорируемой сходимости позволяет перейти к пределу под знаком математического ожидания. Получаем нужное тождество для \(\tau\), а значит равенство конечномерных распределений и независимость от \(\mathcal F_\tau\).

Если \(\xi_n\to\xi\) почти наверное и \(|\xi_n|\le\eta\) при \(\mathbb E\eta<\infty\), то \(\mathbb E\xi_n\to\mathbb E\xi\) и \(\mathbb E|\xi_n-\xi|\to0\). Здесь мажорантой служит константа \(\|f\|_\infty\).

Show Python code
# Одна траектория: остановка при первом достижении уровня a
# и сдвиг будущего к нулю.
t,w=brownian(n=7000,T=7)
a=.8; j=first_crossing(w,a)
fig,axs=plt.subplots(1,2,figsize=(13,4.4))
axs[0].plot(t,w,lw=1)
axs[0].axhline(a,color='tab:red',ls='--')
if j is not None:
    axs[0].axvline(t[j],color='tab:orange',ls=':')
    axs[0].scatter([t[j]],[w[j]],color='tab:red',zorder=5)
    axs[1].plot(t[j:]-t[j],w[j:]-w[j],lw=1.2)
    axs[1].axhline(0,color='black',lw=.6)
axs[0].set(title='Исходная траектория и время остановки',xlabel='t',ylabel=r'$W_t$')
axs[1].set(title='Перезапуск после первого достижения',xlabel='Время после остановки',ylabel=r'$W_{\tau+t}-W_\tau$')
plt.tight_layout();plt.show()

1.5 5. Принцип отражения

Теорема (принцип отражения). Пусть \(\tau<\infty\) почти наверное — момент остановки. Определим \[\boxed{Z_t=\begin{cases}W_t,&t\le\tau,\\2W_\tau-W_t,&t>\tau.\end{cases}}\] Тогда \(Z\) — стандартный винеровский процесс.

Почему? После \(\tau\) приращения образуют независимое броуновское движение \(B\). Симметрия \(B\overset d=-B\) позволяет заменить его на \(-B\) без изменения распределения полной траектории.

TipГеометрическая интерпретация

Мы оставляем путь до первого достижения уровня \(a\), а весь последующий участок отражаем относительно горизонтальной прямой \(y=a\).

Show Python code
t,w=brownian(n=4000,T=4)
a=.65;j=first_crossing(w,a)
fig,ax=plt.subplots()
ax.plot(t,w,label='Исходная траектория',alpha=.85)
if j is not None:
    z=w.copy();z[j:]=2*w[j]-w[j:]
    ax.plot(t,z,label='Отражённая траектория',lw=1.5)
    ax.axvline(t[j],color='gray',ls=':',label=r'$\tau_a$')
    ax.axhline(a,color='tab:red',ls='--',label='Уровень a')
ax.set(title='Принцип отражения: отражаем только после достижения',xlabel='t',ylabel='Положение')
ax.legend();plt.show()

1.6 6. Первое достижение уровня и максимум

Для \(a>0\) определим \[\tau_a=\inf\{t\ge0:W_t=a\},\qquad M_t=\sup_{0\le s\le t}W_s.\]

Лемма. \(\tau_a\) — марковский момент. Действительно, по непрерывности траекторий \[\{\tau_a\le t\}=\{\sup_{s\le t}W_s\ge a\}=\bigcap_{m\ge1}\bigcup_{q\in\mathbb Q\cap[0,t]}\{W_q>a-1/m\}\in\mathcal F_t^W.\] При \(t=0\) и \(a>0\) событие пусто. Из закона повторного логарифма следует \(\mathbb P(\tau_a<\infty)=1\).

Кроме того, \(M_t\) измерима относительно \(\mathcal F_t^W\) и \[\boxed{\{M_t\ge a\}=\{\tau_a\le t\}.}\]

1.6.1 Совместное распределение \(M_t\) и \(W_t\)

Теорема из лекции. Для \(x,y\ge0\), \(t>0\): \[\boxed{\mathbb P(W_t<y-x,\ M_t\ge y)=\mathbb P(W_t>y+x).}\]

Доказательство. На событии \(\{M_t\ge y\}\) отражаем путь после \(\tau_y\). При этом \(W_t<y-x\) превращается в \(Z_t>y+x\). Поскольку \(Z\) — винеровский процесс и \(Z_t>y+x\) автоматически означает достижение \(y\), получаем равенство.

Теорема Башелье (следствие): \[\boxed{M_t\overset d=|W_t|.}\] Действительно, для \(a\ge0\): \[\mathbb P(M_t\ge a)=2\mathbb P(W_t\ge a)=2\left(1-\Phi\left(\frac a{\sqrt t}\right)\right).\]

WarningРавенство по распределению — не равенство траекторий

\(M_t\) и \(|W_t|\) имеют одинаковое распределение для каждого фиксированного \(t\), но процессы \((M_t)\) и \((|W_t|)\) не равны по распределению как процессы: \(M_t\) не убывает, а \(|W_t|\) может уменьшаться.

Show Python code
# Эксперимент: максимум дискретной траектории и |W_T|
# Дискретизация занижает истинный непрерывный максимум.
N=7000;steps=900;T=1.5;dt=T/steps
mx=np.empty(N);end=np.empty(N)
for k in range(N):
    path=np.r_[0,np.cumsum(rng.normal(scale=np.sqrt(dt),size=steps))]
    mx[k]=path.max();end[k]=abs(path[-1])
x=np.linspace(0,4,250)
fig,ax=plt.subplots()
ax.hist(mx,bins=55,density=True,alpha=.45,label='Дискретный максимум')
ax.hist(end,bins=55,density=True,alpha=.4,label=r'$|W_T|$')
ax.plot(x,np.sqrt(2/(np.pi*T))*np.exp(-x*x/(2*T)),color='black',lw=2,label='Плотность Башелье')
ax.set(xlabel='Значение',ylabel='Плотность',title='Теорема Башелье: сравнение распределений')
ax.legend();plt.show()
print('Средние: максимум сетки =',round(mx.mean(),3),', |W_T| =',round(end.mean(),3),', теория =',round(np.sqrt(2*T/np.pi),3))

Средние: максимум сетки = 0.96 , |W_T| = 0.973 , теория = 0.977

1.7 7. Дополнение: распределение времени первого достижения

Это следствие принципа отражения, не выписанное явно в исходном конспекте.

Для \(a>0\), \(t>0\): \[\boxed{\mathbb P(\tau_a\le t)=2\left(1-\Phi\left(\frac a{\sqrt t}\right)\right).}\] Дифференцируя по \(t\), получаем плотность \[\boxed{f_{\tau_a}(t)=\frac{a}{\sqrt{2\pi t^3}}\exp\left(-\frac{a^2}{2t}\right),\quad t>0.}\]

Неожиданный факт: \(\mathbb P(\tau_a<\infty)=1\), но \(\mathbb E\tau_a=\infty\). Плотность имеет тяжёлый хвост порядка \(t^{-3/2}\).

Масштабирование: \(\tau_a\overset d=a^2\tau_1\).

При \(t\to\infty\) имеем \(f_{\tau_a}(t)\sim a(2\pi)^{-1/2}t^{-3/2}\). Поэтому \(t f_{\tau_a}(t)\) ведёт себя как константа, умноженная на \(t^{-1/2}\), интеграл которой на бесконечности расходится.

Show Python code
# Точное моделирование tau_a по распределению: tau_a = a²/Z², Z~N(0,1)
a=1.0
samples=a*a/rng.normal(size=25000)**2
x=np.linspace(.06,8,400)
pdf=a/np.sqrt(2*np.pi*x**3)*np.exp(-a*a/(2*x))
fig,ax=plt.subplots()
ax.hist(samples,bins=np.linspace(0,8,90),density=True,alpha=.6,label='Симуляция (усечённый диапазон)')
ax.plot(x,pdf,lw=2,color='black',label='Теоретическая плотность')
ax.set(xlim=(0,8),xlabel=r'$t$',ylabel='Плотность',title='Время первого достижения: тяжёлый хвост')
ax.legend();plt.show()
print('Медиана:',round(np.median(samples),3),'| 99%-квантиль:',round(np.quantile(samples,.99),2))

Медиана: 2.238 | 99%-квантиль: 6810.11

1.8 8. Дополнение: совместная плотность максимума и конечного положения

Из отражения при \(m\ge\max(0,w)\) получается \[\mathbb P(M_t\le m, W_t\in dw)=\bigl[p_t(w)-p_t(2m-w)\bigr]dw,\] где \(p_t(z)=(2\pi t)^{-1/2}\exp(-z^2/(2t))\). Дифференцирование по \(m\) даёт \[\boxed{f_{M_t,W_t}(m,w)=\frac{2(2m-w)}{\sqrt{2\pi t^3}}\exp\left(-\frac{(2m-w)^2}{2t}\right),\quad m\ge\max(0,w).}\]

1.8.1 Дополнение: барьерные события

Вероятность не достичь верхнего барьера \(a>0\) до \(T\): \[\mathbb P\left(\max_{s\le T}W_s<a\right)=2\Phi(a/\sqrt T)-1.\] Это базовая формула для задач надёжности, достижения порога и барьерных опционов.

1.9 9. Дополнение: дискретизация и броуновский мост между узлами

Симуляция \(W\) на сетке может пропустить пересечение барьера между двумя соседними моментами. Если \(W_{t_i}=x<a\) и \(W_{t_{i+1}}=y<a\), то условная вероятность пересечения уровня \(a\) на этом интервале равна \[\boxed{\mathbb P\left(\sup_{t_i\le s\le t_{i+1}}W_s\ge a\mid W_{t_i}=x,W_{t_{i+1}}=y\right)=\exp\left(-\frac{2(a-x)(a-y)}{\Delta t}\right).}\]

Это формула для броуновского моста, позволяющая корректировать ошибку дискретизации. Если хотя бы одна из конечных точек выше барьера, пересечение гарантировано.

Show Python code
# Сравнение обычного и bridge-corrected метода
T=1.;steps=80;n_paths=4500;a=1.;dt=T/steps
hits_grid=0;hits_bridge=0
for _ in range(n_paths):
    w=np.r_[0.,np.cumsum(rng.normal(scale=np.sqrt(dt),size=steps))]
    hit=(w>=a).any()
    hits_grid+=hit
    if hit:
        hits_bridge+=1
    else:
        p=np.exp(-2*(a-w[:-1])*(a-w[1:])/dt)
        hits_bridge+=(rng.random(steps)<p).any()
print(f'Точно: {2*norm.sf(a/np.sqrt(T)):.4f}')
print(f'Только узлы сетки: {hits_grid/n_paths:.4f}')
print(f'С поправкой броуновского моста: {hits_bridge/n_paths:.4f}')
Точно: 0.3173
Только узлы сетки: 0.2851
С поправкой броуновского моста: 0.3147

1.10 10. Дополнение: почему нельзя остановиться «в последний раз»?

Для фиксированного \(T>0\) рассмотрим \(L=\sup\{s\le T:W_s=0\}\) — последний ноль перед \(T\). Это случайное время зависит от будущего и не является моментом остановки относительно естественной фильтрации: в момент \(t<T\) нельзя знать, вернётся ли траектория к нулю позднее.

Сравните с первым достижением уровня: \(\tau_a\) можно обнаружить в момент его наступления.

Show Python code
t,w=brownian(n=6000,T=3)
# Для графика используем приближение последнего нуля по смене знака
cross=np.flatnonzero(w[:-1]*w[1:]<=0)
fig,ax=plt.subplots()
ax.plot(t,w,lw=1)
ax.axhline(0,color='black',lw=.8)
if len(cross):
    j=cross[-1]
    ax.axvline(t[j],ls='--',color='tab:red',label='Последний ноль (приближённо)')
ax.set(title='Последний ноль до T: определяется только задним числом',xlabel='t',ylabel=r'$W_t$')
ax.legend();plt.show()

1.11 11. Дополнение: приложения

В модели с логарифмической ценой, движущейся как броуновское движение с дрейфом, момент первого достижения ценового барьера определяет активацию или прекращение действия опциона. Принцип отражения лежит в основе явных формул при нулевом дрейфе.

В моделях диффузии \(\tau_a\) — время, когда частица впервые достигает границы. Плотность первого достижения и её тяжёлый хвост объясняют высокую изменчивость времени ожидания.

Пороговые правила остановки встречаются в последовательном тестировании гипотез, мониторинге изменений и online-алгоритмах. Важно отличать корректную остановку по доступным данным от выбора момента задним числом.

1.12 13. Краткая карта результатов

Понятие Главный результат
Фильтрация \(\mathcal F_s\subseteq\mathcal F_t\) при \(s\le t\)
Марковский момент \(\{\tau\le t\}\in\mathcal F_t\)
Информация до остановки \(\mathcal F_\tau\)
Строго марковское свойство \(W_{\tau+t}-W_\tau\) — новый независимый винеровский процесс
Отражение \(Z_t=W_t\) до \(\tau\), \(Z_t=2W_\tau-W_t\) после
Достижение уровня \(\{\tau_a\le t\}=\{M_t\ge a\}\)
Башелье \(M_t\overset d=|W_t|\)
Дополнение \(f_{\tau_a}(t)=a(2\pi t^3)^{-1/2}e^{-a^2/(2t)}\)

Источник: «Неделя 5. Марковские моменты» (6 страниц). Разделы, обозначенные «Дополнение», расширяют конспект лекции.