ProRealTime
Zone de développement des applications API, des logiciels et utilitaires développés par les membres du forum

Les tics sont toctocs

par jized » 03 Déc 2015 02:36

Bonjour,
Pour la petite histoire : j'ai écrit un programme collecteur de ticks par les API qui tourne en continu depuis plus d'un an. Entre autre il sert à alimenter la base de ticks de Takaticks.
Depuis quelques semaines Swingwin publie chaque jour un bilan du nombre de ticks qu'il collecte de son côté.
Or les chiffres ne collent pas, et ça m'intrigue, voire ça m'inquiète. :?

J'ai laissé tourner un programme toute la journée, qui a récupéré les ticks du DAX de 4 façons : en lots plein et en mini, sur mon compte démo et sur mon compte réel.

Et là, grosse surprise : selon les comptes on n'a pas les mêmes ticks !!! :hein:

Je précise que j'ai mis ça sur un serveur très peu chargé avec une bonne connectivité (bande passante de 100Mbits/s et ping vers ig.com de 3ms). Il n'y a pas eu de saturation de ce côté là.

Bilan entre 8h et 22h (heure française) :
07:00-20:59 UTC : DAX demo mini : 65474 ticks : min=11076.9 max=11331.9 : max 15 ticks/s
07:00-20:59 UTC : DAX demo full : 57430 ticks : min=11076.9 max=11331.9 : max 14 ticks/s
07:00-20:59 UTC : DAX real mini : 68035 ticks : min=11076.9 max=11331.9 : max 14 ticks/s
07:00-20:59 UTC : DAX real full : 54935 ticks : min=11076.9 max=11332.2 : max 14 ticks/s

Sur un compte réel : 13100 ticks de moins en lots pleins que en mini-lots, surprenant, non ?
Et le point haut du jour qui n'est pas tout à fait le même !

Détail heure par heure au format CSV pour lire avec un tableur :
Spoiler:
07:00;07:59;DAX;demo;mini;1819;11288;11327;12
08:00;08:59;DAX;demo;mini;7918;11254.3;11327;11
09:00;09:59;DAX;demo;mini;5319;11241.2;11285.9;15
10:00;10:59;DAX;demo;mini;5233;11265.4;11331.9;10
11:00;11:59;DAX;demo;mini;3936;11248.7;11308.9;10
12:00;12:59;DAX;demo;mini;5918;11185.9;11268.4;13
13:00;13:59;DAX;demo;mini;4928;11198.7;11244.2;12
14:00;14:59;DAX;demo;mini;5609;11199.2;11258.2;12
15:00;15:59;DAX;demo;mini;6911;11221.4;11266.9;10
16:00;16:59;DAX;demo;mini;5348;11181.2;11227.4;10
17:00;17:59;DAX;demo;mini;2222;11181.2;11204.4;7
18:00;18:59;DAX;demo;mini;2473;11155.4;11197.2;11
19:00;19:59;DAX;demo;mini;4048;11076.9;11156.2;9
20:00;20:59;DAX;demo;mini;3792;11088.4;11137.4;9
07:00;07:59;DAX;demo;full;1522;11288;11327;11
08:00;08:59;DAX;demo;full;6405;11254.4;11327;10
09:00;09:59;DAX;demo;full;4393;11241.2;11285.9;11
10:00;10:59;DAX;demo;full;4650;11265.4;11331.9;12
11:00;11:59;DAX;demo;full;3467;11248.7;11308.9;10
12:00;12:59;DAX;demo;full;5106;11185.9;11268.4;14
13:00;13:59;DAX;demo;full;4425;11198.7;11243.9;10
14:00;14:59;DAX;demo;full;5220;11199.2;11258.2;11
15:00;15:59;DAX;demo;full;6167;11221.4;11266.9;10
16:00;16:59;DAX;demo;full;4888;11181.2;11227.4;8
17:00;17:59;DAX;demo;full;2065;11181.2;11204.4;6
18:00;18:59;DAX;demo;full;2242;11155.4;11197.2;8
19:00;19:59;DAX;demo;full;3794;11076.9;11156.2;8
20:00;20:59;DAX;demo;full;3086;11088.4;11137.4;8
07:00;07:59;DAX;real;mini;1848;11288;11327;9
08:00;08:59;DAX;real;mini;8006;11254.4;11326.3;13
09:00;09:59;DAX;real;mini;5423;11241.2;11285.9;14
10:00;10:59;DAX;real;mini;5386;11265.4;11331.9;12
11:00;11:59;DAX;real;mini;4137;11248.9;11308.9;10
12:00;12:59;DAX;real;mini;6264;11185.9;11268.4;14
13:00;13:59;DAX;real;mini;5218;11198.7;11244.2;12
14:00;14:59;DAX;real;mini;5862;11199.2;11258.2;12
15:00;15:59;DAX;real;mini;7224;11220.9;11266.9;12
16:00;16:59;DAX;real;mini;5650;11181.2;11227.4;11
17:00;17:59;DAX;real;mini;2277;11181.2;11204.4;6
18:00;18:59;DAX;real;mini;2584;11155.4;11197.2;9
19:00;19:59;DAX;real;mini;4329;11076.9;11156.2;8
20:00;20:59;DAX;real;mini;3827;11088.4;11137.4;9
07:00;07:59;DAX;real;full;1464;11288;11327;8
08:00;08:59;DAX;real;full;6454;11254.4;11326.3;10
09:00;09:59;DAX;real;full;4307;11241.2;11285.9;14
10:00;10:59;DAX;real;full;4424;11264.7;11332.2;10
11:00;11:59;DAX;real;full;3170;11248.9;11308.9;9
12:00;12:59;DAX;real;full;4826;11185.9;11268.4;14
13:00;13:59;DAX;real;full;4174;11198.9;11243.9;9
14:00;14:59;DAX;real;full;4911;11199.2;11258.2;12
15:00;15:59;DAX;real;full;5993;11220.9;11265.9;11
16:00;16:59;DAX;real;full;4569;11181.2;11227.4;9
17:00;17:59;DAX;real;full;1925;11181.2;11204.4;6
18:00;18:59;DAX;real;full;2121;11155.4;11197.2;9
19:00;19:59;DAX;real;full;3515;11076.9;11156.2;8
20:00;20:59;DAX;real;full;3082;11088.4;11137.4;8


