La boite à outils du créateur d'algo
-
TripleFail
- Stormtrooper
- Messages : 146
- Enregistré le : 20 avr. 2015 10:13
La boite à outils du créateur d'algo
Un petit sujet pour référencé tout ce qui peut être intéressant pour les développeurs d’applications financières (du robot de trading, à la station de travail).
Les langages de programmations :
Les plus utilisés par les API sont généralement le c/c++, java, python, basic et c# (autres langages passés votre chemins).
Les plateformes ayant un module backtest et trading algo intégrés :
- Meta trader 4 (programmer dans une sorte de c).
- Meta trader 5 (programmer dans un dérivé du c#)
- Ninja Trader (Programmer en c#)
- Pro real time (basic)
Les courtiers proposant une API permettant de connecté directement un programme perso (transmettre les ordres et récupéré les données de marchés) :
- interactive broker (java, c++, c#, excel)
- Pinnacle trading (c++, perl ,excel)
- ig (je ne sais pas ! mais vu sur le forum)
- TD ameritrade (c#)
- TradeStation (easy language, ressemble à du c#)
Pour du prototypage d’idée quelques petit soft sympa :
- Mathlab
- R
- Excel
- Orange (data mining open source)
Pour récupérer les données des cotations (très orienté action us ):
- L’api de google finance
- L’api de yahoo
- netfonds.no
- finam.ru
- investopedia
- quotmedia
- msn (moneycentral)
- aol
Pour récupérer les données financières concernant les entreprises (usa toujours, bilan , compte de résultat etc…)
- usfundamentals.com
- SEC (avec api et XBRL)
Données macroéconomique :
- https://fred.stlouisfed.org/ (tout est récupérable par api)
- Je conseille aussi assetmacro.com et OECD (l’ocde) mais pas d’api
Quelques librairies sympa pour les développeurs (très orienté c++ et c#)
- HTML agility (permet de parser des sites internet très facilement)
- REST api permettant de parser les twittes
- FANN réseaux de neurones artificiels ( MLP surtout, mais je ne l’ai pas utilisé depuis au moins 5 ans)
- Servicestack (pour simplifier la partie sql)
- Quantlib
Des exemples de codes, des tutos et de la recherche:
- https://www.mql5.com/ (code pour metatrader 4 et 5)
- http://www.mathfinance.cn/
- http://www.javaquant.net/
- https://www.quantstart.com/articles
- http://pages.stern.nyu.edu/~adamodar/New_Home_Page/spreadsh.htm (le site contient aussi de la data intéressante)
Algorithme très utile, à avoir sous le coude (où plutôt dans la tête)
- Pour l’optimisation : algorithme génétique, optimisation par essaims particulaire (mes deux chouchoux)
- Pour la classification non linéaire, apprentissage non supervisé : carte auto-organisatrice de Kohonen
- Pour la classification ou régression non linéaire, apprentissage supervisé : perceptron multi couche, réseaux RBF, machine à vecteur de support (astuce du noyau)
- Pour la régression non linéaire seule : filtre de kalman étendue
- Pour de la régression linéaire : filtre de kalman, adaline, régression linéaire etc…
- Pour de l’apprentissage probabiliste : réseaux bayésiens
- Pour humaniser un programme (le rendre un peu moins binaire) : logique flou
Développer un algo, les pièges à évités :
- Pour éviter que le programme ne gagne qu’en backtest, il doit être développer sur un premier historique, puis validé sur un second, avant d’être mis en production.
- Il faut prévoir la panne de courant et la coupure internet. Donc, redémarrage du pc, de la connexion, du programme, possibilités de placer un ordre complexe en une fois (combo, take profit + stop etc…) etc… on est jamais trop parano.
- Il faut prévoir une gestion du capital rigoureuse et du nombre de position prise simultanément.
- Avant passage en réel il faut une validation quasiment scientifique du programme. J’invite à se renseigner sur la méthode scientifique (échantillon test, témoin, test d’hypothèse, échantillon statistiquement significatif, comparaison avec un benchmark pertinent etc…).
- Il faut une gestion d’erreur parfaite (noyer votre programme de try catch si vous êtes en c#), le programme ne doit pas planter à un moment critique.
- Gérer le temps, afin d’éviter de trader hors des heures de marchés normal (spread trop large), mais aussi afin d’éviter de rester sur une position ayant un coût en temps trop longtemps et de vous retrouver avec un profit flat voir négatif une fois tous les frais déduits.
Les langages de programmations :
Les plus utilisés par les API sont généralement le c/c++, java, python, basic et c# (autres langages passés votre chemins).
Les plateformes ayant un module backtest et trading algo intégrés :
- Meta trader 4 (programmer dans une sorte de c).
- Meta trader 5 (programmer dans un dérivé du c#)
- Ninja Trader (Programmer en c#)
- Pro real time (basic)
Les courtiers proposant une API permettant de connecté directement un programme perso (transmettre les ordres et récupéré les données de marchés) :
- interactive broker (java, c++, c#, excel)
- Pinnacle trading (c++, perl ,excel)
- ig (je ne sais pas ! mais vu sur le forum)
- TD ameritrade (c#)
- TradeStation (easy language, ressemble à du c#)
Pour du prototypage d’idée quelques petit soft sympa :
- Mathlab
- R
- Excel
- Orange (data mining open source)
Pour récupérer les données des cotations (très orienté action us ):
- L’api de google finance
- L’api de yahoo
- netfonds.no
- finam.ru
- investopedia
- quotmedia
- msn (moneycentral)
- aol
Pour récupérer les données financières concernant les entreprises (usa toujours, bilan , compte de résultat etc…)
- usfundamentals.com
- SEC (avec api et XBRL)
Données macroéconomique :
- https://fred.stlouisfed.org/ (tout est récupérable par api)
- Je conseille aussi assetmacro.com et OECD (l’ocde) mais pas d’api
Quelques librairies sympa pour les développeurs (très orienté c++ et c#)
- HTML agility (permet de parser des sites internet très facilement)
- REST api permettant de parser les twittes
- FANN réseaux de neurones artificiels ( MLP surtout, mais je ne l’ai pas utilisé depuis au moins 5 ans)
- Servicestack (pour simplifier la partie sql)
- Quantlib
Des exemples de codes, des tutos et de la recherche:
- https://www.mql5.com/ (code pour metatrader 4 et 5)
- http://www.mathfinance.cn/
- http://www.javaquant.net/
- https://www.quantstart.com/articles
- http://pages.stern.nyu.edu/~adamodar/New_Home_Page/spreadsh.htm (le site contient aussi de la data intéressante)
Algorithme très utile, à avoir sous le coude (où plutôt dans la tête)
- Pour l’optimisation : algorithme génétique, optimisation par essaims particulaire (mes deux chouchoux)
- Pour la classification non linéaire, apprentissage non supervisé : carte auto-organisatrice de Kohonen
- Pour la classification ou régression non linéaire, apprentissage supervisé : perceptron multi couche, réseaux RBF, machine à vecteur de support (astuce du noyau)
- Pour la régression non linéaire seule : filtre de kalman étendue
- Pour de la régression linéaire : filtre de kalman, adaline, régression linéaire etc…
- Pour de l’apprentissage probabiliste : réseaux bayésiens
- Pour humaniser un programme (le rendre un peu moins binaire) : logique flou
Développer un algo, les pièges à évités :
- Pour éviter que le programme ne gagne qu’en backtest, il doit être développer sur un premier historique, puis validé sur un second, avant d’être mis en production.
- Il faut prévoir la panne de courant et la coupure internet. Donc, redémarrage du pc, de la connexion, du programme, possibilités de placer un ordre complexe en une fois (combo, take profit + stop etc…) etc… on est jamais trop parano.
- Il faut prévoir une gestion du capital rigoureuse et du nombre de position prise simultanément.
- Avant passage en réel il faut une validation quasiment scientifique du programme. J’invite à se renseigner sur la méthode scientifique (échantillon test, témoin, test d’hypothèse, échantillon statistiquement significatif, comparaison avec un benchmark pertinent etc…).
- Il faut une gestion d’erreur parfaite (noyer votre programme de try catch si vous êtes en c#), le programme ne doit pas planter à un moment critique.
- Gérer le temps, afin d’éviter de trader hors des heures de marchés normal (spread trop large), mais aussi afin d’éviter de rester sur une position ayant un coût en temps trop longtemps et de vous retrouver avec un profit flat voir négatif une fois tous les frais déduits.
-
Benoist Rousseau
- Trader Futures / CME Member
- Messages : 174690
- Enregistré le : 06 sept. 2011 22:45
Re: La boite à outils du créateur d'algo
Merci pour cette check list ultra complète 
Juste une précision, avec prorealtime le code de l'algorythme est hébergé directement aux coeurs des serveurs de prt donc pas besoin de prévoir la panne de courant, internet, redémarrage du pc etc
Juste une précision, avec prorealtime le code de l'algorythme est hébergé directement aux coeurs des serveurs de prt donc pas besoin de prévoir la panne de courant, internet, redémarrage du pc etc
-
TripleFail
- Stormtrooper
- Messages : 146
- Enregistré le : 20 avr. 2015 10:13
Re: La boite à outils du créateur d'algo
oki merci de la précision, je pense mettre à jour le poste assez régulièrement donc n'hésitez pas à partager si vous avez des informations intéressantes sur le sujet. D'ailleurs premier édit j'ai oublier tradestation (courtier us) qui permet de faire des bots et indicateurs en easy language et j'ajoute aussi des liens qui permettent de voir des codes, tutos ou documents académiques.
-
Jim
- Chevalier Jedi
- Messages : 2373
- Enregistré le : 24 févr. 2016 10:39
Re: La boite à outils du créateur d'algo
Merci pour ce partage. 
-
Edd
- Apprenti Jedi
- Messages : 732
- Enregistré le : 10 août 2015 12:36
Re: La boite à outils du créateur d'algo
sympa la boîte 
-
Kratos0013
- Compagnon Jedi
- Messages : 1954
- Enregistré le : 25 juin 2018 07:38
Re: La boite à outils du créateur d'algo
Niquel merci !
-
Ano782345
Re: La boite à outils du créateur d'algo
merci
( pour la boite outil mt4 je rajouterais tickstory est quant analyzer )
( pour la boite outil mt4 je rajouterais tickstory est quant analyzer )
-
VB6backtester
- Padawan
- Messages : 261
- Enregistré le : 17 sept. 2018 19:17
Re: La boite à outils du créateur d'algo
Merci ! extraordinaire ! je vais regarder certaines choses de plus près .
Ca fait plaisir qu'il y a des gens comme ça.
Bye
Ca fait plaisir qu'il y a des gens comme ça.
Bye
-
Guillaume de Russie
- Maître Jedi
- Messages : 4551
- Enregistré le : 30 juil. 2018 19:46
Re: La boite à outils du créateur d'algo
Bonjour,
Merci pour ce récap très utile.
J'ai découvert un site la semaine dernière sur le trading algo : https://www.quantopian.com/home
Cela permet de publier des algos, tout en en gardant la propriété, donc tout n'est pas dévoilé juste les résultats, et de gagner de l'argent (commission sur les gains de l'algorithme) s'ils sont sélectionnés par des investisseurs.
Perso je n'ai pas encore testé.
Merci pour ce récap très utile.
J'ai découvert un site la semaine dernière sur le trading algo : https://www.quantopian.com/home
Cela permet de publier des algos, tout en en gardant la propriété, donc tout n'est pas dévoilé juste les résultats, et de gagner de l'argent (commission sur les gains de l'algorithme) s'ils sont sélectionnés par des investisseurs.
Perso je n'ai pas encore testé.
-
David
- Membre du Conseil Jedi
- Messages : 6439
- Enregistré le : 08 nov. 2014 14:35
Re: La boite à outils du créateur d'algo
Je viens de voir pour la première fois cette page c'est top.
Merci beaucoup pour la liste très précise TripleFail, je l'ajoute direct dans mes favoris.
"- Pro real time (basic)" prt est full java je pense. En tous cas la partie client il n'y a aucun doute.
Les plateformes ayant un module backtest et trading algo intégrés :
- SierraChart en C++
Merci beaucoup pour la liste très précise TripleFail, je l'ajoute direct dans mes favoris.
"- Pro real time (basic)" prt est full java je pense. En tous cas la partie client il n'y a aucun doute.
Les plateformes ayant un module backtest et trading algo intégrés :
- SierraChart en C++
