Le phénomène de Saint-Pétersbourg. Les paradoxes de la théorie des probabilités. - page 11

 
Maxim Dmitrievsky:

Oui, surtout lorsque vous avez besoin d'avoir un tas de citations différentes à portée de main et de faire des tests rapides, R et python vous mettront rapidement dans une flaque d'eau juste en relançant les scripts.

+ R a un IDE d'une lenteur écoeurante.

Exécutez n'importe quel backtester des centaines de fois dans ces langues et pendez-vous ensuite de chagrin.

Je ne veux même pas mentionner les erreurs provenant de librairies tierces, les incompatibilités constantes, etc.

J'ai aussi des idiosyncrasies à propos de R. Quand j'entends parler de R, j'ai envie de prendre l'arme)).

Mais ne parle pas de Python. D'après ma propre expérience : tout est très rapide. Disons que les requêtes vers SQLite, pas très rapide, passent de 0,003 à 0,03 sec. Tester TC pour 55 000 lignes d'historique prend un peu plus de 2 minutes, y compris tous les éléments auxiliaires du début à la fin.

 
Aleksey Nikolayev:

Il n'y a presque pas de statistiques dans mql5. Et celui que nous avons est, pour le moins, non testé.

peut-être, je ne l'utilise pas beaucoup car je n'en vois pas l'intérêt et je ne sais pas comment faire.

l'essentiel est l'optimisation et le pigeonnage empirique de la recherche, comme sur le hubra de nova.

 
Yuriy Asaulenko:

R me rend idiosyncrasique aussi. Quand j'entends parler de R, j'ai envie de prendre un fusil.)

Mais ne dites rien à propos de Python. D'après ma propre expérience : tout est très rapide. Disons que les requêtes vers SQLite, pas très rapide, passent de 0,003 à 0,03 sec. Tester TC pour 55 000 lignes d'historique prend un peu plus de 2 minutes, y compris tous les éléments auxiliaires du début à la fin.

Oui, il y a aussi des problèmes, par exemple, les graphiques de sortie sont lents. Ou vous pouvez installer une bibliothèque, mais elle a besoin d'une autre bibliothèque, que vous avez déjà, mais elle a besoin de la même, mais d'une version plus ancienne, et les autres ne fonctionnent pas...

donc ça nous a pris deux heures pour faire nos recherches, pas 10 minutes.

 
Maxim Dmitrievsky:

Oui, il a aussi des problèmes, par exemple, il sort les graphiques lentement. Ou bien vous installez une bibliothèque, mais elle requiert la dépendance d'une autre bibliothèque, que vous avez déjà et elle c%#$ a besoin de la même mais d'une version plus ancienne, et les autres ne fonctionnent pas avec l'ancienne...

donc ça nous a pris deux heures au lieu de 10 minutes pour faire nos recherches.

Je ne l'ai pas encore rencontré en Python, mais j'admets que c'est une possibilité. Cela s'est également produit avec d'autres logiciels.

 
Maxim Dmitrievsky:

peut-être, je ne l'utilise pas beaucoup car je n'en vois pas l'intérêt et ne sais pas comment faire

L'essentiel est l'optimisation et le pigeonnage empirique de la recherche, comme sur hobra par Nova.

