Вычисление совокупного распределения максимальной просадки случайного блуждания со сносом


9

Меня интересует распределение максимальной просадки случайного блуждания: пусть где , Максимальная просадка после n периодов равна \ max_ {0 \ le i \ le j \ le n} (X_i - X_j) . Статья Магдона-Исмаила и др. и др. дает распределение для максимальной просадки броуновского движения со сносом. Выражение включает в себя бесконечную сумму, которая включает в себя некоторые термины, определенные только неявно. У меня проблемы с написанием реализации, которая сходится. Кто-нибудь знает об альтернативном выражении CDF или ссылочной реализации в коде?X0=0,Xi+1=Xi+Yi+1YiN(μ,1)nmax0ijn(XiXj)


Насколько вам это нужно? Не могли бы вы просто смоделировать прогулку и избежать полнофункциональных решений?
Кайл

хорошая точка зрения. Мне не нужна точность уровня атомной физики. на самом деле, 3 sigfigs, вероятно, просто отлично ....
shabbychef

Это потребовало бы около миллиона смоделированных случайных прогулок ...
whuber

Ответы:


4

Это знакопеременная сумма. Каждая последующая пара почти отменяет; такие пары в конечном итоге монотонно уменьшаются.

Один из подходов состоит в том, чтобы вычислить сумму в парах, где = {1,2}, {3,4}, {5,6} и т. Д. (Это также устраняет много ошибок с плавающей запятой.) Некоторые другие трюки могут помочь:n

(1) Чтобы найти для положительной константы , хорошее начальное значение для поиска - и отличное приближение для большого корня - это . Я подозреваю, что Ньютон-Рафсон должен работать очень хорошо.tan(t)=t/ααntht=(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/tntan(θn)=θn/αα=μh/σ2tnθntn

θn=zαzα2α3/3z3+O((αn)5)

где .z=(n+1/2)π

При условии, что достаточно велико, экспоненциальные множители вида очень близко к 1, поэтому вы можете пренебречь ими. Как правило, этими терминами можно пренебречь даже для малых потому что равно , в результате чего первая экспонента стремительно к нулю очень быстро. (Это происходит, когда значительно превышает . Если возможно, проведите вычисления для большого !)n1exp(σ2θn2T2h2)exp(μ2T2σ2)nθn2Θ(n2)nα/T1/2T

Использование этого выражения для для суммирования слагаемых для и позволяет нам приблизить их (как только весь дым рассеется) какθnnn+1

2πn24πn3+13π2+6(43α)α2π3n4+O(1n5).

Замена суммы, начиная с , интегралом по начинающимся с приближает хвост. (Интеграл должен быть умножен на общий множитель .) Ошибка в интеграле . Таким образом, чтобы получить три значащие цифры, вам, как правило, нужно вычислить около восьми или около того слагаемых в сумме, а затем добавить это приближение хвоста.n=2NNN1/4exp(α)O(1/n4)


1
это действительно здорово, и должно пройти долгий путь к CDF. Выше и за пределами значок материала.
Шаббычеф

2

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


+1 Это довольно прямой ответ, учитывая, что эти функции реализуют формулы в статье!
whuber

Кажется, что этот пакет вычисляет ожидаемую максимальную просадку на основе бумаги, но не вычисляет CDF. В документе приводятся «краткие» результаты IIRC для расчета этого ожидания.
Шаббычеф

@shabbychef Извините, я скучал по этой мелочи. Я понимаю, что получение всего CDF может быть более полезным, чем просто знание ожидания. (Финансовый риск - это гораздо больше, чем просто ожидаемые потери ...) Но теперь я чувствую себя немного лучше о работе, которую я проделал, чтобы приблизиться к CDF!
whuber
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.