2 votes

Comment trouver la distribution paramétrique la mieux adaptée à un ensemble de données empiriques (rendements boursiers) ?

Étant donné des données empiriques à valeurs réelles (séries temporelles), je peux les convertir en histogramme pour obtenir une estimation (non paramétrique) de l'écart entre les deux valeurs. distribution empirique des données, mais histogrammes sont en blocs et en dents de scie.

Au lieu de cela, je voudrais identifier le meilleur ajustement distribution paramétrique de la scipy o scipy.stats des bibliothèques de fonctions de distribution, afin de pouvoir générer artificiellement une distribution paramétrique qui correspond étroitement à la distribution empirique de mes données réelles.

Si les données empiriques sont les rendements mensuels des actions AAPL empiriques, par exemple, je sais que la méthode paramétrique Distribution Johnson-SU ressemble, et peut imiter, les distributions des rendements boursiers grâce à son asymétrie personnalisable. Cependant, la distribution de Johnson SU dans scipy requiert quatre paramètres d'entrée pour être étalonné. Comment puis-je rechercher les meilleurs réglages des paramètres de cette distribution paramétrique à partir de scipy qui correspond à la distribution empirique de mon échantillon de retours AAPL ?

0voto

user3666197 Points 1

Q : "Je voudrais identifier la distribution paramétrique la mieux adaptée à partir des scipy o scipy.stats des bibliothèques de fonctions de distribution, afin de pouvoir générer artificiellement une distribution paramétrique qui correspond étroitement à la distribution empirique de mes données réelles."

Le lien de @SeverinPappadeux ci-dessus pourrait aider (les tests K-S sont très bien), mais il sert bien, mais pour la comparaison analytique d'une paire de distribution déjà complète, et non pour le processus de génération constructive effective de celle-ci.

Donc, il faut désambiguïser l'objectif :
- la tâche est axée sur l'utilisation scipy / scipy.stats des générateurs ?
ou
- La tâche est-elle axée sur la réalisation d'un processus de génération de distributions synthétiques correspondant suffisamment bien à l'"original" empirique ?


Si c'est la première solution que vous souhaitez,
puis
nous nous heurtons à un oxymoron, à savoir la recherche d'un moteur générateur de distribution paramétrable (scriptable), qui (dans un certain sens d'une "meilleur" -) correspondent à une distribution empirique principalement non scriptible.
bien, comme un puede souhaitent toujours le faire
puis
vous vous retrouverez en effet dans une sorte de pénible stratégie de recherche ParameterSPACE (en utilisant l'outil prêt à l'emploi ou personnalisé scipy / scipy.stats hardcoded-generators) qui essaiera de trouver les "meilleures" valeurs correspondantes du vecteur ParameterSPACE des paramètres codés en dur de ces générateurs. Ceci peut vous enseigner dans une certaine mesure le péché de la dimensionnalité croissante (plus un générateur codé en dur a de paramètres, plus l'espace de recherche ParameterSPACE est grand, allant dans O( n * i^N * f^M * c^P * b^Q) double problème, ayant N -entier, M -float, P -cardinaux et Q -Les paramètres booléens d'un générateur respectif codé en dur, ce qui est plutôt désagréable pour votre budget temps, n'est-ce pas ? ).


Si c'est le cas,
puis
nous pouvons nous concentrer sur un moyen plus productif en définissant correctement ce qu'est le "bien-être" de "l'adéquation" de l'offre et de la demande. "original" .

La première solution consiste à générer un bruit assez aléatoire (assez facilement produit par un PRNG), qui, s'il n'est pas trop "fort" dans la direction PriceDOMAIN, peut être simplement ajouté à l'indice empirique-. "original" & nous y voilà.

Une plus grande sophistication pourrait être ajoutée, en utilisant la même astuce de superposition, d'exclusion(s), d'astuces spécifiques à la fréquence, d'ajouts de valeurs aberrantes (si l'on teste ultérieurement les propriétés/limites de la robustesse de certaines stratégies sensibles au flux de données et autres).

Quoi qu'il en soit, toutes ces méthodes pour la dernière cible ont la charmante propriété de ne pas s'aventurer dans de vastes recherches de ParameterSPACEs de haute dimensionnalité, mais sont souvent aussi agréables que de simplement O( n ) -scaled -- c'est cool, n'est-ce pas ?

Donc, juste pour soi imagination est la limite ici :o)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X