Calcul de la distribution cumulative du rabattement maximal de la marche aléatoire avec dérive

9

Je m'intéresse à la distribution du rabattement maximum d'une marche aléatoire: Soit où . Le rabattement maximum après périodes est . Un article de Magdon-Ismail et. Al. donne la distribution pour le rabattement maximum d'un mouvement brownien avec dérive. L'expression implique une somme infinie qui comprend certains termes définis de manière implicite. J'ai des problèmes pour écrire une implémentation qui converge. Quelqu'un connaît-il une expression alternative du CDF ou une implémentation de référence dans le code?X0=0,Xi+1=Xi+Yi+1YiN(μ,1)nmax0ijn(XiXj)

shabbychef
la source
Quelle précision en avez-vous besoin? Pourriez-vous simplement simuler la marche et éviter des solutions entièrement fonctionnelles?
kyle
bon point. Je n'ai pas besoin de précision au niveau de la physique atomique. en fait, 3 sigfigs est probablement très bien ....
shabbychef
Cela nécessiterait environ un million de promenades aléatoires simulées ...
whuber

Réponses:

4

Il s'agit d'une somme alternée. Chaque paire successive annule presque; ces sommes par paire diminuent finalement de façon monotone.

Une approche consiste alors à calculer la somme par paires où = {1,2}, {3,4}, {5,6}, etc. (Cela élimine également beaucoup d'erreurs en virgule flottante.) Certains d'autres astuces peuvent aider:n

(1) Pour résoudre pour une constante positive , une bonne valeur de départ à rechercher - et une excellente approximation pour la plus grande racine - est . Je pense que Newton-Raphson devrait très bien fonctionner.α n e t = ( n + une / deux ) π - αtan(t)=t/ααntht=(n+1/2)πα(n+1/2)π

(2) Après un petit nombre de termes initiaux, les sommes des paires commencent à diminuer de façon très, très constante. Les logarithmes des valeurs absolues des paires espacées exponentiellement diminuent rapidement presque linéairement. Cela signifie que vous pouvez interpoler parmi un très petit nombre de paires de sommes calculées pour estimer toutes les paires de sommes que vous n'avez pas calculées. Par exemple, en calculant les valeurs uniquement pour les paires (2,3), (4,5), (8,9), (16,17), ..., (16384, 16385) et en construisant le polynôme interpolateur pour celles-ci (considérée comme les valeurs d'une fonction à 1, 2, ..., 14) et en utilisant les argumentsh=μ=σ=1, J'ai pu atteindre une précision à six chiffres pour les pires erreurs. (Encore mieux, les erreurs oscillent en signe, suggérant que la précision des valeurs interpolées sommées pourrait être un peu mieux que six chiffres.) Vous pourriez probablement estimer la somme limite à une bonne précision en extrapolant linéairement la fin de ces valeurs (ce qui se traduit par une loi de puissance) et intégrant la fonction d'extrapolation à l'infini. Pour terminer cet exemple de calcul, vous avez également besoin du premier terme. Cela donne une précision à six chiffres au moyen de seulement 29 termes calculés dans la somme.

(3) Notez que la fonction dépend vraiment de et , et non de ces trois variables indépendamment. La dépendance à l'égard de est faible (comme il se doit); vous pourriez vous contenter de fixer sa valeur tout au long de vos calculs.μ / σ Th/σμ/σT

(4) En plus de tout cela, pensez à utiliser certaines méthodes d'accélération série , comme la méthode d'Aitken . Un bon compte rendu de cela apparaît dans Recettes numériques .

Ajoutée

(5) Vous pouvez estimer la queue de la somme avec une intégrale. Lors de l'écriture , l'équation (avec ) peut être résolue pour , qui est petit, puis pour en substituant back. L'expansion de la tangente dans une série de Taylor dans donne la solution approximative tan ( θ n ) = θ n / alpha alpha = μ h / σ 2 t n θ n t nθn=(n+1/2)π1/tntan(θn)=θn/αα=μh/σ2tnθntn

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

où .z=(n+1/2)π

Pourvu que soit suffisamment grand, les facteurs exponentiels de la forme deviennent extrêmement proches de 1, vous pouvez donc les négliger. En règle générale, ces termes peuvent être négligés même pour les petits car est , ce qui rend la première exponentielle à zéro extrêmement rapidement. (Cela se produit une fois que dépasse considérablement . Faites vos calculs pour un grand si vous le pouvez!)1 - exp ( - σ 2 θ 2 n Tnn& thetav 2 n Θ(n2)nα/Tune/2T1exp(σ2θn2T2h2)exp(μ2T2σ2)nθn2Θ(n2)nα/T1/2T

L'utilisation de cette expression pour pour additionner les termes pour et nous permet de les approximer (une fois que toute la fumée disparaît) comme n n + 1θnnn+1

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

Le remplacement de la somme commençant à par une intégrale sur commençant à rapproche de la queue. (L'intégrale doit être multipliée par un facteur commun de .) L'erreur dans l'intégrale est . Ainsi, pour obtenir trois chiffres significatifs, vous devrez généralement calculer environ huit des termes de la somme, puis ajouter cette approximation de queue.N N - 1 / 4 exp ( - α ) O ( 1 / n 4 )n=2NNN1/4exp(α)O(1/n4)

whuber
la source
1
c'est vraiment génial, et devrait aller un long chemin vers le CDF. Au-dessus et au-delà du matériau du badge.
shabbychef
2

Vous pouvez commencer par regarder les fonctions de distribution des tirages dans fBasics . Vous pouvez donc facilement simuler le mouvement brownien avec la dérive et appliquer ces fonctions comme un début.

Shane
la source
+1 C'est une réponse assez directe, étant donné que ces fonctions implémentent les formules du document!
whuber
Il semble que ce package calcule le rabattement maximal attendu sur la base du papier, mais ne calcule pas le CDF. Le document donne des résultats de «raccourci», IIRC, pour calculer cette attente.
shabbychef
@shabbychef Désolé, j'ai manqué cette gentillesse. Je vois comment obtenir l'intégralité du CDF peut être plus utile que de simplement connaître l'attente. (Le risque financier est bien plus que les pertes attendues ...) Mais maintenant je me sens un peu mieux dans le travail que j'ai fait pour rapprocher le CDF!
whuber