Hull-White модели и MatLab
2) По второму вопросу — тебе сам код нужен или просто рассказать что там делать?
Там не очень сложно всё.
У тебя есть даты в которые надо знать кривую (fixing dates и даты, в которые будут происходить выплаты (coupon/payment dates).
В дни выплат cashflow моделировать ничего не надо по следующей причине:
Допустим что выплата V происходит во время T, а её размер становится известен в момент времени t.
Тогда можно расписать
внутреннее мат ожидание получается просто ценой бонда
Чтобы уметь считать цены контрактов надо дисконтировать, и придётся симулировать
сразу пару
Ну выпиши какое у этой пары совместное распределение (в
2) По второму вопросу — тебе сам код нужен или просто рассказать что там делать?Код, конечно, лучше. И еще важно, какие ToolBox'ы он использует.
Там не очень сложно всё.
Пока втыкаю в ответ на первый вопрос (из следующего поста)
мы на работе баловались Black-Derman-Toy, чем её применимость лучше/хуже чем Hull-White например?
а кто-нибудь может на пальцах объяснить в каких случаях какую из моделей, моделирующих ставки, лучше использовать?Ну я ими не торговал, мы их клиентам продаём, так что когда какая лучше не знаю.
мы на работе баловались Black-Derman-Toy, чем её применимость лучше/хуже чем Hull-White например?
Но навскидку:
1) BDT модель вроде (если я всё правильно помню) имеет такую особенность, что независимо от значения short rate в момент времени t, в момент t+eps с положительной вероятностью short rate у тебя в бесконечность убежит.
2) HW модель принадлежит к классу affine gaussian моделей, они хорошо изучены, и легко обобщаются.
Например ту же HW модель можно делать многофакторной, можно к ней stocks прикрутить ("поженить" с Black-Scholes или вообще сделать n валют, с FX, со стоками, и всё это довольно легко симулируется, так как распределения все красивые.
Но так как она гауссовская, с положительной вероятностью short rate может оказаться отрицательной,
причём если rate получился отрицательным, то discount factor это будет экспонента, и он может
"забить" всё остальное, так как растёт быстро. Например, при большой волатильности floating rate note может отрицательную цену иметь из-за этого (но оооочень большая сигма нужна, так что на практике это не важно).
Вообще эта модель простая, и хорошо изучена, и если какой косяк, то его легко отловить, в отличие от какой-нибудь навороченной версии LIBOR модели со стохастической волатильностью.
Для целей риск-менеджмента (VaR,сценарный анализ) до сих пор используют какую-нибудь short rate model , у которой цены считаются аналитически. Так как надо считать часто и быстро.
Вообще эта модель простая, и хорошо изучена, и если какой косяк, то его легко отловить,
от подобной аргументации все беды современных финансов

Или я неправильно тебя понял?
В общем, не очень понял твой ответ. Ты предлагаешь моделировать ставку от времени t до времени T через df(0,t) и df(0,T которые в свою очередь получаются через интеграл короткой ставки? Тогда непонятно, зачем моделировать всю кривую в каждый момент времени. Вся информация будет содержаться в в кривой на момент ноль. А ставки в будущем просто пересчитываться как forward rate.Нет, чего-то ты понял не так. Я не говорил про ставку от t до T. Я там просто объяснял, почему
Или я неправильно тебя понял?
переменные модели нужно симулировать только в "fixing dates" (дни, в которые нужно знать какой-то rate а в дни выплат симулировать ничего не надо, они вообще произвольные могут быть. То есть твои Монте Карло пути будут содержать информацию о переменных модели только в fixing dates, большего тебе не надо.
Это на самом деле общая фича всех interest rate models. Хотя дискаунт факторы в модели стохастические, фактор от fixing date до собственно выплаты симулировать не надо, это просто цена бонда в модели.
Что нужно симулировать для дисконтирования, так это df(0,t что и будет
и однофакторная, симулировать придётся две величины (short rate и её интеграл).
Соответственно в HW 2 factor придётся 4 величины симулировать. Вот это я имел в виду.
Будет время на выходных, я тебе выпишу распределения которые там нужны, после этого код написать — полчаса работы.
ЗЫ. На самом деле, я видел объекты в MatLab'е, которые соответствуют моделям типа HW. И мне показалось, что ответ там есть прямо-таки готовый (нужны только правильные toolbox'ы). Поэтому захотелось кое-что переделать из существующих не самых оптимальных программок.
В теме бол-мен новичок (хотя back ground вникать позволяет так что будет полезно больше внимания уделить концепту.
Что нужно симулировать для дисконтирования, так это df(0,t что и будетКстати, я видел как в одном продукте чуваки заимплементировали HW модель: делали малый шаг по времени, и симулировали только short rate. Для дисконтирования использовали эти малые шажки. За это, конечно, руки отрывать надо
exp(-интеграл от short rate). Ну и саму short rate надо симулировать. Так что хоть модель
и однофакторная, симулировать придётся две величины (short rate и её интеграл).
Соответственно в HW 2 factor придётся 4 величины симулировать. Вот это я имел в виду.

За это, конечно, руки отрывать надоДа, у нас таких "специалистов" тоже хватает. Во многом приходится разбираться самому. И писать гневные письма.
и нужно знать rates в даты
Эту модель часто записывают как
Для начала применим одни трюк, который позволяет вместо пары (x, integral of x) симулировать пару
Так проще формулы в конце получаются.
Можно и в лоб без этого трюка симулировать пару (rate, integral
просто формулы будут чуть сложнее. Советую потом попробовать и в лоб, как упражнение.
Навесив интеграл от
Таким образом интеграл от х выражается через x и W.
ОК, чтобы просимулировать пару
надо просто заметить, что они multivariate normal, и если путь до
где
Формулы эти доказываются через свойства интеграла Ито, ничего сложного.
Ну вот, а уж 2 случайные гауссовские величины по этой формуле ты сможешь засимулировать, я думаю?
Точное распределение ведь дано.
Только вместо псевдослучайных советую Соболевские числа использовать, цены контрактов гораздо быстрее будут сходиться.
(говоря "прогноз", я имею в виду оценку распределения будущего значения - не важно, риск-нейтрального или реального; понятно, что прогноз собственно ставок - это по другому адресу ;-) ).
1) Если тебе просто нужна какая-нибудь модель для того, чтобы вставить в какой-нибудь отчёт результаты какого-нибудь моделирования и дальше эту цифру нигде не использовать, то ты берёшь то, что у всех на слуху (CIR или HW - отличный вариант).
2) Если тебе нужен прогноз мгновенной процентной ставки на достаточно короткий срок (не больше года лучше подобрать достаточно навороченную short rate модель. Их много и они неплохо справляются с этой задачей.
3) Если тебе нужен прогноз всей срочной структуры процентных ставок (кривой доходности а не только мгновенной ставки, то ни в коем случае не использовать short rate модели. Если срок, на который нужен прогноз, не очень велик, можно посмотреть в сторону whole yield curve моделей а-ля HJM или LIBOR.
4) Если нужен прогноз на длительный срок (а такие задачи возникают, например, у пенсионных фондов или в задачах управления долговым портфелем на гос. или муниципальном уровне то можно сразу идти и убиваться о стенку. Потому что не просто нет моделей, которые могут адекватно решить эту проблему, так ещё и применение разных моделей даёт очень сильно разный результат.
5) Отдельно про модели типа Hull-White (double plus модели которые содержат функцию времени, подгоняемую по данным. Когда я вижу такую модель, я всё время вспоминаю Коперника и его эпициклы. Когда стало понятно, что планеты движутся не по окружностям, решили, что они движутся по маленьким окружностям, центры которых движутся по окружностям вокруг Солнца. Потом пришлось добавить ещё один цикл... и ещё... говорят, дошло до 17(!). Так вот, эта зависимость от времени в моделях - чистой воды эпициклы. Косвенно это подтверждается тем, что такие модели нужно калибровать ежедневно, притом параметры меняются весьма существенно. Применение таких моделей для регулярного анализа - под бооольшим вопросом.
6) Если ты строишь интегрированную систему риск-менеджмента, и от модели требуется не только давать прогнозы сценариев, но и участвовать в каких-то других расчётах, возможно, совместно с другими моделями, то крайне важно, чтобы используемая модель давала пристойные мгновенные формы кривых доходностей. Моделей, которые одновременно умеют и давать пристойную кривую доходности, и нетривиальную стохастическую динамику, немного ввиду довольно прикольного фундаментального ограничения, выведенного в самом конце 20-го века. Если что, одна из таких моделей (бесконечномерная, а-ля HJM) составляет мой диссер.
По первому - соглашусь. По второму - только если расчёты проводятся "в стол" или по принуждению регулятора. Для расчёта разумного VaR по портфелю облигаций (ещё не дай бог - различного кредитного качества) ты не обойдёшься short rate моделью, как ни крути.
Кстати, я видел как в одном продукте чуваки заимплементировали HW модель: делали малый шаг по времени, и симулировали только short rate. Для дисконтирования использовали эти малые шажки. За это, конечно, руки отрывать надоЗато можно легко обобщить на множество других моделей


Slawik75
Не знаю, сюда ли. Но вроде, самое близкое.В общем, вопрос такой. Предположим, у меня есть кривая доходности в момент ноль (ставка в зависимости от срока инвестирования). А еще есть однопараметрическая Hull-White модель и ее параметры (volatility и mean reversion). Я хочу получить кучу сценариев развития кривой доходности во времени (ну, например, через год кривая будет такая, через 2 - такая и т.д. и все это тысячу раз).
Вот тут первый вопрос. Я не понимаю, как Hull-White модель это дает. Она же короткую ставку моделирует.
И заодно второй вопрос. А как мне это в MatLab'е сделать? Пытался гуглить, но, очевидно, задаю неправильный вопрос. Там что-то гораздо более навороченное все время описывают.