Лемма Ито играет ключевую роль в теории случайных процессов и находит свое приложение в моделях оценки справедливой стоимости финансовых инструментов. Так как стоимость любой производной ценной бумаги является функцией, зависящей в том числе от стохастических факторов, исследование и описание свойств таких функций имеет важное значение.
Лемма Ито применяется к процессам, которые подвержены некоторому сносу, а также воздействию случайных факторов. Такие процессы довольно точно описывают поведение цен на финансовых рынках. Вывод формулы Ито и описание соответствующих свойств в рамках данной статьи будет проведено на базе моделирование цен финансовых активов.
Уравнение цены
Построение прогностической модели стоимости любого финансового актива основано на эмпирическом анализе окружающей нас реальности. Опытным путем установлено, что изменение стоимости финансового актива зависит от (i) времени и (ii) стоимости актива в исходный момент времени . Это позволяет понять, что цена актива является функцией двух переменных .
Наличие зависимости при которой скорость изменения некоторой величины пропорциональна ей самой встречается очень часто и приводит к экспоненциальному росту, примерами служат уравнения радиоактивного распада, размножения и гибели микроорганизмов. Знание закона по которому изменяется цена позволяет составить дифференциальное уравнение.
В данное уравнение добавляется безрисковая ставка являющаяся скалирующим коэффициентом, который описывает динамику актива. Для решения уравнения разделяем переменные: , интегрируем и в итоге получаем уравнение стоимости финансового актива.
где, - стоимость финансового актива в момент времени .
Надо заметить, что получившееся уравнение позволяет нам точно определить значение цены в любой будущий момент времени, в связи с чем такой процесс можно назвать детерминированным. Однако, на практике цена помимо некоторой детерминированной динамики, определяемой безрисковой ставкой, также подвержена случайным колебаниям, которые должны учитываться при прогнозировании цен.
Исходя из вышесказанного логичным будет выглядеть внедрение в уравнение цены стохастической составляющей, наиболее подходящей моделью которой является броуновское движение.
Броуновское движение
История открытия броуновского движения хорошо известна, поэтому перейдем к описанию его основных физических и математических свойств. В каждый момент временина частицу оказывается разнонаправленное воздействие очень большого количества молекул, при этом сила их соударения с частицей тоже разная. В результате, наблюдаемая частица совершает хаотические движения. Такая картина является свойственной для финансового рынка, когда на колебания цены в конкретный момент времени оказывают влияние решения огромного количества независимых участников рынка.
Если перенести броуновское движение на координатную плоскость и представить его в дискретном времени, то получим переменную Винера, описывающая одну конкретную реализацию случайного процесса , где это независимые случайные величины имеющие нормированное нормальное распределение .
На практике, каждая случайная величинаявляется приращением цены в соответствующий момент времени. Для того, чтобы задать некоторую амплитуду таких толчков и описать данной моделью поведение какого-то реального актива вводиться коэффициент , рассчитывающийся на основе статистических данных и являющийся волатильностью. В итоге дискретный процесс Винера трансформируется в формулу:. В силу свойств случайных величин, распределенных нормально, сумма гауссовых чисел , представляется как , где , а - общее количество случайных движений цены.
В конечном итоге Винеровский процесс, может быть представлен в виде . Его особенность заключается в том, что малое изменение процесса по времени присутствует в переменной Винера, как . В геометрической интерпретации это означает, что огибающее семейство всех реализаций такого случайного процесса будут иметь параболический вид.
Добавив к Винеровскому процессу определенную динамику в виде , получим уравнение арифметического броуновское движения со сносом .
Код python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
steps = 300
num_plots = 50
Range = []
Values = [0]
plt.style.use('ggplot')
plt.rcParams['lines.linewidth'] = 0.6
fig, ax = plt.subplots()
fig.set_figwidth(12)
fig.set_figheight(6)
colormap = plt.cm.gist_ncar
plt.gca().set_prop_cycle(plt.cycler('color', plt.cm.jet(np.linspace(0, 1, 1))))
Range = np.arange(steps)
for i in range(0, num_plots):
for i in range (1, steps):
x = np.random.random()
if x <= 0.5:
x = -1
else:
x = 1
y = Values[-1] + x
Values.append(y)
ax.plot(Range, Values)
Values = [0]
Постановка задачи
Имея в распоряжении полученное соотношение возникает ощущение, что никакой сложности в прогнозировании цен нет. Так и есть, однако, важно иметь в виду, что с точки зрения финансовой науки не совсем корректно анализировать приращение цены, так как еще в 30 гг. ХХ века было установлено, что нормально распределены не сами цены, а их логарифмы. Следовательно объектом изучения должен быть не сам, а . Ниже рассмотрим логику перехода от к .
Для начала из разностной схемы уравнения цены , выразим приращение цены , а затем запишем дифференциальное уравнение в непрерывном времени перейдя к дифференциалам.
Заметим, что представляет собой уравнение Ито, то есть такой процесс, где есть некий снос и флуктуация , в общем виде записываемый следующим образом:
где, - функция сноса, - функция волатильности.
Имея в виду необходимость проанализировать необходимо перейти от уравнения к уравнению . Решается полученное уравнение довольно нетривиально так, как в правой части стохастического дифференциального уравнения стоят не константы, как в уравнении, а функции и .
Такого рода задачи финансовой математики помогает решать лемма Ито. Например, лемма Ито также используется для вывода уравнения Блэка-Шоулза-Мертона в частных производных.
Лемма Ито
Для того, чтобы решить СДУ требуется взять некую функцию, поведение, которой будет соответствовать общему процессу Ито, то есть зависеть от функций сноса и волатильности , а также аргументом которой будет случайный процесс . В результате получим связанные с друг другом дифференциальные стохастические уравнения.
где, дифференциал случайного процесса выглядит, как *
Лемма Ито позволяет вычислить функции и , если нам даны функции и. Функцию предполагаем аналитической, в частности, разложимой в ряд Тейлора в окрестности точки .
где, частные производные вычисляются в точке и .
В виду соотношения * учитываем только бесконечно малые ; остальные имеют порядок малости выше. В разложениеподставляются приращения случайного процесса и, а переносится в левую часть уравнения. Усредняя левую и правую часть (угловые скобки обозначают мат. ожидание) получаем:
В самом деле:
- в силу того, что , второе слагаемое исчезает и остается только .
На первом шаге пропадает удвоенное произведение по причине , на втором шаге понимаем, что слагаемое деленное на в пределе дает . Таким образом приращение функции уходит и остается только . Так как на последнем шаге останется только .
Имея математическое ожидание приращения функции можно выразить функцию сноса и функцию волатильности следующим образом: , а . Тогда,
Получив функции сноса и функцию волатильности , дифференциал функции можно записать в виде дифференциального стохастического уравнения, заключением которого является лемма Ито:
Логарифмическое блуждание
Как отмечалось ранее, принципиальным для финансовой науки было получение уравнения, одновременно описывающего экспоненциальный рост цены и совмещающего в себе стохастическую составляющую. Поставленная задача решается применением леммы Ито. В формулефункция заменяется на , а функция заменяется на ; вместо подставляется .
Вычислив производные и осуществив необходимые преобразования получим.
Так как при и стоят константы, данное дифференциальное уравнение можно записать в конечных разностях, затем выразить функцию , после чего функцию цены актива получить прибегнув к потенцированию. В итоге приходим к принципиально важному уравнению, которое лежит в основе большинства моделей оценки справедливой стоимости финансовых инструментов.
В отсутствии стохастической составляющей, т.е. при уравнение превращается в обычное уравнение размножения и гибели , а при получим логарифмическое блуждание с нулевым сносом.
Код python
import math as m
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import scipy.stats
from scipy.stats import binom
from scipy.stats import expon
r =0.25
sigma = 0.1
t = 1/360
x0 = 100
num_plots = 10
Days = 360*8
Values = []
DAYS = []
for i in range (0, Days):
DAYS.append(i)
plt.style.use('ggplot')
plt.rcParams['lines.linewidth'] = 0.6
fig, ax = plt.subplots()
fig.set_figwidth(18)
fig.set_figheight(9)
colormap = plt.cm.gist_ncar
for i in range (0,num_plots):
for i in range (0,Days):
if i == 0:
#Генерация случайного числа
distribution = scipy.stats.norm(loc=0,scale=1)
sample = distribution.rvs(size=1)
P = x0*np.exp( ((r - (sigma**2/2))*t) + (sigma*sample*np.sqrt(t)))
Values.append(P)
else:
#Генерация случайного числа
distribution = scipy.stats.norm(loc=0,scale=1)
sample = distribution.rvs(size=1)
K = Values[-1]*np.exp( ((r - (sigma**2/2))*t) + (sigma*sample*np.sqrt(t)))
Values.append(K)
ax.plot(DAYS, Values)
Values= []
Список использованных источников.
Степанов С.С. "Стохастический мир", 2009 г. — 376 с.
Жуленев С.В. "Финансовая математика. Введение в классическую теорию. Часть 2.", 2012 г. — 419 с.
Ширяев А.Н. "Основы стохастической финансовой математики. Том 1. Факты. Модели", 1998 — 512 с.
aharata
Прекрасная статья. Будут ли продолжения?
Помимо прогноза цены надо бы разработать функцию полезности для портфеля (например, это может быть ожидаемая прибыль, которую можно получить, если инструмент вернется к справедливой цене, а она будет изменяться достаточно медленно). Функция полезности должна учитывать текущий капитал портфеля, текущие позиции и статистические характеристики справедливой и реальной цен. Оптимальное управление будет, грубо говоря, изменять позицию так, чтобы полезность в среднем росла с максимально возможной скоростью и минимальной дисперсией. Постановка задачи зависит от того, какова ваша модель справедливой цены, а также какова ваша функция полезности портфеля.
Хотелось бы как раз увидеть реализации уже для непосредственно тестов трейдинга…
geoandreev Автор
Спасибо за комментарий. На очереди пока чисто теоретические материалы на подобии численного решения и доказательства уравнения БШ. К более практическим исследований планирую добраться примерно через пол года…