Калибровка CIR-процесса
Sep. 28th, 2012 03:04 pmЕсть некий процесс с силой, возвращающей его к среднему долгосрочному значению и случайным шумом:

Есть наблюдения этого процесса. Нужно найти наиболее подходящие для процесса параметры (тета, мю и сигма).
Википедия кратко сообщает, что всё делается линейной регрессией (я вообще не понимаю, о чём они, у нас 3 параметра).
В сети полно статей о том, как калибровать interest-rate процесс с указанием, что бессмысленно просто так абстрактно искать параметры, лучше сразу сказать, что нам нужно в итоге (облигации, свапы и т.п.) и пытаться под это подогнать параметры.
Но у меня процесс имеет слабое отношение к процентной ставке, моя конечная цель — калибровка процесса.
При этом меня не покидает ощущение, что решение очень простое, чуть ли не аналитически должно достигаться.
Если зафиксировать один из параметров, остальные считаются моментально, подгоняя первые два момента броуновской составляющей. Но при этом, очевидно, третий момент совершенно абы какой выходит (следствие от балды выбранного параметра).
Писать итеративную систему подгонки параметров тоже не хочется, не красиво.
Решение в лоб через минимизацию функцию трёх переменных выдаёт совершенно нереальный (надеюсь, что локальный) минимум.
Есть какие-нибудь идеи?

