ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests
Répondre Page 1 sur 1

Partage de mon travail

par TripleFail » 20 Avr 2015 13:27

Salut à tous

J'ai créé sur les dernières années plusieurs algos fonctionnels, que je n'utilise pas ou plus et donc que je peux partager (je n'ai plus forcément les codes sources donc j'explique le fonctionnement):

-Sur un script meta trader 4 (période journalière) , n'ayant pas été convaincues par les techniques habituels (analyse technique et arbre de décisions) j'ai créé une script basé sur plusieurs technologies ne venant pas de la finance, l'exposant de John Hurst (hydrologue, l'idée à été repris par Mandelbrot) pour prédire quand le marché était persistant , anti persistant etc.. en français pour détecter s'il y a une tendance possible. Si tendance possible dans ce cas l'analyse se faisait avec un filtre de Kalman. Une fois la faisabilité et le sens de la position déterminée, je passais l'ordre avec une version modifié des réseaux bayésien ( pour les petits détails stop-loss à x fois l'écart type et take profit dés que les conditions n'était plus présente). Le rendement testé en réel et backtest sur deux échantillons (un de développement et un de validation), donnais un rendement sans levier de 5 à 20 % par ans selon les sous-jacents, très peu d'ordre passé (5 à 9 par ans), mais gros taux de réussite (70 à 90% selon les sous-jacents). Je n'ai plus les sources donc voici les docs qui m'on été utile:
Le livre de Yasmine Hayek Kobeissi Marchés Fractals: stratégies d'investissements. (pour l'exposant de Hurst et son utilité)
En lien internet, le filtre de Kalman était présent sur wikipedia pour l'explication et un code source(ou fichier excel ) sur le site quantcode. Pour les réeaux bayesiens vous trouverez une bonne explication aussi sur wikipedia

Je continuerais cette file plus tard, les autres programmes sont plus autonomes (meta trader étant très limités de par ses marchés et ses performances), j'expliquerais de la même manière et je répondrais à vos questions s'il y en a.

Re: Partage de mon travail

par libertarian » 20 Avr 2015 19:37

merci pour l'effort de partage en tout cas!

Re: Partage de mon travail

par TripleFail » 23 Avr 2015 14:58

Bonjour à tous,

Un autre algorithme que j'avais fait et n'utilise plus avec rendement entre 5 et 20% par ans, totalement décorrelé des marchés, faible volatilité, fait en période journalière (on peut sur de plus petite période sa marche aussi).

Il s'agit d'un algorithme de pair trading, là aussi, je n'ai pas conservé les sources, mais le principe est simple, il suffit de trouver deux valeurs co-intégrer (donc faire un test de cointégration) à ne pas confondre avec la corrélation (la co-intégration n'est pas forcement visible à l'œil nu). Et ensuite de parier soit sur l'élargissement du spread ou son resserrement.

En bas, vous trouverez plusieurs liens qui m'on aidé à mettre ceci en place, ça marche bien sur les actions et sur les futurs sur indices.
MetaTrader 4 ne permet pas de faire correctement ce genre de chose, vous pouvez le faire soit en programme indépendant soit même sur un classeur excel (voir liens de dessous).

Les sources:
Ce mémoire http://www.vernimmen.net/ftp/Le_pair_trading_et_la_crise_Xiayong_QIN_et_Carole_MERY.pdf
http://gekkoquant.com/2012/12/17/statistical-arbitrage-testing-for-cointegration-augmented-dicky-fuller/

Re: Partage de mon travail

par jeancreatif » 07 Mai 2015 15:14

Bonjour Triplefail ( ou triplebrain?)

Je trouve passionnantes tes recherches.
Les miennes vont dans le même sens ( en un sens)
Qu'entends tu par " cointégrées?

Jean

Re: Partage de mon travail

par TripleFail » 07 Mai 2015 16:12

Bonjour Jean,
Déjà merci pour le compliment et l'intérêt pour mon travail.

Je vais expliquer le principe de la cointégration par l'exemple et des mots simples.

Lorsque eux valeurs sont cointégrés elles peuvent évoluer de manières différentes pendant un certain temps (contrairement à la corrélation) et quand même revenir à un écart moyen. Là sa ne saute pas forcement aux yeux donc un test est nécessaire. Pour faire ce test en général on fait Log(cloture de a) - Log(cloture de b) et sur cette nouvelle série on fait un test de stationnarité, si c'est le cas les valeurs sont cointégrés et donc jouable en pair trading. On utilisera d’ailleurs cette série pour savoir quand entrée et sortir d'un trade (en utilisant un genre de bande de bolligner).
Exemple de cointegration
Image

Re: Partage de mon travail

par jeancreatif » 08 Mai 2015 17:43

merci de l'exemple. Si je comprends bien, pour être cointegrées, il suffit que leur coefficient exp soit le même. Mais où et comment les trouves tu?
Pour vulgariser, elles bougent de la même façon.

Re: Partage de mon travail

par jeancreatif » 08 Mai 2015 17:54

Le problème c'est que les séries aléatoires sont rarement stationnaires ( d'où le concept d'aléatoire)

Re: Partage de mon travail

par jeancreatif » 08 Mai 2015 18:01

A moins de parler de stationnarité de leurs aléas, dont un exemple est donné dans la promenade support, resistance.

Re: Partage de mon travail

par TripleFail » 10 Mai 2015 13:50

Une action n'est pas stationnaire, mais une série créer en faisant log(a) - log(b) ou a et b sont les cours de clôtures de deux actifs financier peut être stationaire, c'est sur cette série que l'on doit travailler. L'image que j'ai posté montre deux séries cointégrés, elles ne bougent pas pareil, mais ce rejoignent à certains moment. Lorsque les mouvements sont identiques on parle de corrélation (et évidement la aussi c'est tradable en pair trading)
Log(a) et b doivent être calculés, sur excel par exemple. Ensuite soit on affiche la courbe et voit qu'elle est stationnaire sinon on fait un test de stationnarité ou non stationarité (Dickey Fuller)

Re: Partage de mon travail

par artes88 » 02 Aoû 2015 01:15

c'est le principe de l'arbitrage "long short equity 50/50", excellent à trader ! on peut réduire ces deux courbes en distribution de points pos ou neg représentant l'ècart entre les deux instruments de part et d'autre d'un axe horizontal, certains brokers ont des commandes pour trader l'écart, en valeur absolue...


ProRealTime

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