Обчислення кумулятивного розподілу максимальної просадки випадкової ходи з дрейфом


9

Мене цікавить розподіл максимальної просадки випадкової прогулянки: Нехай де . Максимальна сумація після періодів - . Документ Магдона-Ісмаїла та ін. ін. дає розподіл для максимального витягування броунівського руху з дрейфом. Вираз включає нескінченну суму, яка включає деякі терміни, визначені лише неявно. У мене виникають проблеми з написанням реалізації, яка зближується. Хтось знає про альтернативне вираження 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
це дійсно чудово, і він повинен пройти довгий шлях до ХДН. Зверху та поза матеріалом значка.
shabbychef

2

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


+1 Це досить пряма відповідь, враховуючи, що ці функції реалізують формули в роботі!
whuber

Схоже, цей пакет обчислює очікуване максимальне зменшення на основі паперу, але не обчислює CDF. У статті даються результати "швидкого доступу", IIRC, для обчислення цього очікування.
shabbychef

@shabbychef Вибачте, я пропустив цю вишуканість. Я бачу, як отримання цілої CDF може бути кориснішою, ніж просто знати очікування. (Фінансовий ризик - це набагато більше, ніж просто очікувані втрати ...) Але зараз я відчуваю себе трохи краще щодо роботи, яку я зробив для апроксимації СРР!
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.