ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests

Re: Sondage : puissance de calcul et rapidité

par VB6backtester » 22 oct. 2019 17:02

Pour moi le temps varie assez peu avec les conditions, le plus gros est toujours de balayer les données ticks même si optimisé

Re: Sondage : puissance de calcul et rapidité

par Epitaf » 22 oct. 2019 18:49

Je fais tous mes backtests en python et au tick par tick,
Je monte ma base de donnée en mémoire vive ( je crée un dictionnaire avec le strict minimum d'information. mais je conseille 32 Go de ram pour les 5 années de ticks )
Récemment fait 4500 boucles sur 5 ans d'historiques au tick par tick. Environ 5 millions de trade. 560 milliards de tick lu. cela m'a pris 88 heures. Le processeur n'est plus vraiment important pour moi, j'ai un i7 7700k, mais c'est surtout ma ram qui fait le taff.

Donc en détail : 88 heures pour 4500 boucles, dont environ 1mn pour 1 boucle sur 5 ans, et pour être précis 14 secondes pour lire une année et simuler les trades.

Re: Sondage : puissance de calcul et rapidité

par VB6backtester » 22 oct. 2019 21:09

A oui quand même ! 5* plus vite que moi , bien sur tout dépend du prog en lui même.
Tu parles sur un seul thread pas en parallèle ?

Re: Sondage : puissance de calcul et rapidité

par Robinhood » 23 oct. 2019 09:29

Les backtests c'est vraiment le cas d'école de la parallélisation. Typiquement j'ai toujours pour un set donné de x scénarion sur les y jours de tick testés. Je parallélise soit :

- au sein d'un même jour. Pratique si on veut vraiment voir un jour en particuliers
- actifs par actifs (je le fais plutot avec le Forex et les actions)
- le plus souvent : je fais un pool avec x y. Plus rapide

Jai un 7940x avec 64gb. Je parallélise en général sur 20 threads (20/28 maxi. Ne jamais le.faire à bloc c'est innefivient. Viser lax 90% de ratio). Ce qui me pompe le plus de ram ce sont plutot les tests sur actions car là les matrices sont vite énormes.

Jai aussi expérimenté la distribution des calculs sur plusieurs machines. Javais un serveur dédié 64 coeurs mais je n'en ai plus besoin donc vendu.

Les bonnes pratiques c'est vraiment calcul matriciel + parallele + éviter au maxi les boucles + mise en mémoire que tu strict minimum nécessaire (modulo contexte compléxité).

On me joindre via mon outil sur les PP mais le mieux c'est peut être de poser ta question ici. De toute façon je partage toujours les échanges que jai eu en off.

Re: Sondage : puissance de calcul et rapidité

par VB6backtester » 23 oct. 2019 10:10

Moi j'ai un i7 6700, il commence à saturer à 5-6 thread , mais je trouve que c'est déjà incroyable de pouvoir parraleliser comme ça. C'est surtout moi qui ne suis pas bien organisé pour ça. Mais à quoi bon des matrices ???
:joker:

Re: Sondage : puissance de calcul et rapidité

par Robinhood » 23 oct. 2019 12:00

Je pense que c'est très probablement possible en VB6 aussi. Soit nativement soit via des dll.

Prenons un exemple lambda avec disons 1 mois de tick dans une meme matrice (ça implique que tu scales tes séries, disons sur une ut 1 SEC pour simplifier).

Ensuite tu met un timer, et tu fais les calculs suivants

- cas 1 boucle classique : for i=1 to n, MaxDD(serie i)
- cas 2 matrice : MaxDD(directement sur ta matrice de i series)

Tu met un timer dans chaque cas.

Dans le cas 1, lalgo boucle en appelans la fonction max dd i fois. Dans le cas 2, lalgo appelle 1 seule fois la fonction max dd. Ce ne sera pas i fois plus rapide car le max dd (matrice globale) sera plus lent que pour une seule series. Mais tu va quand meme gagner beaucoup.

Tu peux prendre dautres exemples. Une fois que tu auras compris la logique et vu le gain démentiel, tu ne pourras plus t'en passer !

Re: Sondage : puissance de calcul et rapidité

par Robinhood » 23 oct. 2019 12:53

Tu peux faire des tests avec des cas beaucoup plus simples.

Re: Sondage : puissance de calcul et rapidité

par VB6backtester » 23 oct. 2019 12:57

Désolé, je ne comprends pas pourquoi et comment les matrices..... Je réfléchis beaucoup à mon algo en testant des variations. C'est toujours des calculs en série itératives. Je devrais certainement automatiser le parallélisme.....

Re: Sondage : puissance de calcul et rapidité

par Robinhood » 23 oct. 2019 17:44

Attention tout n'est pas parallélisable. Dès linstant où tu commences à avoir des conditions etc.. tu es obligé de faire dans l'itératif et donc de boucler.

Un autre truc à faire cest un profiler de ton code. Lidée est de déterminer quest ce qui prends vraiment du temps dans tes calculs. Et ensuite de te focus là dessus pour rendre l'ensemble plus rapide.

Re: Sondage : puissance de calcul et rapidité

par Robinhood » 23 oct. 2019 17:46

Autre bonne pratique : tous les calculs qui ne sont pas dépendants d'un scénario du BT doit être fait en amont. Ca parait évident pour certains mais c'est loin d'être le cas pour tous.

Re: Sondage : puissance de calcul et rapidité

par VB6backtester » 23 oct. 2019 21:54

Bien sur, mais disons que j'arrive à tester chaque hypothèse assez rapidement (en quelques minutes- 20minutes) et donc en restant devant mon pc en faisant ou regardant autre chose…
Ce n'est pas tous les jours que je fais 3000 passes , sinon c'est que je reprends tout à zéro et même moins que zéro.

Là je vais faire des stats sur les délais d'open/sell réels mesurés en ticks pour les transposer et rendre plus réels mes backtests pour voir si ça change les résultats.

En même temps, j'ai du mal à digérer que ma strat actuelle (sur bollinger) marche bien sur le DAX (au moins sur le passé) et moins bien sur USD/JPY ou autres …. pourquoi ? faut il passer à chaque fois en revue toutes les valeurs, tous les indices pour se diversifier ?

Sujets similaires
Configuration PC avec une grande puissance de calcul
Fichier(s) joint(s) par ChefCuistot30 » 23 févr. 2016 10:44 (17 Réponses)
Puissance de calcul ; Qui fait quoi ?
par Burzum » 18 sept. 2016 12:13 (14 Réponses)
besoin aide rapidité prorealtime
Fichier(s) joint(s) par Julik » 29 nov. 2014 11:55 (9 Réponses)
Tester votre rapidité au Scalping
Fichier(s) joint(s) par DarthTrader » 20 janv. 2016 12:25 (31 Réponses)
Remarque rapidité rafraîchissement affichage du prix
Fichier(s) joint(s) par Richard » 04 févr. 2016 19:30 (4 Réponses)
Avoir une rapidité la plus grande possible
par Benoist Rousseau » 31 mai 2017 20:00 (16 Réponses)
Ameliorer la rapidite de ProRealTime
Fichier(s) joint(s) par Arnaud_vh » 12 avr. 2018 06:43 (9 Réponses)
Rapidité des ordres entre Réel vs Démo sur PRT ?
par Lindien » 27 août 2018 00:21 (4 Réponses)
Rapidité exécution
par ADAM24 » 04 févr. 2019 16:16 (1 Réponses)
Rapidité de connexion internet mondial - Janvier 2021
Fichier(s) joint(s) par ChristelleP » 08 sept. 2021 14:10 (4 Réponses)