Même constat sur la paire EURUSD :
07:00-20:59 UTC : EURUSD demo mini : 134242 ticks : min=1.05504 max=1.06321 : max 20 ticks/s
07:00-20:59 UTC : EURUSD demo full : 131525 ticks : min=1.05504 max=1.0632 : max 19 ticks/s
07:00-20:59 UTC : EURUSD real mini : 132712 ticks : min=1.05504 max=1.06321 : max 19 ticks/s
07:00-20:59 UTC : EURUSD real full : 135424 ticks : min=1.05504 max=1.06321 : max 19 ticks/s
Spoiler:
07:00;07:59;EURUSD;demo;mini;6589;1.06077;1.0627;17
08:00;08:59;EURUSD;demo;mini;9653;1.06162;1.06321;17
09:00;09:59;EURUSD;demo;mini;9253;1.0612;1.06318;15
10:00;10:59;EURUSD;demo;mini;12818;1.05813;1.06191;18
11:00;11:59;EURUSD;demo;mini;6008;1.05874;1.05975;15
12:00;12:59;EURUSD;demo;mini;7024;1.05914;1.06002;15
13:00;13:59;EURUSD;demo;mini;11573;1.05779;1.06154;18
14:00;14:59;EURUSD;demo;mini;11619;1.05708;1.05971;17
15:00;15:59;EURUSD;demo;mini;14562;1.0559;1.05755;16
16:00;16:59;EURUSD;demo;mini;9132;1.05678;1.05785;16
17:00;17:59;EURUSD;demo;mini;12946;1.05504;1.05977;19
18:00;18:59;EURUSD;demo;mini;10342;1.05806;1.0615;20
19:00;19:59;EURUSD;demo;mini;7950;1.06085;1.06265;15
20:00;20:59;EURUSD;demo;mini;4773;1.06117;1.06239;15
07:00;07:59;EURUSD;demo;full;6458;1.06077;1.0627;17
08:00;08:59;EURUSD;demo;full;8962;1.06162;1.0632;17
09:00;09:59;EURUSD;demo;full;8861;1.0612;1.06318;17
10:00;10:59;EURUSD;demo;full;12318;1.05813;1.06154;18
11:00;11:59;EURUSD;demo;full;5885;1.05875;1.05975;15
12:00;12:59;EURUSD;demo;full;7052;1.05914;1.06003;16
13:00;13:59;EURUSD;demo;full;11427;1.0578;1.06154;18
14:00;14:59;EURUSD;demo;full;11416;1.05708;1.05971;16
15:00;15:59;EURUSD;demo;full;14619;1.0559;1.05755;16
16:00;16:59;EURUSD;demo;full;8817;1.05678;1.05785;15
17:00;17:59;EURUSD;demo;full;12550;1.05504;1.05977;19
18:00;18:59;EURUSD;demo;full;10304;1.05806;1.0615;19
19:00;19:59;EURUSD;demo;full;8001;1.06085;1.06265;14
20:00;20:59;EURUSD;demo;full;4855;1.06117;1.06239;15
07:00;07:59;EURUSD;real;mini;6644;1.06077;1.0627;18
08:00;08:59;EURUSD;real;mini;9535;1.06162;1.06321;17
09:00;09:59;EURUSD;real;mini;9122;1.0612;1.06318;16
10:00;10:59;EURUSD;real;mini;13059;1.05813;1.06194;18
11:00;11:59;EURUSD;real;mini;5959;1.05874;1.05975;14
12:00;12:59;EURUSD;real;mini;6897;1.05914;1.06002;16
13:00;13:59;EURUSD;real;mini;11637;1.05779;1.06151;18
14:00;14:59;EURUSD;real;mini;11717;1.05708;1.05971;16
15:00;15:59;EURUSD;real;mini;14657;1.0559;1.05755;17
16:00;16:59;EURUSD;real;mini;8716;1.05678;1.05785;16
17:00;17:59;EURUSD;real;mini;12652;1.05504;1.05977;19
18:00;18:59;EURUSD;real;mini;9839;1.05807;1.0615;17
19:00;19:59;EURUSD;real;mini;7594;1.06085;1.06265;13
20:00;20:59;EURUSD;real;mini;4684;1.06117;1.06239;14
07:00;07:59;EURUSD;real;full;6600;1.06077;1.0627;18
08:00;08:59;EURUSD;real;full;9579;1.06162;1.06321;17
09:00;09:59;EURUSD;real;full;9083;1.06121;1.06318;16
10:00;10:59;EURUSD;real;full;12872;1.05813;1.06194;19
11:00;11:59;EURUSD;real;full;6074;1.05874;1.05975;14
12:00;12:59;EURUSD;real;full;7345;1.05914;1.06003;16
13:00;13:59;EURUSD;real;full;11489;1.0578;1.06151;17
14:00;14:59;EURUSD;real;full;11798;1.05708;1.05971;16
15:00;15:59;EURUSD;real;full;15146;1.0559;1.05755;16
16:00;16:59;EURUSD;real;full;9310;1.05678;1.05785;14
17:00;17:59;EURUSD;real;full;13003;1.05504;1.05977;18
18:00;18:59;EURUSD;real;full;10344;1.05807;1.0615;17
19:00;19:59;EURUSD;real;full;7809;1.06085;1.06265;15
20:00;20:59;EURUSD;real;full;4972;1.06117;1.06239;14