Pour moi, la règle principale (pour la rapidité d'exécution et l'absence de blocages) est qu'il ne doit pas y avoir de boucles dans R. Si une boucle très nécessaire et quelque chose de simple à l'intérieur - écrire la fonction en C (en R c'est assez simple). Si cela ne convient pas, utilisez du C/C++ pur au lieu de R.

Mais si vous avez besoin de quelque chose comme le test de Kolmogorov-Smirnov, R est le meilleur choix. Je suis en train d'écrire un article pour le forum, où je vais essayer de montrer l'utilité de ces méthodes pour le trading.

 
Aleksey Nikolayev:

Mais si vous avez besoin de quelque chose comme le test de Kolmogorov-Smirnov, ...... Je suis en train d'écrire un article pour le forum, où j'essaierai de montrer l'utilité de ces méthodes pour le trading.

Je peux le faire maintenant, sous forme abstraite ? Si c'est à propos de R, je ne préfère pas.) Mieux sur les avantages de Kolmogorov-Smirnov pour le commerce.

 
Aleksey Nikolayev:

Pour moi, la règle principale (pour la rapidité d'exécution et le non-gel) - il ne devrait pas y avoir de boucles en R. Si nous avons vraiment besoin d'une boucle et de quelque chose de simple à l'intérieur, écrivez une fonction en C (en R, c'est assez simple). Si cela ne convient pas, utilisez du C/C++ pur au lieu de R.

Mais si vous avez besoin de quelque chose comme le test de Kolmogorov-Smirnov, R est le meilleur choix. Je suis en train d'écrire un article pour un forum où j'essaierai de montrer l'utilité de ces méthodes pour le trading.

OK, intéressant, lisons-le.

 
Yuriy Asaulenko:

Je peux le faire maintenant, sous forme abstraite ? Si c'est à propos de R, vous feriez mieux de ne pas le faire). Mieux sur les avantages de Kolmogorov-Smirnov pour le commerce.

Nous construisons quelques statistiques sur les séries de prix. En utilisant le critère de concordance, nous vérifions à quel point sa distribution diffère de celle qui serait dans le cas où les prix seraient des marches aléatoires. Si la différence est statistiquement significative, elle peut indiquer la possibilité d'un échange. Parmi les critères de concordance, Kolmogorov-Smirnov semble être le plus approprié.

En outre, ce critère (et bien d'autres) serait très utile dans le fil "De la théorie à la pratique").

 
Aleksey Nikolayev:

Nous construisons quelques statistiques sur les séries de prix. En utilisant le critère de concordance, nous vérifions dans quelle mesure sa distribution diffère de ce qu'elle serait si les prix étaient une marche aléatoire. Si la différence est statistiquement significative, elle peut indiquer la possibilité d'un échange. Parmi les critères de concordance, Kolmogorov-Smirnov semble être le plus approprié.

En outre, ce critère (et bien d'autres) serait très utile dans le fil "De la théorie à la pratique").

Le RV aléatoire peut avoir absolument n'importe quelle distribution. Sur la plupart des distributions, les échanges ne sont pas possibles du tout ou n'ont pas de sens.

En outre, les transactions sont effectuées sur une réalisation finale particulière d'un processus aléatoire, qui n'a lui-même rien à voir avec une distribution. Puisqu'une distribution est soit une réalisation infinie, soit un ensemble de réalisations SP.

Un bon exemple, la même pièce, où le gain/la perte peut être absolument quelconque, avec M=0.

Eh bien, si vous prenez une BP non stationnaire, alors parler de distributions revient à ne parler de rien du tout.

 
Yuriy Asaulenko:

Le BP aléatoire peut avoir absolument n'importe quelle distribution. Sur la plupart des distributions, les échanges ne sont pas possibles du tout ou n'ont pas de sens.

En outre, les transactions sont effectuées sur une réalisation particulière d'un processus aléatoire, qui n'a lui-même rien à voir avec la distribution. Puisqu'une distribution est soit une réalisation infinie, soit un ensemble de réalisations CP.

Un bon exemple est la même pièce, où le gain/la perte peut être absolument quelconque, avec M=0.

Naturellement, à partir d'une seule réalisation d'un processus aléatoire (notre série de prix), nous ne pouvons pas établir sa forme exacte. Cette statistique nous permettra uniquement de déterminer la probabilité de faire une erreur, en considérant que le processus est différent d'une marche aléatoire (un processus de Wiener). Si cette probabilité est inférieure au seuil que nous avons fixé - nous supposons que le processus est distinct d'une marche aléatoire - c'est l'approche standard de matstat. La différence par rapport à une marche aléatoire nous intéresse car cette différence est une condition nécessaire (bien que non suffisante) pour une opportunité de négociation.