Есть наблюдения этого процесса. Нужно найти наиболее подходящие для процесса параметры (тета, мю и сигма).
Википедия кратко сообщает, что всё делается линейной регрессией (я вообще не понимаю, о чём они, у нас 3 параметра).
В сети полно статей о том, как калибровать interest-rate процесс с указанием, что бессмысленно просто так абстрактно искать параметры, лучше сразу сказать, что нам нужно в итоге (облигации, свапы и т.п.) и пытаться под это подогнать параметры.
Но у меня процесс имеет слабое отношение к процентной ставке, моя конечная цель — калибровка процесса.
При этом меня не покидает ощущение, что решение очень простое, чуть ли не аналитически должно достигаться.
Если зафиксировать один из параметров, остальные считаются моментально, подгоняя первые два момента броуновской составляющей. Но при этом, очевидно, третий момент совершенно абы какой выходит (следствие от балды выбранного параметра).
Писать итеративную систему подгонки параметров тоже не хочется, не красиво.
Решение в лоб через минимизацию функцию трёх переменных выдаёт совершенно нереальный (надеюсь, что локальный) минимум.
Есть какие-нибудь идеи?
no subject
Date: 2012-09-28 01:49 pm (UTC)no subject
Date: 2012-09-28 02:23 pm (UTC)no subject
Date: 2012-09-28 04:15 pm (UTC)no subject
Date: 2012-09-28 07:27 pm (UTC)P.S. Ты имел в виду мю — долгосрочное среднее, да?
no subject
Date: 2012-09-28 07:40 pm (UTC)no subject
Date: 2012-09-29 11:58 am (UTC)no subject
Date: 2012-09-29 03:01 pm (UTC)no subject
Date: 2012-09-28 02:38 pm (UTC)И результат кривенький выходит: skewness=-2.3, kurtosis=80, явно не нормальное распределение...
no subject
Date: 2012-09-28 03:39 pm (UTC)no subject
Date: 2012-09-28 07:25 pm (UTC)no subject
Date: 2012-09-28 03:32 pm (UTC)Или вот записать Rt как функцию R(t+Delta t) и подгонть прямой с весом 1/Rt. тогда сразу три параметра вылезут, последний - из вариации остатков, то бишь из хиквадрата.
no subject
Date: 2012-09-28 07:22 pm (UTC)no subject
Date: 2012-09-28 09:20 pm (UTC)The parameter corresponds to the speed of adjustment, to the mean and to volatility.
Хотя, что имеется в виду под "соответствует" ...
no subject
Date: 2012-09-28 07:25 pm (UTC)no subject
Date: 2012-09-28 05:02 pm (UTC)У этого процесса еще и хвосты распределения особенные - можно один из параметров на этом калибровать.
Симулировать надо будет потом? В ноль можно залезать?
no subject
Date: 2012-09-28 07:30 pm (UTC)А что с хвостами распределения? У меня действительно странные вещи видны, но я грешным делом списывал всё на то, что модель недостаточно хорошо описывает процесс. Я не вижу, что у теоретического процесса должно быть не так с хвостами...
no subject
Date: 2012-09-28 07:51 pm (UTC)Формулу хвостов распределния не помню. Раз вам нужно строго положительный процесс, то, может быть, лучше рассмотреть подкласс процессов, которые эквивалентны квадрату OU?
А зачем вам не-дискретное распределние? Аналитическая решаемость не так уж много удобств обеспечивает.
no subject
Date: 2012-09-29 12:02 pm (UTC)Третий параграф - просто не понял вопроса. Мне нужно определить параметры в предположении, что моя переменная описывается этим процессом. И посто интуитивно кажется, что можно решить этот вопрос аналитически, за красотой я тут не особо гонюсь. Ну и численный метод (линейная регрессия с последующим определением коэффициентов) даёт какую-то ерунду, то ли я что-то напутал' то ли метод не применим, то ли процесс не подходит...
no subject
Date: 2012-09-29 01:34 pm (UTC)Почему именно этот процесс? Обычно его выбирают потому что
1) про него много что известно, много что можно посчитать в явной форме
2) он гарантированно неотрицательный.
Только на мой взгляд удобства обеспеченные пунктом 1) зачастую недостаточны и бывает так, что их не хватает.
Про второй параграф: в классе square-root процессов есть подкласс представимый как квадрат OU. Как следствие - легко симулируется, и все проще считается. Что предложить из литературы - не знаю. Смотря чего надо. Есть книжки с кучей формул, есть книжки с методами симуляций. Книжек только про калибровку, честно говоря, не помню.
Что известно про переменную - стационарный временной ряд? Тогда по-моему калибровать надо на автокорреляции: f(k) = cov
Почему именно этот процесс? Обычно его выбирают потому что
1) про него много что известно, много что можно посчитать в явной форме
2) он гарантированно неотрицательный.
Только на мой взгляд удобства обеспеченные пунктом 1) зачастую недостаточны и бывает так, что их не хватает.
Про второй параграф: в классе square-root процессов есть подкласс представимый как квадрат OU. Как следствие - легко симулируется, и все проще считается. Что предложить из литературы - не знаю. Смотря чего надо. Есть книжки с кучей формул, есть книжки с методами симуляций. Книжек только про калибровку, честно говоря, не помню.
Что известно про переменную - стационарный временной ряд? Тогда по-моему калибровать надо на автокорреляции: f(k) = cov<x_t, x_t-k>
no subject
Date: 2012-09-29 02:22 pm (UTC)Про последний параграф - переменная достаточно сложно представляемая, я её смысл вон на пальцах объяснить не могу :-) Начал думать, что у неё со стационарностью...
no subject
Date: 2012-09-29 02:28 pm (UTC)Если коротко, то моя позиция такая: для реальных задач не очень понятно чем этот процесс так хорош.
А если это задачка, и нужно идентифицировать стационарный процесс то тут, мне кажется, параметры идентифицируются: историческое среднее и вариация - понятно. theta - скорость возврата к среднему значению.
no subject
Date: 2012-09-30 01:02 pm (UTC)no subject
Date: 2012-09-30 08:18 pm (UTC)no subject
Date: 2012-09-30 09:07 pm (UTC)no subject
Date: 2012-09-30 09:36 pm (UTC)Смотри, у меня действительно три переменных, но единственная линейная регрессия, которую. я вижу — это переписать уравнение в следующем виде (перейдя к дискретным приращениям dt=1):
И в этом случае я пренебрегаю последним членом (собственно. момент, который мне не нравится) и получаю обычную регрессию в виде y=ax+b. А товарищ на видео рассказывает о случаях y=ax+bt+cw+...
Может я чего не вижу? У меня регрессия сегодняшнего наблюдения как функции от вчерашнего. А ты какие видишь варианты?
no subject
Date: 2012-09-30 10:17 pm (UTC)no subject
Date: 2012-09-30 10:27 pm (UTC)а0 = тета * мю
а1 = (1 - тета)
а2 = сигма
Решим относительно их регрессию. После решим систему из трех уравнений от трех неизвестных. У тебя же есть данные по всем r(t) и W(t)?
no subject
Date: 2012-09-30 11:39 pm (UTC)y = a0 + a1*x1 + a2*x2
Вопрос лишь в обозначениях. Если есть данные для x1 и x2 то можно применить линейную регрессию.
no subject
Date: 2012-10-01 08:09 am (UTC)no subject
Date: 2012-10-01 10:19 am (UTC)no subject
Date: 2012-10-01 11:16 am (UTC)Не хватает мне теории, а наобум и не хочется, и времени нет.
no subject
Date: 2012-10-01 11:35 am (UTC)Как вариант, можно смоделировать белый шум и провести стат эксперемент на конкретных выборках их него, после посмотреть как ведут себя параметры. Сходятся ли, и если сходятся то куда.
Почему на сигму не поделили не знаю. Видимо, тут нужна знать "физику" стоящую за уравнением :)
no subject
Date: 2012-10-01 11:51 am (UTC)no subject
Date: 2012-10-01 12:24 pm (UTC)no subject
Date: 2012-10-01 11:53 am (UTC)Я уже попытался просто так поиграть с разными коэффициентами и герерацией белого шума, получается что-то, какое отношение имеет к моей переменной — непонятно.
И наоборот поиграл — прикладывая разные коэффициенты, пытался считать из моих данных dZ, на нормальное распределение редко получается похоже :-)
no subject
Date: 2012-10-01 12:28 pm (UTC)Правда, так двольно долго. Нужно уметь эти оценки делать, гипотезы проверять статистические. Если у тебя есть hands-on опыт такого рода, то должно быть не сложно (у меня его нет).