La boite à outils du créateur d'algo

Pour partager sur le trading automatique, nos algorithmes, nos backtests
TripleFail
Stormtrooper
Messages : 146
Enregistré le : 20 avr. 2015 10:13

La boite à outils du créateur d'algo

Message non lu par TripleFail »

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.
Avatar du membre
Benoist Rousseau
Trader Futures / CME Member
Messages : 174690
Enregistré le : 06 sept. 2011 22:45

Re: La boite à outils du créateur d'algo

Message non lu par Benoist Rousseau »

Merci pour cette check list ultra complète :top:

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

Message non lu par TripleFail »

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.
Avatar du membre
Jim
Chevalier Jedi
Messages : 2373
Enregistré le : 24 févr. 2016 10:39

Re: La boite à outils du créateur d'algo

Message non lu par Jim »

Merci pour ce partage. :top:
Avatar du membre
Edd
Apprenti Jedi
Messages : 732
Enregistré le : 10 août 2015 12:36

Re: La boite à outils du créateur d'algo

Message non lu par Edd »

sympa la boîte :top:
Avatar du membre
Kratos0013
Compagnon Jedi
Messages : 1954
Enregistré le : 25 juin 2018 07:38

Re: La boite à outils du créateur d'algo

Message non lu par Kratos0013 »

Niquel merci !
Ano782345

Re: La boite à outils du créateur d'algo

Message non lu par Ano782345 »

merci :top:

( 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

Message non lu par VB6backtester »

Merci ! extraordinaire ! je vais regarder certaines choses de plus près .
Ca fait plaisir qu'il y a des gens comme ça.
Bye
Avatar du membre
Guillaume de Russie
Maître Jedi
Messages : 4551
Enregistré le : 30 juil. 2018 19:46

Re: La boite à outils du créateur d'algo

Message non lu par Guillaume de Russie »

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é.
Avatar du membre
David
Membre du Conseil Jedi
Messages : 6439
Enregistré le : 08 nov. 2014 14:35

Re: La boite à outils du créateur d'algo

Message non lu par David »

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++