Interesuje mnie rozkład maksymalnego wykorzystania losowego marszu: Niech gdzie . Maksymalna po okresach wynosi . Artykuł Magdona-Ismaila i in. glin. daje rozkład maksymalnego wyciągnięcia ruchu Browna z dryfowaniem. Wyrażenie obejmuje nieskończoną sumę, która obejmuje niektóre terminy zdefiniowane tylko pośrednio. Mam problemy z napisaniem implementacji, która jest zbieżna. Czy ktoś jest świadomy alternatywnego wyrażenia CDF lub referencyjnej implementacji w kodzie?
distributions
cdf
finance
random-walk
shabbychef
źródło
źródło
Odpowiedzi:
To jest naprzemienna suma. Każda kolejna para prawie anuluje; takie pary sum ostatecznie zmniejszają się monotonicznie.
Jednym z podejść jest zatem obliczenie sumy parami, gdzie = {1,2}, {3,4}, {5,6} itp. (Takie postępowanie eliminuje również wiele błędów zmiennoprzecinkowych.) Niektóre więcej sztuczek może pomóc:n
(1) Aby rozwiązać dla dodatniej stałej , dobrą początkową wartością do przeszukania - i doskonałym przybliżeniem dla największego pierwiastka - jest . Podejrzewam, że Newton-Raphson powinien działać naprawdę dobrze.tan(t)=t/α α nth t = ( n + 1 / 2 ) π-α( N + 1 / 2 ) π
(2) Po niewielkiej liczbie początkowych warunków sumy par zaczynają się bardzo, bardzo konsekwentnie zmniejszać. Logarytmy wartości bezwzględnych par rozmieszczonych wykładniczo szybko zmniejszają się prawie liniowo. Oznacza to, że można interpolować między bardzo małą liczbą obliczonych sum par, aby oszacować wszystkie sumy, których nie obliczono. Na przykład, obliczając wartości tylko dla par (2,3), (4,5), (8,9), (16,17), ..., (16384, 16385) i konstruując dla nich wielomian interpolujący (uważane za wartości funkcji w 1, 2, ..., 14) i przy użyciu argumentówh = μ = σ= 1 , Udało mi się osiągnąć sześciocyfrową precyzję w przypadku najgorszych błędów. (Jeszcze ładniej, błędy oscylują w znaku, co sugeruje, że dokładność sumowanych interpolowanych wartości może być nieco lepsza niż sześć cyfr.) Prawdopodobnie można oszacować sumę ograniczającą do dobrej precyzji, ekstrapolując liniowo poza koniec tych wartości (co przekłada się na prawo mocy) i integrowanie funkcji ekstrapolacji do nieskończoności. Do wykonania tego przykładowego obliczenia potrzebny jest również pierwszy termin. Daje to sześciocyfrową precyzję za pomocą tylko 29 wyliczeń w podsumowaniu.
(3) Zauważ, że funkcja naprawdę zależy od i , a nie od wszystkich trzech z tych zmiennych niezależnie. Zależność od jest słaba (jak powinna być); możesz być zadowolony, aby ustalić jego wartość we wszystkich swoich obliczeniach.h / σ μ / σ T.
(4) Oprócz tego rozważ zastosowanie niektórych metod przyspieszania szeregu , takich jak metoda Aitkena . Dobre rozliczenie tego pojawia się w Przepisach numerycznych .
Dodany
(5) Możesz oszacować ogon sumy za pomocą całki. Po napisaniu , równanie (z ) dla , który jest mały, a następnie dla przez podstawienie z powrotem. Rozszerzenie stycznej do szeregu Taylora w daje przybliżone rozwiązanieθn= ( N + 1 / 2 ) π- 1 /tn dębnik(θn) =θn/ α α = μ h /σ2) tn θn tn
gdzie .z= ( N + 1 / 2 ) π
Pod warunkiem, że jest wystarczająco duży, wykładnicze czynniki postaci stają się bardzo bliskie 1, więc możesz je zaniedbać. Zazwyczaj te terminy można pominąć nawet dla małych ponieważ to , co powoduje, że pierwsza wykładnicza wartość bardzo szybko do zera. (Dzieje się tak, gdy znacznie przekracza . Wykonaj obliczenia dla dużej jeśli możesz!)n 1 - exp(-σ2)θ2)nT.2)h2)) exp(-μ2)T.2)σ2)) n θ2)n Θ(n2) n α/T1/2 T
Użycie tego wyrażenia dla celu zsumowania warunków dla oraz pozwala nam je przybliżyć (gdy wszystkie dymy znikną), ponieważθn n n+1
Zastąpienie sumy rozpoczynającej się od całką przez rozpoczynającą się od przybliża ogon. (Całka musi zostać pomnożona przez wspólny współczynnik .) Błąd w całce wynosi . Tak więc, aby osiągnąć trzy znaczące liczby, zwykle trzeba obliczyć około ośmiu warunków w sumie, a następnie dodać to przybliżenie ogona.n=2N N N−1/4 exp(−α) O(1/n4)
źródło
Możesz zacząć od spojrzenia na funkcje dystrybucji wypłat w fBasics . Możesz więc łatwo symulować ruch Browna z dryfowaniem i zastosować te funkcje na początek.
źródło