Blog de développement

Pseudo Temps réel: 5 minutes, 1 minute avec OHLC

Dernière Modification le :
2000-01-01

...

5 minutes (voire 1 minute) sans OHLC

Je vois souvent que les gens 'buttent' sur la possibilité accéder facilement à des valeurs pour enregistrer automatiquement dans des outils 'grand public' (Excel). Je procède ainsi: j'ai un script en VBS (basique, par definition) qui télécharge, à la fréquence de 5 minutes (parfois une, à la demande) les turbos CAC Société Générale. avec 2 outils très "basiques'
1- WinHttp (VBS/windows) ou CURL pour télécharger le fichier Excel
2- QSV Quicksilver (en ligne de commande) pour convertir en CSV et nettoyer un peu
Durée du traitement env. 15 secondes (sans optimisation). Le tableau comprend une colonne 'sous-jacent'. On peut faire de même avec une requète Excel sur 'tous les turbos'. On aura on aura alors tous les sous jacents (une bonne centaine). On doit pouvoir le faire en 30 sec.

Cela donne un 'instantanné, c'est gratuit, et n'enfreint aucune règle de propriété, etc. Pas de scraping

>

Les erreurs du fichier Excel (Société Générale)

Les particuliers n'ont pas directement accès à des données à qualité garantie. SG propose une fonctionalité pratique et rapide: le fichier Excel. Il est compilé par le serveur SG et au prix d'un téléchargement (env. 70k) et d'une conversion/préparation par QuickSilver QSV, on a toutes les données, en CSV, en 20 secondes. C'est plus immédiat que pour BNP... Il fournit en un instantanné unique, les données produit (ticker du Sous-jacent, sens, Prix d'exercice, Barrière, Maturité, Parité) , les données marché (Elasticité, Achat, Vente), la valeur du sous-jacent (Prix sous-jacent). Pour commencer ou pour un usage peu intensif, on peut vouloir l'exploiter en entier. A terme le fichier Excel doit être traité plus vite, en séparant les 3 blocs (produit, prix, sous-jacent) en 3 tables différentes dans SQL. Les données Produit sont fournies à chaque fois. Elles ne changent pas (sauf entrée d'un nouveau produit), donc une méthode même lente n'est pas préjudiciable: on ne l'utilise qu'une fois ou sur le 30 min.

A l'usage on est confronté aux jours de forte charge où le fichier Excel est défaillant. On a aussi eu à gérer un changement de format.... Les erreurs identifiées sont: l'abscence de données dans les colonnes Sous-jacent et Ask (plus rare). Il faut donc détecter ces cas et avoir une solution de secours.

BCP

Pour entrer rapidement un CSV dans SQL, j'utilise BCP. Lire les généralités →. Le CSV 'Prix' est séparé par virgule, est en utf-8, terminaison LF (Unix). Je crée le schéma et je le modifie en replacant French_CI_AS par "" et "\r\n" par "\n"

bcp MaTable format nul -c -t, -f "E:\...\BCP_Schema.txt" -S MonServeur -d MaBase -U sa -P MonMotdePasse
 Starting copy...
930 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total     : 63     Average : (14761.90 rows per sec.)

Avec OHLC

Pour avoir l'historique à la minute en mode OHLC, j'ai un abonnement ABC-Bourse. Cela me libère l'esprit et la charge de travail. En

La page permettant d'avoir les valeurs qui constituent le graphique intraday, avec environ 25 valeurs par heure, est: https://sgbourse.fr/emcwebapi/api/prices/intraday/asset?assetId=579

XXX

XXX

La.

Le

XXX

					    
XXX