Je ne sais pas ce qu'il faut penser de cela.
PRT a peut-être un flot de ticks encore différent. Ce serait une explication aux décalages souvent constatés entre lui et les autres applications.

D'autres ont peut-être aussi fait ce genre d'analyse.

Re: Les tics sont toctocs

par takapoto » 03 Déc 2015 04:42

Merci pour ce travail précis et instructif.

Re: Les tics sont toctocs

par Benoist Rousseau » 03 Déc 2015 07:18

On savait déjà que la demo à quelques différences par rapport au réel qu'on avait listé: bugs repérés qui ne sont pas en réel, calcul des frais overnight faux, moins d'instruments tradables... Maintenant on sait grâce à toi que le flux n'est pas le même non plus même si on s'en doutait un peu ou du moins que selon l'api il y en a en plus ou en moins.

On voit à l'œil nu parfois que prt est plus lent que la l3 ou takascalper pendant quelques secondes parfois dans la journée les ticks sur prt ont une demi seconde de retard pendant quelques secondes et cela revient à la norme. Là on perd des ticks.

J'ai ainsi un peu plus de ticks sur la connexion vdsl2 à 7 8 ms avec 18/5 Mo ms que sur ma connexion fibre à 29 30ms et 400/20 mo. Ce n'est pas lié qu'à la vitesse mais aux pertes de paquets. Ma connexion vdsl2 en perd 5 à 10 fois moins sur une journée que ma connexion fibre :( Sur une connection ADSL à Paris c'était plus de 100.000 paquets perdus par jours :hein: d'ailleurs depuis que Takapoto a intégré son ping en continue je scalpe avec la vdsl2...

