Меня интересует распределение максимальной просадки случайного блуждания: пусть где , Максимальная просадка после n периодов равна \ max_ {0 \ le i \ le j \ le n} (X_i - X_j) . Статья Магдона-Исмаила и др. и др. дает распределение для максимальной просадки броуновского движения со сносом. Выражение включает в себя бесконечную сумму, которая включает в себя некоторые термины, определенные только неявно. У меня проблемы с написанием реализации, которая сходится. Кто-нибудь знает об альтернативном выражении CDF или ссылочной реализации в коде?
distributions
cdf
finance
random-walk
shabbychef
источник
источник
Ответы:
Это знакопеременная сумма. Каждая последующая пара почти отменяет; такие пары в конечном итоге монотонно уменьшаются.
Один из подходов состоит в том, чтобы вычислить сумму в парах, где = {1,2}, {3,4}, {5,6} и т. Д. (Это также устраняет много ошибок с плавающей запятой.) Некоторые другие трюки могут помочь:n
(1) Чтобы найти для положительной константы , хорошее начальное значение для поиска - и отличное приближение для большого корня - это . Я подозреваю, что Ньютон-Рафсон должен работать очень хорошо.tan(t)=t/α α nth t=(n+1/2)π−α(n+1/2)π
(2) После небольшого числа начальных слагаемых суммы пар начинают уменьшаться в размерах очень и очень последовательно. Логарифмы абсолютных значений экспоненциально разнесенных пар быстро уменьшаются почти линейно. Это означает, что вы можете интерполировать очень небольшое количество вычисленных парных сумм для оценки всех парных сумм, которые вы не вычислили. Например, путем вычисления значений только для пар (2,3), (4,5), (8,9), (16,17), ..., (16384, 16385) и построения интерполяционного полинома для них (считается значением функции в 1, 2, ..., 14) и использует аргументыh=μ=σ=1 Мне удалось добиться шестизначной точности для ошибок наихудшего случая. (Еще приятнее то, что ошибки колеблются в знаке, предполагая, что точность суммированных интерполированных значений может быть немного лучше, чем шесть цифр.) Вероятно, вы можете оценить предельную сумму до хорошей точности, линейно экстраполировав от конца этих значений (что переводит в степенной закон) и интегрируя экстраполирующую функцию в бесконечность. Для завершения этого примера расчета вам также понадобится первый член. Это дает шестизначную точность посредством суммирования только 29 вычисленных слагаемых.
(3) Обратите внимание, что функция действительно зависит от и , а не от всех этих трех переменных независимо. Зависимость от слабая (как и должно быть); Вы можете быть довольны, чтобы зафиксировать его значение во всех ваших расчетахh/σ μ/σ T
(4) Кроме того, рассмотрите возможность использования некоторых методов ускорения серии , например , метода Эйткена . Хороший учет этого появляется в Числовых Рецептах .
добавленной
(5) Вы можете оценить хвост суммы с интегралом. После записи можно решить уравнение (с ) для , который мал, а затем для путем замены обратно. Разложение касательной в ряд Тейлора по дает приближенное решениеθn=(n+1/2)π−1/tn tan(θn)=θn/α α=μh/σ2 tn θn tn
где .z=(n+1/2)π
При условии, что достаточно велико, экспоненциальные множители вида очень близко к 1, поэтому вы можете пренебречь ими. Как правило, этими терминами можно пренебречь даже для малых потому что равно , в результате чего первая экспонента стремительно к нулю очень быстро. (Это происходит, когда значительно превышает . Если возможно, проведите вычисления для большого !)n 1−exp(−σ2θ2nT2h2)exp(−μ2T2σ2) n θ2n Θ(n2) n α/T1/2 T
Использование этого выражения для для суммирования слагаемых для и позволяет нам приблизить их (как только весь дым рассеется) какθn n n+1
Замена суммы, начиная с , интегралом по начинающимся с приближает хвост. (Интеграл должен быть умножен на общий множитель .) Ошибка в интеграле . Таким образом, чтобы получить три значащие цифры, вам, как правило, нужно вычислить около восьми или около того слагаемых в сумме, а затем добавить это приближение хвоста.n=2N N N−1/4 exp(−α) O(1/n4)
источник
Вы можете начать с рассмотрения функций распределения просадки в fBasics . Таким образом, вы можете легко смоделировать броуновское движение с помощью дрейфа и применить эти функции в качестве начала.
источник