API REST / STREAM

LabZone, l'atelier de développement du forum Andlil : API, logiciels et utilitaires de trading créés par les membres, versions, bugs et idées.
beni
Compagnon Jedi
Messages : 1395
Enregistré le : 11 juil. 2012 18:31

Re: API REST / STREAM

Message non lu par beni »

Je rejoins Falex, je ne pense pas qu'utiliser une dist scientifique soit obligatoire parce que trading ne rime pas forcément avec analyse de données. Après tout dépend du type d'analyse mais pour des moyennes, profit factor, %...(ce que fait Report Tool) pas la peine de s'encombrer...bien que j'utilises numpy mais chut...

Après je suis un peu echaudé par ce genre de dist car mes premiers pas en python ont été fait avec ça et pour ajouter des libs externes style Qt/Pyside et ba... j'en ai pas de bons souvenirs :lol:
FemtoTrader
Ewok
Messages : 32
Enregistré le : 30 sept. 2015 07:47

Re: API REST / STREAM

Message non lu par FemtoTrader »

le fait d'utiliser la lib n'impose pas d'utiliser Pandas
il y a un try / except avec l'import de pandas
si c'est dispo ça sort des DataFrames
Anaconda marche très bien avec PyQt (ou PySide mais c'est abandonné) et des lib comme PyQtGraph
Avatar du membre
falex
Le Gladiateur
Messages : 34267
Enregistré le : 12 févr. 2013 15:41

Re: API REST / STREAM

Message non lu par falex »

Vu Nomade, je vais regarder ça de plus près, mais j'avoue n'avoir jamais trop "dépiauté" le code igls.py.
beni
Compagnon Jedi
Messages : 1395
Enregistré le : 11 juil. 2012 18:31

Re: API REST / STREAM

Message non lu par beni »

Femto> surement mais depuis mes déboirs sur Entought, j'ai plus osé y toucher, je restes avec mon éditeur de text :lol:
Merci pour l'info sur Pyside je ne savais pas et ça m'a permis de voir que le support de Qt4 va s'arrêter à la fin de l'année.
FemtoTrader
Ewok
Messages : 32
Enregistré le : 30 sept. 2015 07:47

Re: API REST / STREAM

Message non lu par FemtoTrader »

Dommage la doc de PySide était sympa et l'API plus "pythonesque" que PyQt (connection signal/slot par exemple) . Mais PyQt a peut être évolué. L'autre "soucis" c'est quand même la licence PyQt est GPL PySide était LGPL (et perso pour une lib je la préfère LGPL ou BSD).

Les notebook IPython sont sympa (Jupyter désormais) et c'est out of the box avec les distrib scientifiques. Anaconda possède un IDE "Spyder" avec un explorateur de variable à la MATLAB
beni
Compagnon Jedi
Messages : 1395
Enregistré le : 11 juil. 2012 18:31

Re: API REST / STREAM

Message non lu par beni »

Oui j'avoue que la doc PyQt est assez austère mais même sans connaître le c++ on arrive à s'en sortir avec la doc officiel.
En deux mots c'est quoi la différence entre les deux licences ?
Ipython, je connais très très peu, uniquement de nom en fait...
FemtoTrader
Ewok
Messages : 32
Enregistré le : 30 sept. 2015 07:47

Re: API REST / STREAM

Message non lu par FemtoTrader »

Disons qu'une lib GPL "OBLIGE" le code lié à être sous la même licence GPL (c'est le côté "viral" de la GPL). La LGPL ou la BSD permet de faire du code propriétaire (ou pas). Elle n'oblige pas cf https://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_limit%C3%A9e_GNU#Diff.C3.A9rences_avec_la_GPL Mais je pense qu'on est un peu HS ici.
beni
Compagnon Jedi
Messages : 1395
Enregistré le : 11 juil. 2012 18:31

Re: API REST / STREAM

Message non lu par beni »

Yes désolé pour le HS et merci pour la réponse ;-)
FemtoTrader
Ewok
Messages : 32
Enregistré le : 30 sept. 2015 07:47

Re: API REST / STREAM

Message non lu par FemtoTrader »

Une nouvelle version du client Python pour l'API Stream (Python 2 et 3) est disponible sur
https://github.com/ig-python/ig-markets-stream-api-python-library/tree/py2_3

je n'ai pas encore fusionné avec la branche master
je n'ai pas encore publié sur PyPi

Code : #

git clone https://github.com/ig-python/ig-markets-stream-api-python-library.git
git checkout py2_3
cp trading_ig_config.default.py trading_ig_config.py
# editer le fichier trading_ig_config.py
python sample/main.py
On doit voir:

Code : #

$ python sample/main.py
WARNING:root:No Bunch support for PY3
L1:CS.D.USDJPY.CFD.IP: Time 20:49:55 - Bid 119.892 - Ask 119.900
----------HIT CR TO UNSUBSCRIBE AND DISCONNECT FROM     LIGHTSTREAMER-----------
L1:CS.D.USDJPY.CFD.IP: Time 20:49:56 - Bid 119.888 - Ask 119.903
L1:CS.D.USDJPY.CFD.IP: Time 20:49:58 - Bid 119.889 - Ask 119.904
L1:CS.D.USDJPY.CFD.IP: Time 20:49:58 - Bid 119.889 - Ask 119.904
L1:CS.D.USDJPY.CFD.IP: Time 20:49:58 - Bid 119.890 - Ask 119.905
L1:CS.D.USDJPY.CFD.IP: Time 20:49:59 - Bid 119.889 - Ask 119.904
L1:CS.D.USDJPY.CFD.IP: Time 20:50:00 - Bid 119.890 - Ask 119.905
L1:CS.D.USDJPY.CFD.IP: Time 20:50:01 - Bid 119.889 - Ask 119.904
L1:CS.D.USDJPY.CFD.IP: Time 20:50:01 - Bid 119.894 - Ask 119.902
L1:CS.D.USDJPY.CFD.IP: Time 20:50:01 - Bid 119.895 - Ask 119.903
L1:CS.D.USDJPY.CFD.IP: Time 20:50:01 - Bid 119.892 - Ask 119.907

WARNING:lightstreamer:Server error
DISCONNECTED FROM LIGHTSTREAMER
Le code client lightstreamer provient de l'exemple
https://github.com/Weswit/Lightstreamer-example-StockList-client-python

En attendant que Weswit rende le code client plus "modulaire"
(en acceptant notamment un PR) j'ai mis leur code dans mon projet