Je vais recevoir un nouvel ordinateur doté d'une carte réseau Intel coûtant 3 fois le prix d'une carte mère et qui est spécialisé dans la gestion des petits paquets tcp. Ils promettent une réduction des pertes de paquets importantes, la carte étant spécialisé dans les petits paquets.

MSI a aussi sorti une carte mère avec une carte réseau spécial gamer qui améliore cela en rendant plus réactive la carte réseau. C'est sur certaines de leur dernière carte mère x99. Il y z même des cartes réseaux gamer lancés par gigabyte notamment pour s'affranchir de la couche réseau Windows pour aller plus vite. Je m'amuserai à voir cela sur les deux ordis branché tous les deux à la fibre. Je vais cloner les pc. Installation Windows 10 sans aucune modification et connexion web IG avec 10 indices en boucle. Mais je devrai recevoir plus de paquets avec ma carte réseau Intel qu'avec ma carte réseau de base gigabyte :) j'ai découvert que c'était le maillon faible surtout sur ordinateur portable la carte réseau les performances pouvant aller d'un facteur 1 à 10... On a des cartes lambdas alors que les cartes pro valent des fortunes parfois

Re: Les tics sont toctocs

par takapoto » 03 Déc 2015 07:23

Pour tester les paquets perdus :
http://www.pingtest.net/

(il faut un navigateur supportant java)

Re: Les tics sont toctocs

par Benoist Rousseau » 03 Déc 2015 07:31

Très important pour ceux qui tradent en 3G et 4g de tester.

Au niveau de la box on a aussi les pertes fec de la box d'affichés dans les options selon les opérateurs. Parfois c'est même des filtres qui nous en font perdre... Mode sérénité ou patate chez Free par exemple. Hélas trop peu de fai permettent de tweaker un peu le flux de réception au niveau de la box mais chez Free c'est impressionnant la différence entre leur différent mode patate et sérénité.

Ensuite il y a les pertes entre la box et le pc en wifi je n'en parle pas ça dépend de chaque installation épaisseur des murs et type de clé wifi et cela peut-être très important.

Re: Les tics sont toctocs

par swingwin » 04 Déc 2015 00:23

Bonjour Jized,
Quand tu écris : "ça ne colle pas"
Qu'entends-tu par là ?
Est-ce que tu aurais plus de ticks ou moins de ticks que moi ?

Enfin si tu donnes le jour exact auquel tes résultats ci-dessus font référence, je pourrais te donner mes résultats exacts sur la même tranche horaire et là on pourra comparer exactement.

D'ailleurs ça me donne l'idée qu'il faudrait que je donne chaque soir le nombre de ticks pour la tranche horaire correspondant exactement à la session ouverte de l'indice correspondant (mais dans ce cas il va falloir que je retravaille mon appli (et j'ai une sacrée flemme)).
A+

Re: Les tics sont toctocs

par swingwin » 04 Déc 2015 01:23

Pour faire suite à mon post précédent, j'ai quand même regardé.
J'ai supposé que la journée dont tu parlais dans ton post était celle du 02/12/2015.
J'ai donc comparé tes résultats aux miens :

jized a écrit:07:00-20:59 UTC : DAX real mini : 68035 ticks : min=11076.9 max=11331.9 : max 14 ticks/s
07:00-20:59 UTC : EURUSD real mini : 132712 ticks : min=1.05504 max=1.06321 : max 19 ticks/s

Mes résultats
07:00-20:59 UTC : DAX real mini : 76647 ticks
07:00-20:59 UTC : EURUSD real mini : 209797 ticks

"Il n'y a pas photo", j'obtiens beaucoup plus de ticks.

Enfin sur les problèmes de nombre de ticks différent entre démo et réel : je ne peux pas dire car je ne prends que les ticks compte réel.

Enfin sur les problèmes de nombre de ticks différent entre lot plein et mini lot :
je ne prends que les minilots donc je ne fais pas la différence.
Mais ce soir j'ai comparé les 2 pour la même tranche horaire (minuit-23h) et j'obtiens
minilot DAX : 110 200
lot plein DAX : 110 140
mais je pense que ce tout petit écart est normal car lié à la journée exceptionnelle d'aujourd'hui où l'activité a dû différer un petit peu sur les 2 supports.
Car il me semble que dans le passé j'avais comparé les compteurs lots plein et minilot et j'avais trouvé exactement le même nombre de ticks, au tick près.
A+

Re: Les tics sont toctocs

par jized » 04 Déc 2015 01:57

Salut Swingwin,
Content que tu passes par là.

"Ça ne colle pas" : tu as toujours un peu plus de ticks que moi, mais les quantités quotidiennes varient dans les mêmes proportions.
Par exemple aujourd'hui (03/12/2015), j'ai eu 108948 ticks sur le DAX30, et toi 109882.

Les valeurs que j'ai épluchées dans mon 1er post sont celles du 02/12.

Comme mon récupérateur auto est sur le DAX plein, je vais le passer sur le DAXmini dès demain pour voir si cela explique la différence avec toi.

J'ai refait l'expérience de comparaison des flux aujourd'hui (03/12), mais juste pendant quelques heures pendant l'apm, sur le compte réel, au moment où ça bougeait vraiment beaucoup (je ne veux pas trop abuser des connexions en // car on est limité pour les API et je crains de me faire blacklister par IG).

Encore une fois, il y a eu sensiblement plus de ticks sur le DAXmini que sur le DAXplein.

Quelques valeurs (03/12) :
14:00-14:59 UTC : DAX real mini : 11335 ticks : min=10853.4 max=10988.1 : max 9 t/s
15:00-15:59 UTC : DAX real mini : 10243 ticks : min=10809.9 max=10905.4 : max 10 t/s
16:00-16:59 UTC : DAX real mini : 8831 ticks : min=10743.1 max=10892.4 : max 10 t/s
17:00-17:59 UTC : DAX real mini : 5710 ticks : min=10658.4 max=10779.9 : max 13 t/s

***************************************
Le temps fort de la journée :
***************************************
13:43:15.490 10871,4
13:43:15.590 10856,4
13:43:15.689 10840,6
3 ticks, 0.2 s, -30.8 points :bravo: le DAX !!!

Re: Les tics sont toctocs

par swingwin » 04 Déc 2015 08:52

Salut Jized,

Je vérifierai tout ça ce soir.
Je suis complètement sûr de ma solution. Je ne peux rater aucun tick.

Il faudra qu'on fasse l'exercice de comparer nos fichiers.
Un de ces 4, je mettrais quelques journées de ticks sur mon espace Mega pour permettre la comparaison au tick près.
Amitiés
JF

Re: Les tics sont toctocs

par swingwin » 04 Déc 2015 22:20

J'ai au moins vérifié ça, que je voyais ces 3 ticks fantastiques (OK je les ai aussi). Mais tu aurais pu rajouter les 2 autres à côté qui sont pas mal non plus.
Pour tout le reste je vérifierai ce weed-end (peut-être).

jized a écrit:13:43:15.490 10871,4
13:43:15.590 10856,4
13:43:15.689 10840,6
3 ticks, 0.2 s

13:43:15 10881.1
13:43:15 10871.9
13:43:15 10856.9
13:43:15 10841.1
13:43:15 10851.4


ProRealTime

Alors partagez-le 5 fois c'est bon pour la santé