Vous êtes sur la page 1sur 59

Marchés à Terme d’Indices

et
plateforme de trading automatique
Intraday

II
Gestion du risque, levier
Systèmes automatiques
Architecture & Développement
Daniel HERLEMONT, YATS
dherlemont@yats.com
tel: 06 10 48 02 99
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
1

Sommaire partie II

m Rappels :
F Plateforme de trading
F biais comportementaux et faits stylisés
F Styles de trading

m Gestion du risque :
F Var Intraday Futures
F Gestion du levier, … stratégies "optimales"

m Estimations : volatilité , temps de passage, plus haut, plus bas, …


m Aspects techniques:
F trading manuel vs automatique
F analyse stats vs prédiction temps réel,
F backtesting, optimisation , datasnooping, model trading, …
F prédictibilités et patterns
F Architecture système, standard, gestion des données, programmation
s'automates (en JAVA)
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
2

Page 1
1
Biais comportementaux

m Excès de confiance (Overconfidence) => prise de risque


m sur réaction (aux statut quo) / sous réaction (aux changements inattendus)
m Point de référence (Anchoring)
m Aversion aux pertes - asymétrie négative
m Mimétisme - semble plus prononcé en période calme que sous stress, atteint un maximum juste
avant un krach
m Anomalies : effet Janvier, effet lundi, situation spéciales (entrée sortie
Indice, OPA, fusion, annonces, etc …)

m Dans un système de trading, peu importe l'origine, de l'inefficience:


expérience, modélisation, data mining, il est souhaitable de pouvoir
l'expliquer par des biais comportementaux et/ou fondamentaux et/ou
« techniques » …
pour juger de la robustesse, pertinence et stabilité dans le temps

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


3

Faits "stylisés"

Absence d'auto-corrélation des rendements


La traduction la plus immédiate de l'Hypothèse des Marchés Efficients (EMH)
rend inefficace toute méthode dite "linéaire" : moyenne mobile, analyse de Fourier,

"Fat tails" (queues épaisses) la distribution des prix ne suit pas une gaussienne, comme le prédit l'EMH.
Les pertes sévères ne sont pas aussi rares …
relation directe entre : mimétisme, liquidité et kurtosis (mesure de l'aplatissement)

Asymétrie négative: biais vers les pertes plus élevées.


Lié à plusieurs facteurs : aversion aux pertes, analystes, politique de communication : les blue ships étant
plus sujettes à une forte asymétrie négative.

Clustering de volatilité les périodes calmes alternent avec des périodes de grande activité

Effet de levier : corrélation négative rendement / volatilité :


si le prix baisse, le ratio d'endettement augmente et donc le risque et donc la volatilité, et inversement …
discutable …

Corrélation volume / volatilité: une augmentation du volume correspond, en général, à une augmentation
de l'intensité (fréquence) de trading

Auto-corrélation valeur absolue des rendements


c'est l'autocorrélation la plus forte
les mesures dite robustes (valeur absolue, range, .. ) donnent de meilleurs estimations

source: Rama Cont

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


4

Page 2
2
Importance de l'asymétrie

rendements élevé <=> asymétrie négative élevés

La prime marginale de risque augmente avec l'asymétrie


cohérent avec une fonction d'utilité dont l'aversion
absolue décroît avec la richesse U'''>0

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


5

70% des day traders perdent de l'argent

La tendance apparaît clairement


a des horizons de temps de l'ordre
de plusieurs années

Les données intraday


sont dominées par
la volatilité (bruit)

Les rendements des prix suivent (en première approche) un mouvement brownien géométrique :
- indépendance = la meilleure prédiction possible est le cours actuel.
- facteur d'échelle ~ racine carré du temps (conséquence de l'indépendance) :
volatilité jour = volatilité annuelle / 2600.5
rendement jour = rendement annuel / 260 rendement volatilité signal/bruit = r/σ ~ t 1/2
annuel 5% 20% 0.25
signal/bruit = r/σ ~ t1/2 jour 0,02% 1.26% 0,016

→ 0 lorsque ∆t → 0 temps caractéristique = σ 2 /µ2 temps pour lequel signal ~ bruit


exemple précédent T=16 ans !!!

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


6

Page 3
3
Styles

m trend following / momentum


F suivi de tendance : Achat
F joue une auto corrélation > 0

vente

m contrarian / value
F Achète (resp vend) les valeurs "sous évaluées" (resp sur-évaluées)
F joue une auto corrélation < 0

m Long/short, marché neutre, risque neutre, etc ...

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


7

Momentum vs Contrarien ?

m Momentum: acheter les winners, vendre les loosers


F en général: asymétrie négative
gains réguliers mais faibles, pertes élevées mais rares
F investisseurs impatients
F Explications comportementale: sous réaction aux nouvelles, transmission
d'information, persistence dans les cycles économiques, … ?
m Contrarien: acheter les loosers, vendre les winners
F en général: asymétrie positive:
pertes faibles mais régulières, gains élevés mais rares
F investisseurs patients et plus prudent (?)
F Tentative d'explication: sur réaction à très court terme, retour à la moyenne à
très long terme
m Évidences empiriques:

< 1 semaine 1 mois 3 à 12 mois 3 à 5ans


Contrarien Contrarien Momentum Contrarien

Porte en général sur des sociétés de faible taille et peu liquides


Tentatives d'explication de retours anormaux par une rémunération d'un risque plus élevé de
- de capitalisation
- d'endettement
- de liquidité

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


8

Page 4
4
m But : limiter les risques

m Long/short: achat et vente simultanée de titres différents


F Peut être basé sur une stratégie de type contrarien (achat simultané des losers
et vente à découvert des winners ) ou momentum (vente à découvert des losers
et achat des winners ): si les stratégies sont les bonnes, on est gagnant sur les 2
pattes.
F pas nécessairement hedgé contre divers risques, mais limite au moins la casse
en cas de problèmes: co mouvement directionnel suite à un krach, pannes,
indisponibilité, …
m arbitrages classiques (actif coté sur différentes place, options, etc …)
m Autres arbitrages (avant/après OPA, entrée/sortie dans un indice, , …)
m Convergence trading: « pari » sur un "retour à la moyenne » (spread …)
F exemple: pairs trading, cointégration, VAR

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


9

Risques

m Risque de marché :
F C’est l’exposition d’un portefeuille due aux mouvements et aux changements
des facteurs du marché : taux d’intérêt, cours des actions, taux de change…
m Risque de crédit :
F Exposition au risque qu’une contrepartie fasse défaut à ses engagements :
payer la dette d’un créancier, ou les coupons d’une obligation émise,
restructuration de la dette.
m Risque de liquidité:
F C’est le risque lié à la détention d’un actif peu liquide, ce qui ne permet plus de
faire une couverture aux prix du marché, et nécessite une durée beaucoup plus
grande pour la liquidation des positions. C’est le cas particulièrement pour le
marché des OTC.
m Risque de modèle :
F Les pertes dues à l’utilisation d’un modèle erroné, ou pas assez précis pour le
pricing, et la gestion du risque. La validation par des modèles indépendants est
la procédure la plus utilisée pour éluder ce genre de problèmes.
m Risque Opérationnel:
F Cela comprend un grand nombre de sources de risque, allant de la fraude au
risque technologique, au risque lié au changement de législature entre les
différentes filières d’une banque dans plusieurs pays. En raison de la diversité
et la disparité de ces sources, le risque opérationnel est très difficile à
quantifier.

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com Source: ENSAE
10

Page 5
5
Gestion du risque

m Gestion du risque = identifier les risque, les mesurer, mettre en place des
moyens (procédures, gestion) pour éviter des pertes inacceptables
m les principaux risques en trading sur futures
F risques opérationnels: en premier lieu:
Ä personnel: erreurs humaines, autres défaillances,
Ä matérielles, logicielles, réseau, … anomalies/pannes
Ä broker, place de marché : risque de défaut, litiges, pannes, ..
F risque de marché
m Estimations
F VaR, Expected Shorfall
F Fonction d'utilité
F Gestion du levier
F ratios: Sharpe, Sterling (rendement/maxDrawDown), Omega...
m Contrôle: procédures, reporting, ajustements, mesures (stop loss, arrêt), …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


11

VaR

m VaR = Value at Risk =perte potentielle maximale pour une probabilité


fixée sur une période donnée.
F Exemple si VaR(95%,10jours)=1 Million €,
la perte maximale sera inférieure à 1 Million €, avec une probabilité de 95%

m Très utilisé, car


F rend bien compte de la notion de risque, y compris et surtout extrêmes
F facile à comprendre, même par les managers …
F devient réglementaire :

m Bâle (1995)
F VaR 1 %, à 10 jours, sur historique de 1 an au moins.
F Besoin en capital = Max [VaR(jour-1), 3*MA(VaR,6jours)]
F Mesure sévère …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


12

Page 6
6
Estimation de la VaR

m Un double défi :
F manque de données: comment estimer des probabilités d'événements qui ne
sont que très rarement observés ?
F dont on ne connaît pas la loi de distribution
m Méthodes:
F VaR historique : quantile de l'échantillon
Ä encore faut il avoir suffisamment de données ….
F VaR normale
Ä ne tient pas compte des queues épaisses
F Approximations (Cornish Fisher)
Ä mieux que la VaR normale, mais pb de validité de l'approximation et intervalle de
confiance car basé l'estimation de moments d'ordre 3 et 4
F Théorie des valeurs extrêmes (Frechet, Gumbel, Weibull, Pareto Généralisé,
…)

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


13

Estimation VaR naïve

Histogramme des incréments de 1 heure sur 500 jours de cotations Gaussienne


sigma=18.5

pic au centre + queues épaisses

= Distribution leptokurtique

Var 1 heure 90% 95% 99% 99.90% 99.99%


Normale 23.7 30.5 43.1 57.2 68.5
Historique 21.0 29.5 53.0 98.0 129.0
hist/normal 0.9 1.0 1.2 1.7 1.9 divergence

Note: on travaille en incréments et points de base, et non pas en %, car plus adapté au trading sur futures.
Finalement assez peu de différence entre incréments et incréments des log (à cette echelle de temps)
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
14

Page 7
7
Tout sauf normal !!!

qqplot incréments de 1 heure

Centre de distribution ~ gaussien

Queues de distribution "anormales"

Lecture verticale

Perte à -3 sigma Lecture horizontale Idem pour les hausses


sans doute moins marqué
attendue ~ 50 (asymétrie négative
La perte "normale" -50
à -3 sigma ( ~ 0.14%), - a voir …. )
se produit en réalité
réalisée ~ 100
à -2 sigma ( ~ 2.28%)
~ 8 sigma !!!
soit en réalité, ~ 16 fois plus
quasiment
d'évènements à 3 sigma
impossible
que dans le modèle normal
avec l'hypothèse
normale
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
15

Déviation normalité en fonction de la durée

La divergence est d'autant plus marquée que l'intervalle de temps est court

10 secondes 1 minute 10 minutes

N ticks > 5 millions

|incrément| ~ 25 pts en moins de 10 secondes

Les fortes pertes à 10 secondes sont sensiblement les mêmes que les pertes en 1 minutes ….
Les mouvements de très forte ampleur se produisent à des instants précis et très rapidement …
ce qui laisse très peu de temps pour réagir …
fonctionnement par bursts: pic d'activié+forts mouvements alternent avec des périodes de calme
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
16

Page 8
8
Exemples distributions

Student, degré de
liberté = 3 Exponentielle:
peut être utilisé également utilisée
pour modéliser pour modéliser les
la distribution cours
des incréments

Cauchy
Toutes les distributions
à l'extrême n'ont pas des queues
possède épaisses: exemple la
une moyenne loi uniforme
et variance
infinies autres exemples:
binomiale
gaussienne tronquée
qui sont des profils de P&L de systèmes de trading avec
profit exit et stop loss.
Rappel normal=

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


17

VaR CAC40 Future Intraday

Étude empirique portant sur le contrat CAC40 Future,


étude de la queue de distribution d'un portefeuille de Futures

L ’approximation normale
semble correcte pour 1-alpha < 95%

le centre de distribution est


à peu près gaussien, conséquence du
Théorème de la Limite Centrale

Le TCL n ’est pas applicable aux


queues de distribution
L ’approximation normale
sous estime largement les
évènements rares :

pour 1-alpha >> 95%


La VaR gaussienne (212) sous estime
la VaR historique (305) qui sous estime
l ’approximation de Cornish Fisher (505)

A noter : déposit exigé, de l ’ordre de 4500€ ≈ VaR(99%,1jours)/3


cf exigence de Bâle, sauf que le capital exigé est sur 10 jours:
3*VaR(99%,10jours) >> déposit requis

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


18

Page 9
9
Exemple: VaR contrat CAC40 Future

Etude de la VaR Intraday pour différents intervalles de temps de qqes secondes à 8 heures.

VaR CAC40 Future sur 600 jours de cotations


du 24/8/99 au 2/1/2002, entre 8h et 22h
nombre de ticks=7 500 00

historicalVaR99(t) = 1,15 t 0,48


ln(historicalVAR99)=0,14 + 0,48*ln(seconds) R2=1,00

sigma(t) = 0,39 t 0,50


ln(sigma)=-0,95 + 0,50*ln(seconds) R2=1,00

Approximation de Cornish Fisher

VaR Historique = quantile échantillon

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


19

VaR CAC40 Future à différents moments de la journée

période calme période agitée


entre 11h et 14h30 entre 14h30 et 19h30
17/9/2002 au 26/6/2003 17/9/2002 au 26/6/2003

VaR(99%,2h) ~ 40 VaR(99%,2h) ~ 80

Var Historique ~ VaR Cornish Fisher >> VaR gaussienne


historicalVaR99(t) = 0,92 t 0,42
ln(historicalVAR99)=-0,08 + 0,42*ln(seconds) R2=0,99
historicalVaR99(t) = 0,92 t 0,49
sigma(t) = 0,69 t 0,33 ln(historicalVAR99)=-0,09 + 0,49*ln(seconds) R2=1,00
ln(sigma)=-0,38 + 0,33*ln(seconds) R2=0,91 sigma(t) = 0,64 t 0,40
Anti persistence marquée en période "creuse" ln(sigma)=-0,45 + 0,40*ln(seconds) R2=0,95

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


20

Page 10
10
Exposant de queue de distribution

P(X>x)=1-F(x) ~ C x-α Plus α est petit et plus la queue est épaisse


P( x<X<x+dx) ~ C x-α-1 α est aussi l'exposant de queue
les moments d'ordre k >= α sont infinis
Les moments d'ordres k : E[xk] ne sont définis que si k-α-1<-1, c'est a dire k < α
si α >= 2 la variance est infinie
si α >= 1 la moyenne est infinie

08:00:00 à 22:30:00
CAC40 Future intraday
CAC40 Future intraday
2 ans (2002/2003)
Estimateur de Hill
dépend de la période
en cours de journée
α ~3 à6
µ=1/α ~ 0.15 à 0.3

11:00:00 à 14:30:00
La variance de l'estimateur est grande

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


21

Théorème des Valeurs Extrêmes

Comnent estimer des probabilités d'évènements rares dont on manque de données ?

Théorème des Valeurs Extrêmes:

Il existe µ, σ, ξ tels que le (Mn- µ)/σ ξ=0 Weibull


converge vers ξ>0 Frechet
ξ<0 Gumbel

Les actifs financiers sont dans la classe de Frechet ξ>0,


avec ξ entre 0.2 et 0.5, soit un exposant de queue entre 2 et 5

estimation par méthode de block maxima et maximum de vraisemblance


suppose un historique important et échantillon iid

pour une estimation plus précise de la VaR, on pourra utiliser les lois de Pareto Généralisées

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


22

Page 11
11
Estimation des queues de distribution par les valeurs extrêmes

Échantillon: sur 500 jours, fin = 30/9/2003, de 10h00 à 17h30, n ticks > 8 millions
incréments = 1 heure
Estimation du modèle GEV (Generalized Extreme Value)

incréments prix
ξ σ µ
0.23 15 35

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


23

Distribution de Pareto Généralisée - GPD

On s'intéresse à la distribution des pertes au delà d'un certain seuil u:

Pour les distributions vérifiant le théorème des valeurs extrêmes


et pour un seuil u suffisamment grand, Il existe ξ, β tel que Fu
converge vers la distribution de Pareto Généralisée

Si n est le nombre total de l'échantillon et Nu le nombre de valeurs dépassant u ,alors

On peut aussi estimer l'espérance de la perte en cas de dépassement de la VaR (Expected Shortfall)

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


24

Page 12
12
GPD fit

Échantillon: sur 500 jours,


fin = 30/9/2003,
de 10h00 à 17h30,
n ticks > 8 millions
incréments = 1 heure

u=20, n=3388, Nu=303


ξ= 0.144 ± 0.06
β= 11.7 ± 1.

Excellent fit …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


25

VaR exemple avec GPD

Normal

Pareto
Historique
Cornish Fisher

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


26

Page 13
13
Estimation du seuil pour Pareto Généralisé

Détermination du seuil u: compromis entre un seuil élevé et signification de l'estimation:

Estimation du paramètre de forme (ξ) et Var en fonction du seuil


montre une excellente stabilité du résultat dans les zones -/-3 sigma

ξ ~ 1.5 VaR(99%,1h;GPD) ~ 50

Intervalle de confiance : il n'est pas possible d'obtenir de très grandes précisions pour le paramètre de forme (xi)
L'intervalle de confiance dans l'estimation GPD est obtenu par la méthode de "Profile Likelihood"
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
27

Détermination des intervalles de confiance par la fonction de vraisemblance

La fonction de vraisemblance peut être utilisée pour déterminer les intervalles de confiance,
la fonction G^2 suit une loi du khi2 à un degré de liberté:

L*

L*-1.92

θ
θ0- θ0* θ0+

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


28

Page 14
14
Conclusion étude VaR Future Intraday

1. La VaR normale à des seuils < 90% semble être une bonne approximation
voire une sur estimation de la VaR historique

2 La VaR extrême (>0.99) est largement sous estimée par la VaR normale

3 les meilleurs résultats sont obtenus par l'utilisation des distributions de la


théorie des valeurs extrêmes (Pareto Généralisé, …)

Nota: L'utilisation des incréments semble donner de meilleurs résultats que les incréments en % (logarithme).
De fait, sur les marchés futures, on raisonne plus souvent en points de base qu'en %

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


29

Sigma(t)

σ(T) ~ t H H = exposant de Hurst


induit, des auto-corrélations "longues", souvent modélisé par des processus de type
"fractals", H est coef. de similarité H.

>1/2 Persistence: auto-corrélation positive, les fortes


hausses (resp. baisses) ont tendance à se succéder,
plus souvent le cas pour des actions/indices (actions/indices H ~ 0.6 - 0.7)

H = 1/2 Gaussien

<1/2 Anti Persistence, auto-corrélation négative : une forte hausse (resp.


baisse) sera plutôt suivie d ’une forte baisse (resp. hausse), semble être le
cas intraday en période calme

H de l ’ordre de 0.6 sur


exemple: intraday CAC40 Futures en période
actions et indices:
"calme"
persistence à des échelles
de 11:00:00 à 14:30:00 :
de temps plus longues
sigma(t) = 0,69 t 0,33
(>journée)
ln(sigma)=-0,38 + 0,33*ln(seconds) R2=0,91

H=0.33 => Anti-persistence intraday


semble + prononcée en périodes les plus
calmes

Estimation de H : Statistique R/S, Ondelettes, … H=0.33 Semble en désaccord avec la littérature H=0.6-0.7
a vérifier de plus près ….

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


30

Page 15
15
GARCH(1,1)

Échantillon: sur 500 jours, fin = 30/9/2003, de 10h00 à 17h30, n ticks > 8 millions
incréments = 1 heure

Coefficients
α0 α1 β1
3.087e+02 1.474e-01 2.555e-12

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


31

Kurtosis

Normalement nulle, pour une gaussienne

K(t) ~ K1/t1/2

La kurtosis est probablement infinie, ce qui


remet en cause toute approximation du type
Cornish Fisher, dépend de l'exposant de la queue
de distribution,

distribution gaussienne ou exponentielle: tous les


moments sont finis

loi puissance d'exposant α P(X>x) ~ C x-α-1 :


les moments d'ordre supérieurs à α sont infinis Instabilité de l'estimation: l'intervalle de confiance de la kurtosis
avec α ~3 la kurtosis est infinie … empirique dépend des moments théoriques d'odre 8 !!! Sans doute
infinis …

Interprétation classique: l'épaisseur de la queue est aussi une signature d'inefficience due à la présence de
spéculateurs

La kurtosis est directement liée au mimétisme ? Cf. modèle Cont-Bouchaud


Modèle Hwang : le mimétisme est mesuré par la dispersion transversale (atteint son maximum avant un krach).

ref: " empirical porperties of asset returns: stylized facts and statistical issues", Rama Cont.

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


32

Page 16
16
Utilité espérée

L'utilité est censée mesurer la satisfaction de l ’agent, fonction d'un revenu aléatoire
Agent risquophobe: préfère un revenu certain à un même revenu espéré (et donc aléatoire)

↑ Rendement
↓ Risques U ’(w) > 0 U
U ’ ’(w) < 0
↓ Rendement
↑ Risques

On tentera donc de maximiser la satisfaction de l ’agent: maximun E [U(w)] w


Il y autant de f.u. que d ’agents …. Dépend de l ’aversion pour le risque de l ’agent

Aversion relative pour le risque


= -w U"/U' = γ
ne dépend pas du niveau de la richesse

ma préférée : f.u. en logarithme ….


Indice relatif d ’aversion au risque = 1,

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


33

Utilité - exemple

Quel revenu certain (salaire) souhaiteriez vous en échange d’un revenu incertain (investissement) ?

U(w)=ln(w) U U(w)
loterie : w1=4 avec p=0.5, w2=16 avec 1-p=0.5 U(E[w])
E[w]=p w1 + (1-p) w2 = 0.5*4+0.5*16=10 E[U(w)]
E[U(w)] = p U(w1) + (1-p) U(w2)
= 0.5*ln(4)+0.5*ln(16)=ln(8)=U(8)

Aversion aux risques : concavité de la f.u.


à revenu égal, préférence pour le certain sur l’aléatoire
E[U(w)] < U(E[w])
4 8 10 16 w
Quel est le revenu certain équivalent au revenu aléatoire Indifférence: équivalent certain (8) vs revenu aléatoire (10)
revenu aléatoire = équivalent certain + prime de risque préférence revenu certain si revenu certain > 8
préférence revenu aléatoire si revenu certain < 8
10 = 8 + 2

Cas général: λ = prime de risque U(E[w]-λ) = E[U(w)]


prime risque absolue ≈ - 1/2 U"/U' variance(W)
prime risque relative (en %) ≈ - 1/2 W U"/U' variance(W)
pour faibles variations, par un développement de Taylor
aversion relative = - <W> U"/U' = 1 pour une f/u. en log

Exemple : portefeuille d'actions, avec rendement=10% volatilité=40%,


prime de risque = variance/2 = 0.42/2= 8%, équivalent certain (salaire) = 10%-8%=2%
pour un équivalent salaire de 100 000 € par an,
il faut générer une performance 5 fois plus grande 500 000 € sur un portefeuille de 5 millions €
et encore l'aversion au risque est faible

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


34

Page 17
17
Var, Utilité, Espérance-Variance ?

m Espérance/Variance
F <=> Utilité espérée
Ä si Utilité quadratique
Ä et/ou variations faibles.
F <=> VaR
Ä dans le cas gaussien seulement.

m Le plus souvent, les rendements restent « négligeables » devant les risques


extrêmes => Maximiser un f.u. avec des queues épaisses est assez proche de
la recherche du minimum d ’une VaR

m Dans le cas de stratégies « risque neutre » (ex: pairs trading), on tente de se


protéger contre les risques extrêmes, les rendements sont faibles et des
leviers nécessaires …
l ’ajustement du levier devient un facteur essentiel ….

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


35

Gestion du levier

m Comment déterminer la fraction de capital à investir dans l'actif risqué ?


m En fonction
F du rendement et risques attendus
F du capital
F l'aversion aux risques …

m Soient
F S un actif risqué
F W un portefeuille
F f la fraction investie dans S

m une stratégie possible : optimiser le taux de croissance


F Kelly, Vince, Thorp, Merton, Maslov, Baviera, Cover, …
F stratégie très souvent citée parmi les traders sur futures, hedge funds, …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


36

Page 18
18
Kelly

m Kelly (1956 Bell Labs) avec Shannon, pose le problème suivant:


F gain = doublement de la mise, avec une probabilité 1/2<p<1
F perte de la mise, avec probabilité q=1-p
m Quelle proportion f du capital doit on miser ? f =levier
m si p=1 : levier infini …
m si p<1
F Si f=1, c'est la ruine assurée dès la première perte ….
F Si f=0, on ne profite pas d'un réel avantage
F => f compris entre 0 et 1 …

m Solution de Kelly : maximiser le taux de croissance ….

Wn = valeur du portefeuille à la période n

On cherche à maximiser la moyenne du taux de croissance


<=>
maximiser la moyenne géométrique
<=>
Taux de croissance équivalent certain

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


37

Kelly (formules)

G
0.3

0.25
G*
0.2

0.15
f
0.1

0.05

0
0 0.2 0.4 0.6
f* 0.8
1
-0.05

-0.1

-0.15

En étroite relation avec la notion d'entropie ….


H= -p log p - q log q
Maximiser G <=> minimiser l'entropie H <=> maximiser la prédictibilité d'un signal (au sens Shannon)

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


38

Page 19
19
Kelly (exemple)

G G G
0.1 0.02 0.4

0 0.35
0.08 0 0.2 0.4 0.6 0.8
-0.02
0.3
-0.04
0.06
0.25
-0.06
f 0.2
0.04 -0.08

-0.1 p=0.53 q=0.47 f*=0.06


0.15
0.02
-0.12
f G*=0.01801 0.1
0 -0.14
0.05
0 0.2 0.4 0.6 0.8 -0.16
-0.02 f* 0
-0.18
0 0.2 0.4 0.6 0.8 1
-0.2 -0.05
-0.04

p=0.7 q=0.3 1.Pour un avantage aussi minime soit


il (p=0.53), le taux de croissance p=0.9, q=0.1
f*=p-q=0.4 et G* ~ 8%
reste respectable G*~ 1.8% f*=0.8 et G~36.8%
soit
(doublement en 385 coups) mais le gains très élevés,
levier doit rester très faible : 6% G chute très rapidement au delà de f*
Il vaut mieux sous estimer que sur
2. Les pertes interviennent dès 12% encore une fois mieux vaut
estimer f*
de levier. à f ~ 60%, taux de sous estimer f*
pour f ~ 2*f* G<0, on perd …
par contre pour f ~ f*/2 G ~ 6%, croissance probable ~ -18% après 12
soit 25% de manque à gagner, périodes, le capital restant le plus
seulement probable n'est plus que 11% du
capital initial … exp(-0.18*12)

Il vaut mieux "sous-parier" que "sur-parier"


En trading, faut faire comme les anglais: roulez à gauche
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
39

Mieux comprendre Kelly


(1+f) 5 Portefeuilles exponentiels, fortement improbables
p
(1+f) 4
p 1-p
L'espérance du portefeuille
E(Wn/W0) = E(W1/W0) n=((2p-1)f+1)n
(1+f) 3 4
p (1+f) (1-f)
p 1-p est constituée de termes exponentiellement grands
(1+f) 3(1-f) et fortement improbables
p (1+f) 2 1-p p 1-p

p (1+f) p (1+f)2(1-f) (1+f) 3(1-f) 2 Le portefeuille le plus probable (maximum de la probabilité)


1-p 1-p p
2
(1+f) (1-f) 2 correspond à la moyenne géométrique
1-p (1+f)(1-f)
p 1-p p 1-p
(1-f) (1+f)(1-f)2 (1+f) 2(1-f) 3
1-p p 1-p p
(1-f) 2 (1+f)(1-f)3 Ce portefeuille le plus probable est aussi le portefeuille médian
1-p p
(1-f) 3 (1+f)(1-f)4
p
1-p
(1-f) 4
1-p
(1-f) 5 Quasi nul, mais pas de
risque de ruine ….
Kelly
⇔ Maximiser le portefeuille le plus probable
⇔ Maximiser le portefeuille médian
⇔ Maximiser la moyenne géométrique des P&L

Propriétés analogues à la distribution log normale :


de fait, log (Wn/W0) peut être approché par une loi normale
moyenne
log (Wn/W0) ≈ gaussienne
variance
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
40

Page 20
20
Kelly - Application modèle binomial et Futures (suite)

gain: w %, avec probabilité=p, perte: l %, avec probabilité=q=1-p


g=p log(1+fw)+q log(1-fl)
f*=(pw-ql)/(wl) = a/(wl) sous jacent en pts S 3000
avec a= pw-ql espérance arithmétique multiplicateur m 10
valeur contrat m*S 30000
Systeme de trading
delta pts pts 20
Exemple: contrat Future CAC40, stratégie de type bracket cout c 4
gain/contrat W=m*pts-c 196
trading encadrement des gains + des pertes perte/contrat L=m*pts+c 204
profit exit à +20 pts et stoploss à -20pts, un trade par jour … proba gain p 0,54
proba perte q=1-p 0,46
probacritique pc=L/(W+L) 0,510
gain en % sous jacent w 0,65%
60% perte en % sous jacent l 0,68%
Espérance a=p w-q l 0,040%
50% Kelly
Kelly Buy&Hold f* f*=a/(w l) 9,00
croissance

40% taux de croissance / trade G*=p ln(1+f w)+q ln(1-f l) 0,180%


nb trades n 250
30% taux de croissance global exp(nG*) 1,57
% 56,96%
20% catipal requis par contrat W L /(pW-qL) 3332
capital 10 000
10% nombre de contrats 3
marge / contrat 2400
jours n contat/marge 4,2
0%
0 50 100 150 200 250
Capital par contrat = WL / (p W-qL)= K
n contrats = arrondi.inf(Capital/K)

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


41

Kelly - Exemple Futures (suite)

Exemple type contrat DAX, multiplicateur = 25


delta trading à +/- 20 pts, probabilité gain = 0.58 2000%
1800%
sous jacent en pts S 3 000 1600% Kelly Buy&Hold
multiplicateur m 25 1400%
croissance

valeur contrat m*S 75 000 1200%


Systeme de trading
delta pts pts 20 1000%
cout c 4 800%
gain/contrat W=m*pts-c 496 600%
perte/contrat L=m*pts+c 504 400%
proba gain p 0,58
200%
proba perte q=1-p 0,42 jours
probacritique pc=L/(W+L) 0,504 0%
gain en % sous jacent w 0,66% 0 50 100 150 200 250
perte en % sous jacent l 0,67%
Espérance a=p w-q l 0,101%
Kelly
Soit plus de 1000% / an !!!! Cherchez l'erreur …..
f* f*=a/(w l) 22,80
taux de croissance / trade G*=p ln(1+f w)+q ln(1-f l) 1,161% Suppose être investi avec levier 22 sur future DAX :
nb trades n 250
taux de croissance global exp(nG*) 18,21
quasiment 100% de la marge !!!
% 1720,67% Avec 55 contrats en fin de période !!!
catipal requis par contrat W L /(pW-qL) 3 289
capital 10 000 problèmes ?
nombre de contrats 3
marge / contrat 2 400
n contat/marge 4,2 P(gain) trop optimiste ?
capital en fin de periode 182 067 Stationnarité des probabilités ?
n contrats 55
Buy & Hold
slippage ? (gain et pertes réelles != attendues)
f*/2 11 avantage vs taille des ordres vs Liquidité ?
G(f*/2) 0,87% Complexité opérationnelle avec la taille ?
8,77
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
42

Page 21
21
Sensibilité

60 levier

Très grande sensibilité du levier en 50


fonction de la probabilité de succès
40
delta(levier) = 2S/pts delta(p)
30
= 600 delta(p)
delta(p)=0.01 => delta(levier)=6 !!! 20

10
p succès
0
0.5 0.55 0.6 0.65 0.7

Grande sensibilité du levier vs estimation des gains et pertes.

exemple précédent : bracket trading autour de 20 pts sur DAX, avec p(succès)=0.58 => f* ≈ 22
si le gain passe à 19 pts au lieu de 20 pts,
ou la perte passe à 21 pts au lieu de 20,
f* passe à 7 au lieu de 22 !!!

Or: l'espérance d'un perte est plus souvent plus grande qu'attendue et celle d'un gain plus faible …
les raisons peuvent être multiples :
spread (bid/ask), chasse aux ordres stop, pb de liquidité, stoploss en situation de krach, …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


43

Désir et réalité

Performance

Les positions ne peuvent par être multipliées à


l'infinie sans tenir compte de facteurs qui
détériorent la performance:
- liquidité
- profondeur de marché (impacts)

Taille des positions


La stratégie de Kelly suppose le même succès avec 55 contrats qu'avec un seul: c'est faux …
La probabilité gain décroît avec la taille
Rappelez vous sur-estimer le levier est catastrophique ….
or le levier est très sensible à la probabilité de gain ...

=>

estimation réaliste des probabilités de gain en fonction de la liquidité et autres facteurs de risque
stratégie moins agressive (Kelly Fractionnel)
diversification multi supports / multi stratégies

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


44

Page 22
22
Exemple levier optimal - marché action

Comparaison Buy&Hold et stratégie optimale active:

Le critère de Kelly est la stratégie optimale:


le portefeuille le plus probable croit de manière exponentielle
W(T)=exp(T sharpe 2) W0
sharpe= µ/σ

!!!! Les rendements sont multiplicatifs ….


LES DANGER D'UN LEVIER TROP ELEVE: exemple: Après une perte de 50%, il faut 100% de hausse pour se
"refaire" ...
+ 25% ou -15% par mois avec probabilités 50/50

Avec une levier de 5, pour une mise de départ de 100, au bout de 12 mois, le capital probable est de 3 !!!!

Le levier optimal est 1.33 = (.5.025-.5*.15)/(.25*.15), gain géométrique moyen = 3%, gain probable au bout de 12 mois = 47%
ce qui est fort différent d'une perte de -97% avec un levier de 5 !!!

Ruine certaine si levier = 1/perteMax = 6.67,

risque élevé et perte , si on utile un levier = 2 * levier optimal

En revanche : utiliser un levier prudent = levierOptimal/2, entraine un manque a gagner de 25% seulement.

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


45

Exemples

Un levier constant
amplifie les hausses

… et les baisses

un levier trop grand (5)


conduit a des pertes rapides

Fonctionne mieux en ajustement intraday sur futures avec faibles coûts de transaction:
levier de 2 du sous jacent <=> nContrats = 0.2 Capital / valeurSousJacent
nContrats= levier Capital / multiplicateur * valeurSousJacent

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


46

Page 23
23
Exemples (suite)

Plus de 60 fois la valeur


du NASDAQ et pourtant
le levier n'est que de 2

NASDAQ

S&P 500
Utilisation d'un levier constant ~ 2

Peut mieux faire en intraday future,


avec une estimation dynamique des volatilités:
taux sans risque : r ≈ 2%
µ= rendement+σ2/2, rendement ≈ 5%
levier optimal (σ)= (µ-r)/σ2 = ½ + 0.03/ σ2

Opportunités en ce moment (Nov. 2003) ?


car faible volatilité (historique) et reprise économique
=> autorise des leviers plus élevés …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


47

NASDAQ en levier 5

Levier 5
démontre le caractère exponentiel
de la stratégie :
NASDAQ * 3500 !!!
bien loin de NASDAQ*5
explosion à la hausse …

mais implosion à la baisse ….

Reste quelques cents …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


48

Page 24
24
Ajustements dynamiques

Les stratégies de type Kelly (ou basées sur une fu isoélastique) nécessitent des ajustements permanents, afin de
maintenir une proportion constante ("Constant Rebalanced Portfolios"):
Soit un portefeuille d'une valeur 1000 avec seul actif risqué de valeur unitaire 10, avec un levier de 4. On détient donc 400=(1000/10)*4
unités de l'actif. Le mois suivant, l'actif perd 20%, l'actif passe à 80. Le levier étant de 4, la perte en capital est quatre fois plus importante,
la valeur du portefeuille devient 3200=400*80 !!! Pour maintenir un levier constant de 4, il faut ajuster le nombre d'unités en fonction : des
nouvelles valeurs du portefeuille (3200) et l'actif 80, soit un nombre d'unités : 160=(3200/80)*4, il faut donc alléger de 400-160=240 unités,
soit de 60% =(4-1)*20% (cf ci dessous)

On doit ajuster la quantité pour vérifier :

f<1 ⇒ δq δS < 0 ⇒ CONTRARIEN


on doit ajuster en sens inverse de la variation:
acheter lorsque l'actif baisse, vendre lorsque
l'actif est en hausse.

f>1 ⇒ δq δS > 0 ⇒ SUIVEUR


Donc on doit acheter lorsque l'actif monte et vendre
lorsqu'il baisse.

f=1: on est investi à 100% dans l'actif risqué,


et on le restera même en cas de hausse ou de
baisse de l'actif.
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
49

Kelly - Distribution quelconque

p(r) distribution des rendements discrète ou continue

Distribution continue Distribution discrète des


rendements ri, avec probabilité pi

f* solution de : f* solution de :

Exemple:
perteMax=20%
alors f* << 5
solutions approchées au second ordre:
G
G ≈ f<r>- f 2 <r 2>/2
G*
3/4 G*

f*/2 f* ≈ <r>/<r22 >f* f


Solution approchée (très grossière)
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
50

Page 25
25
Allocation optimale inter-temporelle en temps continu

Merton - Continuous Time Finance

Recherche de l'allocation optimale x

On retrouve les mêmes résultats que dans le cas mono-périodique


avec Γ la matrice de covariance, ρ le vecteur des rendements (ρi = µi-r),
r le taux sans risque, γ l'aversion relative au risque.
Solution par contrôle optimal stochastique (Hamilton-Jacobi-Bellman)

résultats analogues au CAPM


Cas mono actif Cas d'actifs (ou stratégies) non corrélées à la différence essentielle que:
- le CAPM est mono périodique
- Kelly (ou Merton) est multi-périodique
- dans le cas de Merton, les pondérations
varient , mais faiblement
=> réajustements toujours nécessaires
Résultat remarquable, sachant que µ et σ peuvent dépendre du temps
Applicable à tout processus,
Mais: pas seulement I(1)
1. suppose que les proportions sont ajustées en continu Merton est applicable à des
2 ne tient pas compte des coûts de transaction. processus de retour à la moyenne
(OU), …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


51

Levier optimal - cas continu - exemple mono actif

Exemple d ’un modèle lognormal

la stratégie optimale consiste à maintenir un ratio constant dans l ’actif risqué :


γ = aversion au risque γ=1, pour un f.u. en logarithme.

Exemple f* tels que mesuré


Exemple: action/indice classique: CAC40 f* mesuré depuis
rendement R ≈ 5%, CAC40 0.91 1990
taux sans risque =2% DAX 1.3 1990
σ = volatilité ≈ 30% E50 1.72 1990
µ = R + σ2 /2 = .05+0.3 2 /2 = 9.5%
=> f=(µ-r) /σ2 = (.095-.02)/0.09 = 0.83 DJI 1.54 1930
=> investi à 83% en CAC40 (si fu en log) : NASDAQ 2 1984

f* ~ 1 : traduit une hypothèse de non arbitrage Kelly vs Buy& Hold ?

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


52

Page 26
26
DJI

0 0.5 1 1.5 2 2.5 3 <r>/sigma^2


AA
AXP pour les actions composant le DJI,
BA
C depuis le 2 janvier 1962 au 6 mars 2002.
CAT
DD
DIS
EK
levier moyen f* ≈ 1.4
GE
GM
HD
HON
HWP
IBM
INTC
IP
JNJ
JPM
KO
MCD
MMM
MO
MRK
MSFT
PG
SBC
T
UTX
WMT
XOM

0.003
y = 0.7479x + 6E-05
0.0025
R2 = 0.3834
0.002
simga^2

0.0015

0.001

0.0005

0
0 0.0005 0.001 0.0015 0.002

<r>

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


53

Comment gagner sur une actif qui perd …

Non seulement on peut battre le sous jacent avec un levier < 1 …


mais on peut gagner sur un sous jacent qui décline …

!!! ln ST/S0 ~ gaussienne moyenne (µ - σ2/2)T et variance σ 2 T


Kelly gagne
tout en restant
Le rendement moyen peut donc être ≤ 0, mais µ>0 à l'achat
sur un actif
qui perd !!!
si Rendement = 0, l'action reste stable

Une stratégie active permet néanmoins de gagner


en restant investi à 50% à tout instant …

car R=0 => µ= σ2 /2 > 0 =>


levier f*=µ/σ2 =0.5
taux de croissance optimal G*( r=0 ) = ½ µ2/σ2 = σ2 /8
Source maslov, Zhang

si σ=40% G*(r=0)=2% / an
pas trop mal pour une action qui stagne … La stratégie de type Kelly (portefeuille CRP)
et plus elle est volatile meilleure est la performance !!! peut être vue comme un système de "capture"
si σ=100% G*(r=0)=12.5% / an de la volatilité …

Compatible avec l'efficience des marchés: l'effet de


la stratégie de Kelly sera de réduire de la volatilité …
Fonctionne aussi pour R<0, dans la limite µ>0 "une centrale hydraulique qui va capturer une énergie
donc µ < σ2 /2, dans ce cas f<1/2 produite par la hauteur des vagues, aura pour effet de
réduire la hauteur des vagues, mais peut on imaginer
f* peut être négatif (vente à découvert) un océan sans vagues ni tempêtes …. " COVER

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


54

Page 27
27
Levier et Sharpe

Sharpe ~ µ/σ, une autre mesure du rendement corrigé du risque …

Relation Kelly avec Sharpe:

Optimiser le taux de croissance est assez proche de l'optimisation du ratio de Sharpe ….

Sharpe dépend du temps : (En première approche)

si un facteur d'échelle en 0.5


le levier optimal ne dépend pas du temps
f*(intraday)=f(jour)=f(mois)=f(année)

pour être considéré comme une bonne stratégie, le Sharpe annuel doit être > 2

f ~ µ/σ2 => f=Sharpe/ σ

donc si Sharpe=2 et σ=10%, sur un seul actif, suppose un levier f= 20 !!!

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


55

Drawdowns

Drawdowns = perte historique depuis le dernier plus haut C drawdowns


mesure de risque agressive: E A/B
A
G C/D
Drawdown C/F
D C/H
Le Drawdown s'exprime aussi en %: F I …..
D% = (Wmax-W)/Wmax=1-1/D, B
Probabilité (D%>x%) = P(D>1/(1+x))
H

ratio de sterling = rendement / maxDrawDown%


exemple exigence forte: 30% rendement annuel, max drawdown 10% (Sterling=3)

Loi universelle: les queues de distribution des drawdowns suivent une loi puissance

Avec Γ solution de

Modèle binomial: gain Λ avec probabilité p, perte - Λ avec 1-p

Cas gaussien

1/Γ représente le drawdown probable.

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


56

Page 28
28
Kelly et les drawdowns

Hypothèse : investissement dans un actif risque de rendement (instantané) µ et volatilité σ2

Portefeuille de Kelly se comporte comme un processus gaussien multiplicatif:

Exposant de la densité des Drawdowns

Le drawdown est sur le point de diverger


⇒ espérance et variance infinies

Résultat universel: indépendant de la distribution des rendements !!!

Justifie, encore une fois, l'intérêt d'utiliser des stratégies moins agressives (kelly fractionnel)

Avec f*/2, l'espérance et la variance sont finies

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


57

Drawdowns (suite)

Exemples
τ = 4 Prob(perte historique > 50%) ~ 12,25% P(D>-drawdown)
50% <=> capital/2 depuis le plus haut historique DD% 10% 20% 30% 40% 50% 60% 70% 80%
DD=Wmax/W 1.11 1.25 1.43 1.67 2.00 2.50 3.33 5.00
τ = 4 correspond à un Kelly/2 tau 2 0.9000 0.8000 0.7000 0.6000 0.5000 0.4000 0.3000 0.2000
3 0.8100 0.6400 0.4900 0.3600 0.2500 0.1600 0.0900 0.0400
τ = 2 Prob(perte historique > 50%) ~ 50% !!! 4 0.7290 0.5120 0.3430 0.2160 0.1250 0.0640 0.0270 0.0080
5 0.6561 0.4096 0.2401 0.1296 0.0625 0.0256 0.0081 0.0016
τ = 2 correspond à Kelly 6 0.5905 0.3277 0.1681 0.0778 0.0313 0.0102 0.0024 0.0003
7 0.5314 0.2621 0.1176 0.0467 0.0156 0.0041 0.0007 0.0001
8 0.4783 0.2097 0.0824 0.0280 0.0078 0.0016 0.0002 0.0000
9 0.4305 0.1678 0.0576 0.0168 0.0039 0.0007 0.0001 0.0000
Une méthode simple pour définir une gestion cohérente:
DD% = ( Wmax-W)/Wmax=1-1/DD
DD=1/(1-DD%)
exigences de gestion: Probabilité (DD%>x%) = P(DD>1/(1+x))
rendement 30% par an
max drawdown, ne doit pas dépasser 10% (au seuil de 5%)

=> τ > 30 DD%=10% DD=1/(1-0.1) P(> DD) ~ DD^(- τ-1)< 5% τ > 1+log(0.05)/ log(1-0.1)=29.43,

τ =2µ/σ 2 et µ=30%
=> σ < 15%
=> sharpe = µ/σ > 2
Si une stratégie de type Kelly (proportion constante),
sous entend d'utiliser un levier 15 fois inf érieur à celui de Kelly
aversion relative pour le risque de l'ordre de 15

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


58

Page 29
29
Kelly Fractionnel

Malgré la prise en compte des risques, le levier optimal de kelly reste agressif,

Une mauvaise estimation des paramètres peut conduire à une sur estimation du levier et donc:
décroissance rapide du capital dans des drawdowns sévères

Il est plus "prudent" d'utiliser des fractions du levier optimal: se placer à f*/2, f*/4.

Kelly Fractionnel: utiliser un levier f=δ f*, avec 0<δ<1


<=>
maximiser la fonction d'utilité U(w)= w 1- γ /(1- γ)

γ est l'indice d'aversion relatif pour le risque: plus γ est grand et plus l'agent est risquophobe.

À la limite γ = 1, la fonction d'utilité est le logarithme.

δ γ utilité G*(δ )/G*


1/2 2 -w - 1 .75
1/3 3 -w - 2 .56
1/4 4 -w - 3 .44

le levier optimal est f*(γ)= 1/ γ µ/σ2

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


59

Investissement "optimal" et coûts de transactions


Impact très important des coûts de transaction sur une gestion active
Cette stratégie exige un ajustement permanent pour maintenir un ratio constant dans l'actif risqué: soit "f" ce ratio,
l'ajustement quotidien devrait être de l'ordre de (f-1)*variationActif
f=1 on est investi à 100% en permanence.
f<1, on est contrarien ... hausse => vente, baisse => achat
f>1 on est suiveur de tendance: hausse => achat, baisse => vente
Il existe des "no trade regions" : re-équilibrage uniquement lorsque le ratio sort de bornes fmax , fmin,

exemple µ=12,5%, σ=20%, f=0.6, avec des coûts de 0,5%, ne pas faire réajuster tant que f reste dans un intervalle de
l'ordre de 10% autour de f.
La région de "non trading est proportionnelle à la racine cubique des coûts (ref: Leland, Baviera, … )
si c= coût %
permet de retrouver la variation
Si µ/σ2 ≈ 0 ou 1, ∆f ≈ 0 nécessaire de l'actif pour sortir
de la zone de "non trading"
∆f maximum pour µ/σ2 ≈ 0.5, le sous jacent est quasi stable (rendement = µ - 0.5 σ2 ≈ 0)

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


60

Page 30
30
Quantités

Les quantités ne sont pas indivisibles …. Pour justifier d'un réajustement encore faut il que δq soit entier
(peut poser probl ème sur futures notamment … )
δq=1 ⇒

Conclusion : en raison des coûts et des quotités, il n'est pas possible d'ajuster en permanence:
Quelle conséquence sur le taux de croissance ?

la pondération optimale w* réalise le maximum du taux de croissance =>

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


61

Kelly en intraday ?

Faire du CRP en intraday est délicat en raison: Possible si


• les variations sont importantes: se placer immédiatement en
- des coûts de transaction contrarien (tjrs pour maintenir le ratio constant)
- courtage • si les coûts de transaction sont suffisamment faibles, la stratégie
- spread de Kelly (ou CRP) peut alors se coupler à une stratégie de tenue
de marché, car on connaît à l'avance les prix limites
- des quantités indivisibles d'intervention, ce qui aura pour effet de réduire l'impact des
frictions

Exemple simple de tenue de marché: Placer des ordres limites d'achat et vente à cours ± ∆
cette stratégie peut être bénéficiaire en elle même (tenue de marché), ce qui annule l'effet négatif des coûts de transaction

S∆i série des prix, obtenue en retirant toute |variation| < ∆


p+ = Proba (hausse S∆i) p- = Proba (baisse S∆i)
Vente
p-+ = Proba (hausse S∆i | S∆i-1 =baisse)
p+- = Proba(S∆i baisse | S∆i-1 = hausse) ∆
Proba(gain) = p = p-+ p- + p+- p+ Vente
p-=p+ =.5 et p -+=p+- =.7 => p=.7 ∆
Espérance=p (∆+2c) + (1-p) (-∆-2c)= ∆(2p-1) -2c,
c= cout de transaction Achat
En pratique on trouve E(∆) ≈ 0 ∀∆ ∆
exemples: Achat
future ∆= 10€, p=.7 c=2€ / share (IB)
E= ∆(2p-1) -2c = 10 (2*0.7-1)-2*0.02 = 0 Attention, à l'effet Mickey …. il faut tenir compte des priorités
action ∆= 0.1$, p=.7 c=0.02$ / share (IB) à l'exécution, il peut y avoir un forte anti-autocorrélation
E= ∆(2p-1) -2c = 0.1(2*0.7-1)-2*0.02 = 0 cas de spread trop large, (penny stocks, Eurotunnel, Eurodysney)
action ∆= 0.5%, p=.7 c=0.1% avec accumulation des ordres limites sur la fourchette donc
E= ∆(2p-1) -2c = 0.5(2*0.7-1)-2*0.1 = 0 bref … p=0.7 => ∆0 = 5c sans véritable opportunité
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
62

Page 31
31
Retour vers le future

Les mêmes principes de gestion du levier s'appliquent au


profil des P&L
Séries Trades/ncontrats
Soient Ri les profits (et pertes) absolus par contrat
les Ri sont issus:
- de l'historique des opérations, Stratégie Calcul du levier optimal
- ou d'une distribution espérée de trading analyse correlations, ...
- ou les deux ….

W richesse
Soient S le prix du contrat, M = multiplicateur Stratégie corrigée:
1 contrat ≡ investissement M S levier → nombre de contrats par opération
γ = aversion relative aux risques on/off

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


63

Kelly tout simplement …

Vince présente Kelly d'une manière simple:

soit TWR = valeur terminale du portefeuille après N périodes

Le levier se traduit directement terme de niveau de risque


sigma(levier) = levier * sigma, si bien que l'on peut représenter
la valeur terminale probable TWR en fonction du risque.
La performance n'est pas croissante avec le risque, mais atteint
un maximum correspond au levier optimal.

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


64

Page 32
32
Levier optimal, asymétries, valeurs extrêmes

Le levier optimal est très sensible aux plus fortes pertes


donc aux queues de distribution:

Le levier optimal est d'autant plus faible que:


- la distribution a une asymétrie négative
- la kurtosis est grande
Mn= moment d'ordre n
… ce qui est le cas de la plupart des actifs financiers !!!
=E(rn )

Cas d'une distribution, avec queue en loi puissance

Source: Thèse de Baviera

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


65

Estimation du levier optimal

Estimations indépendantes de µ et σ (voir après)

Estimation directes: résoudre

L'erreur d'estimation du levier est en 1/σ ⇒ estimation d'autant meilleure que l'actif est volatile !!!

Cas multivarié et cas général:

Les contraintes pouvant être arbitraires (vente à découvert ou pas, contraintes sur actif particulier, secteurs,
coût de transactions, …) : nécessite des programmes complexes d'optimisation dans le cas général

Monde gaussien avec contraintes


sinon, on pourra utiliser
une première
approximation, du monde
gaussien sans contraintes

Méthodes adaptatives et itératives: voir Portefeuilles Universels

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


66

Page 33
33
Kelly-Conclusion (provisoire ….)

m Stratégie optimale
F avec le meilleur taux de croissance (si iid)
F Le taux de croissance = taux de croissance certain équivalent (peut être comparé
au taux sans risque)
F minimise aussi la durée pour atteindre un objectif
F le risque de ruine n'existe pas … en principe
m Points critiques :
F Stratégie très active : maintenir un ratio constant a tout moment => tenir
compte des coûts de transaction.
F Risque importants en cas de dépassement du levier optimal, les drawdowns
peuvent être sévères …
F Positions pouvant être importantes => Kelly Fractionnel
F Suppose une modélisation correcte: nécessité une estimation correcte des
rendements et risques attendus. le plus délicat étant l'estimation des rendements
F mais …. Il existe aussi des méthodes "non paramétriques"

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


67

Kelly - Méthodes non paramétriques, adaptatives et universelles

Portefeuilles Universels (Thomas Cover - prof. Théorie de l'information - successeur de Shannon)


Méthodes non paramétrique, adaptative et optimale (universelle)

approche classique: Approche Non paramétrique, on-line et universelle


- Modélisation
- stratégie optimale | modèle -> G*(modèle) = µ/σ2 - non paramétrique : pas besoin de spécifier un modèle
"let's the data speak""
Inconvénients: - online: adaptation en fonction de nouvelles données
- problèmes d'estimations des paramètres (surtout µ)
- risque de modèle: - universel: convergence vers la stratégie optimale
mauvaise adéquation, a posteriori (Hindsight )
variation des paramètres dans le temps
L'algorithme de COVER garantit que le taux de croissance du portefeuille universel (UNI)
converge vers le taux de croissance optimal rétrospectif du meilleur portefeuille CRP (BCRP)

lim G (UNI)= G(BCRP) Méthode dite compétitive:


t→∝ convergence même dans le pire cas

Comme si on était capable de se projeter dans l'avenir et sélectionner un portefeuille qui aurait donné les meilleurs résultats
a posteriori !!! Avec des hypothèses minimales sur les distributions: la seule hypothèse est |E log(rendement) |<∞

Attention la convergence peut être longue (résultat asymptotique) ….


et comme toute méthode non paramétrique, nécessite un grand nombre de données …
la méthode est complexe et coûteuse en temps de caclul
Exemple d'algorithme universel: compression en gz, zip tend vers le taux maximal de compression ∀ fichier

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


68

Page 34
34
Propriétés remarquables du meilleur CRP et fondements

xt = performances relatives des actifs au temps t


Performance d'un CRP:
normalisation W0=1, w=pondération constante sur toute la durée

BCRP = meilleur portefeuille CRP au temps t Taux de croissance optimal

Théorème fondamental:
si les xt sont IID, la meilleure stratégie est une stratégie CRP, c'est celle qui maxime le taux de croissance = BCRP
la distribution des rendements peut être quelconque, multivariée, pas nécessairement lognornales, avec ou sans correlations, …
En pratique les rendements ne sont pas iid, mais suffisamment proches pour que ce théorème puisse s'appliquer avec succès
Ce théorème est d'autant plus pertinent que l'efficience des marchés s'accroît

BCRP bat le meilleur actif ….


le buy & hold dans un seul actif est aussi une stratégie CRP particulière

Tout portefeuille buy & hold (BAH) est moins performant que le meilleur actif:

BCRP fait mieux que la gestion indicielle


BCRP bat les indices classiques du type DJI ou CAC40 …
Et tous les portefeuilles BAH, en général …
On peut toujours générer de la performance absolue par une couverture BAH
adéquate en fonction des objectifs (dollar neutre, marché/bêtas neutre)

le portefeuille BCRP bat la moyenne géométrique (indice Value Line)


(en raison de la concavité du logarithme)
Note: concavité du logarithme ⇒ la performance de tout CRP est meilleur que la moyenne des performances
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
69

Portefeuilles Universels (suite)

Le temps de calcul du portefeuille universel


croit de manière exponentielle avec le nombre Algorithme YATS
d'actifs !!! Incalculable au delà de 9 actifs …

Mais il existe des méthodes approchées


linéaires avec le nombre d'actifs et historique

1 t
La convergence peut être longue …
1 10 100 1000 10000

0.1
ln(t)/t

0.01
ln(t)/t ~ 1% au bout de 2 ans
mais il s'agit du pire cas … 0.001

Quoiqu'il en soit, fournit des fondements théoriques importants pour justifier des méthodes non paramétriques et adaptatives
pourvu qu'elles vérifient certaines propriétés (universalité et compétitivité)
S'agissant de marché actions, il est difficile de prétendre à des modélisations précises, on doit accepter une large classes
de distribution et processus candidats : les hypothèses des ptf universels fournit un tel cadre …
ce faisant on ne peut donc espérer guère mieux que ces résultats … ce qui n'est pas si mal …
La pratique montre que ce type d'algorithmes donne des résultats bien meilleurs que la limite du pire cas.

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


70

Page 35
35
Portefeuilles universels (suite)

combinent deux phénomènes:


- contrarien à très court terme, par effet des réajustements
- momentum et suivi de tendance à moyen terme,
par apprentissage des pondérations

Avec des résultats spectaculaires en pratique


Le portefeuille universel est très proche
du meilleur portefeuille CRP rétrospectif
bat la meilleure valeur de l'indice !!!

Les meilleurs résultats sont obtenus Univers = actions du DJI (36 actions) sur 22 ans …
par la recherche du meilleur CRP avec différents coûts de transaction de 0 à 1.2%
en tentant compte de dépendances …
capital multiplié par plus de 100 000
résultats spectaculaires Exemple coût=0.2%

même en présence de coûts de transaction

capital x 1 million,
croissance du capital

avec coût de transaction à 0.15% !!! (*)

(*) On rouve actuellement des brokers avec coûts bien plus faibles,
mais tombesoità 0.02%
ex: 0.02$/share, capital
pour x
une100
actionsià 100$
coût à 1%

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


71

Exemple Kelly adaptatif (et universel)

Phase d'apprentissage

Mesures de performance: Sharpe, Sterling

Sterling= performance/maxDrawDown

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


72

Page 36
36
Kelly adaptative (suite)

Gain > x 1000

Krach de 87
le levier est très sensible aux fortes pertes
aura du mal a s'en remettre

Échelles logarithmiques !!!


Richesse finale = 737 506, soit ~ un facteur de l'ordre de 1000

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


73

^FCHI from:19900301 to:20031110


constant leverage (f) Terminal wealth return: W(T)/W0
asset (f*=1.0) 1 3425.19 1.87
2 3232.15 1.76
5 41.52 0.02
optimal F in Hindsight 0.92 3335.66 1.82
Adaptative 0.92 11888.23 6.49

^GDAXI from:19901126 to:20031110


constant leverage (f) Terminal wealth return: W(T)/W0
asset (f*=1.0) 1 3746.24 2.6
2 4683.13 3.24
5 100.55 0.07
optimal F in Hindsight 1.3 4332.21 3
Adaptative 1.3 23823.55 16.51

^SSMI from:19901109 to:20031110


constant leverage (f) Terminal wealth return: W(T)/W0
asset (f*=1.0) 1 5242.2 3.78
2 12377.27 8.92
5 9128.01 6.58
optimal F in Hindsight 2.8 17488.59 12.61
Adaptative 2.8 46167.76 33.28

^STOXX50E from:19911231 to:20031114


constant leverage (f) Terminal wealth return: W(T)/W0
asset (f*=1.0) 1 2656.94 2.66
2 4024.5 4.02
5 449.04 0.45
optimal F in Hindsight 1.73 3807.99 3.81
Adaptative 1.73 32526.78 32.53

A noter, la méthode adaptative fait mieux que le meilleure CRP a posteriori !!!

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


74

Page 37
37
^DJI from:19800102 to:20031110
constant leverage (f) Terminal wealth return: W(T)/W0 Pas trop mal
asset (f*=1.0) 1 9756.53 11.83 malgré un Krach
2 54780.81 66.43
5 -119420.7 -144.82 comme celui
optimal F in Hindsight 2.78 118110.9 143.23 de 87
Adaptative 2.78 737506.85 894.38

^IXIC from:19841011 to:20031110


constant leverage (f) Terminal wealth return: W(T)/W0
asset (f*=1.0) 1 1941.64 7.93
2 5600.85 22.89
5 232.77 0.95
optimal F in Hindsight 2.03 5682.84 23.22
Adaptative 2.03 10296.69 42.08

^GSPC from:19821020 to:20031111


constant leverage (f) Terminal wealth return: W(T)/W0
asset (f*=1.0) 1 1046.57 7.52
2 4143.77 29.76
5 -737.56 -5.3
optimal F in Hindsight 2.79 7525.45 54.05
Adaptative 2.79 42632.57 306.2

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


75

Historique

Le critère de Kelly a été utilisé par Ed. Thorp (Élève de


Shannon), hedge fund (Princeton Newport Partners)
arbitrages long-short, Sharpe=3 ….

Utilisé couramment par les traders sur Futures et hedge


Fund
Défaillance LTCM : pari/levier > levier optimal de Kelly

Pour le fun …sur la base de ces théories, Thorp et Shannon créent le premier ordinateur "prêt
à porter" (habillable) en 1966 pour battre le casino !!! autre aventure dans le même style:
Eudaemonic Enterprise Doyne Farmer, Norman Packard, mathématiciens spécialisé en théorie
du chaos. réalisent un ordinateur à pied ! Pour exploiter les biais de la roulette au casino …
puis ils créent la société "Prediction" pour développer des modèles de prédiction sur les
marchés financiers (contrats avec UBS)

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


76

Page 38
38
Estimations

m Généralités:
F Les méthodes d'estimation des paramètres:
Ä Méthodes fréquentielles (maximum de vraisemblance, méthode des moments, etc … )
: requière souvent des hypothèses d'indépendances pas toujours conformes à la
réalité.
Ä Méthodes bayesiennes, plus adaptées sans doute aux environnements de trading on
line
Ä Méthodes non paramétriques (Noyau, KNN, ..): évite à modéliser, nécessitent un
grand nombre de données.
F qualité d'estimation et intervalles de confiance

m Exemples:
F rendements, drift (µ)
F volatilité
F maximum, minimum, temps de passage, ….

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


77

Estimation de la tendance

Finalement, pour appliquer Kelly, dans un modèle paramétrique en f=µ /σ2


il faut estimer deux paramètres essentiels: µ et σ
le plus délicat est l'estimation de µ …

Estimation à partir des rendements historiques: le meilleur estimateur est la moyenne:


r = (∑ ri)/n
avec ri = ln(Si /S i-1 )
se réduisant à r = ln(Sn /Sà) /n
les valeurs intermédiaires ne servent pas !!! Vous avez dit
On a interet à choisir la période la plus longue possible. tendance ?

Pour un actif ~ lognormal (5%,20%)


intervalle de confiance an à 95% ~ 5% ± 1.64*20% !!!
N'est pertinent que lorsque r devirent ~ σ,
c'est à dire au bout de T tq Tr ~ T½ σ, ie. T ~ σ2/r 2 =0.22/0.05 2 = 8 ans

nota: temps caractéristique = 1/sharpe2


Si Sharpe annuel = 2, on pourra juger de la pertinence du rendement au bout de 3 mois de tracking seulement !!!

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


78

Page 39
39
Estimations de la volatilité

L'estimation de la volatilité est essentielle: gestion du risque, pricing dérivés, leviers, …

Estimation à partir des cours de clôture (ou last)


Riskmetrics (JP Morgan)

µ=0.94 soit temps caractéristique de 16 jours ouvrés, soit 3 semaines environ


≈ GARCH(1,1)

Les estimateurs utilisant les plus haut / plus bas sont Méthodes utilisant les extremums:
beaucoup plus efficaces (x10) et réactifs Rogers Satchell, Parkinson, Garman Klass, True Range
Maximum de vraisemblance de la distribution des +haut
La mesure du range (plus haut - plus bas) est parmi les et +bas
meilleurs estimateurs de volatilité

Estimateur utilisant tous les ticks:

Zhou
et variantes …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


79

Estimations de la volatilité (suite)

Pourquoi utiliser les plus haut et plus bas ?

- utilise toutes les données disponibles

- les extremum sont des mesures agrégées sur toute une période:
les open/close ne sont que photos à des moments précis

- permet d'effecteur des mesure plus précises, robustes et réactives (meilleur résultat avec moins d'historique)

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


80

Page 40
40
Estimateur de volatilité par maximum de vraisemblance avec Open/Close/High/Low

Source: Malik Magdon-Ismail, Amir F. Atiya


Volatility Estimation Using High, Low, and Close Data
(Algorithmes implémentés dans YATS)

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


81

Distributions plus haut, plus bas, temps de passage, etc ...

m Intérêts des distributions des plus haut, plus bas, temps de passage, …
F les statistiques basée sur les valeurs absolues,, les plus hauts et plus bas, … sont
plus robustes (cf estimation volatilité)
F renseignements pour le placement des ordres de sortie (stop, limites, …)
F base d'un style de trading (bracket trading)

m Quelques questions classiques:


F des temps de passage pour atteindre un objectif donné.
F temps de sortie d'une double barrière
F timing des plus haut / plus bas

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


82

Page 41
41
Temps de passage

temps pour atteindre un niveau donné x:

Brownien sans drift : en application du principe de réflexion

densité du temps de passage

Mais le temps le plus fréquent


ne dépend que de la volatilité et la barrière

Exemple: un stop à -3% avec une volatilité de 32% (0.02/jour) temps typique = 0.032/3* 0.022= 0.75 d ’une journée de
trading, soit 6 heures … Trailing stop à temps constant T est proportionnel à σ : TrailingStop ≈ 1.73 T σ

Le temps typique de passage peut être vu comme l ’horizon optimal d ’investissement étant donné un objectif

Le temps de passage d'une diffusion "anormale"


la densité est en H=0.5 pour une diffusion normale, on retrouve bien une densité en t -3/2
H<0.5 => temps de passage > normal , H>0.5 => temps de passage < normal
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
83

distribution des plus bas, plus haut

P(low-open < -L) ≈ 2P(close-open < -L) E[ (high-low) / open] = 2 E[ |close-open|/open ]

Cas d'un un actif sans drift (µ=0)

Densité de la valeur absolue

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


84

Page 42
42
La loi Arcsinus

Src : Timing thehighs and lows of theday , Emmanuel Acar, Pierre Lequeux and Stephane Ritz, Banque Nationale de ParisPlc

La loi arcsinus : le timing du plus haut et du plus


bas sur un intervalle de temps T est régi par la loi :

Contrairement à l'intuition, il y a plus de chance que le plus haut ou plus bas se produise en début
ou fin de période (jour, semaine, mois ….).
Les plus haut et plus bas se trouveront le plus souvent aux extrêmes : 30% dans le 2 déciles
extrêmes
c'est a dire les premiers ou derniers 3/4 d'heures d'un jour de trading,
le premier jour ou dernier jour sur deux semaine de trading, etc ...
à droite ou a gauche et à l'opposé l'un de l'autre.

En pratique les PH et PB se produisent bien avant ou bien après que la loi de l'arcsinus le prédit.
L'extremum se produit dans la premiere heure dans 30% des cas
ou la denrière heure dans 20% des cas …

conséquences: breakout de la première heure et mean reversion en milieu de journée ?

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


85

Double barrière

m Dualité temps / rendement:


F au lieu d'examiner les rendements à des intervalles de temps réguliers,
F on intéresse à la durée nécessaire pour atteindre un rendement fixé à l'avance ou
sortir d'une barrière,
m Utile pour définir des stratégies de trading:
F placement des ordres limites , ordres stop, …
avec horizon de temps
F bracket trading: estimation des profits exit et stop loss

H
distribution de la durée pour atteindre et
dépasser H ou L la première fois ?
Référence=0
Probabilité(H soit atteint avant L) ?

L Distribution de la durée de sortie de la


barrière ?
T0
Problèmes classiques
options exotiques (barrière, lookback, …)

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


86

Page 43
43
Temps de sortie d'une double barrière

Espérance du temps de sortie d'une double barrière x1<0 , x2>0 x2


(σ=1)

Avec p = probabilité de sortie par le haut (x2)


x1
T=0

Dans le cas µ=0

Dans le cas µ≠0 l'espérance et surtout la variance


du temps de sortie dépendent peu du drift (second ordre)

Encore une façon pour estimer une volatilité:


mesurer les durées dans un tunnel Pas si évident ….
En pratique
offre l'avantage de fonctionner avec des
séries irrégulièrement espacées (intraday)
peut être considéré comme une mesure du temps de trading
certains auteurs parlent de temps intrinsèque
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
87

Temps de sortie

CAC40 Future
Temps de sortie d'une double barriere ∆=5pts
n 52321, mean 300s, std dev 528s, skewness 5,767
kurtosis 61,77 median 128 auto-correlation 0,3 E(τ) = 300s
temps typique = 2 minutes pour franchir 5 pts à la hausse
ou la baisse

<τ> ~ |∆|α
avec α de l'ordre de 1.5 à 1.8
(1.5 plutôt en période agitée)
< 2 (cas gaussien)
tendance à sortir plus rapidement que la diffusion
normale à comparer à |r| ~ tH ou t ~ |r| 1/H
α=1/H < 2 => H > ½ => persistence

time = 8.70 delta 1.76


régression: ln(time)=2.16 + 1.76*ln(barrier) R2=1.00

CAC40 sur 2003

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


88

Page 44
44
Automatique vs Manuel

m Automatique:
F l'automatisation de stratégies nécessite une approche rigoureuse, dans toutes
les phases: modélisation, backtests, opérations, … ne laisse pas de place au
hasard ..
F réduction des erreurs de trading
F nécessairement "simpliste", pour des raisons de:
Ä difficultés de calibrage, stabilité, robustesse vs paramètres
Ä de la complexité opérationnelle et de développement: gestion multi actifs, mutli
quantité, exécution partielle, incohérences des états,
Ä risques de bugs ou spécifications incomplètes, il n'est pas possible de prendre en
compte tous les évènements possibles (exit all dès le moindre avènement inattendu)
F un travail long et complexe à mettre au point …
m Manuel:
F Prise en compte d'une multitude de paramètres issues de l'expérience,
approche plus "intuitive",
F pas souvent "formalisable": il n'est pas toujours possible, ni souhaitable de
chercher à automatiser des méthodes manuelles
F peut réagir à toute situation.
m Semi automatique:
F marche:arrêt, surveillance des automatismes par un opérateur ...
F une approche plus sûre

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


89

Trading vs Études Statistiques

m Objectifs différents :
F le trader est surtout intéressé par les prédictions et la dynamique, En trading
on est surtout intéressé par les dépendances
F statisticien modélise pour décrire, éventuellement expliquer, il s'intéresse
surtout aux aspects statiques, En analyse, on fait tout pour retirer les
dépendances, la plupart des analyses statistiques s'effectuent avec des variables
aléatoires "Indépendantes et Identiquement Distribuées"

m Des méthodes différentes :


F Les méthodes statiques fréquentielles en analyses statiques (ex: Maximum de
Vraisemblance), Études statiques portant sur un grand nombre de données …
Les probabilités objectives existent, …
F vs les méthodes Bayesiennes en dynamique:
Ä Posterior = Prior * Vraisemblance
Ä Ne soufre pas du pb d'échantillon de faible taille
Ä Mise à jour en fonction de nouvelles données
Ä plus adaptées dans le cas d'estimation on-line et trading temps réel.

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


90

Page 45
45
Utilisation d'indicateurs

m Indicateurs, mis à jour au fur et à mesure de l'arrivée des données, sensés


donner des indications sur l'état du marché:
F Moyennes mobiles, momentum
F RSI(Relative Strength Index)
F Bandes de Bollinger
F CCI (Commoditiy Channel Breakout)
F etc, ….
m En réalité la plupart des indicateurs sont redondants, privilégier les
indicateurs simples, et significatifs, si possible robustes,
F du type range, valeur absolue
F discrétisation (du type p(+|+-+)=0.68),
Ä simplifie, les procédures de tests tout en enrichissant les modèles
Ä simplifie les analyses numériques, permet un traitement sous la forme de Chaîne de
Markov,
Ä réduit les degrés de liberté.

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


91

Backtests et Data Snooping

Risque de Data Snooping: Trouver des stratégies qui ne sont que des artefacts dans les données.

Essayer de très nombreux systèmes avec de très nombreux paramètres,


éventuellement optimiser ces paramètres
ne sélectionner que les meilleurs, sans savoir pourquoi ils fonctionnent
=> forte probabilité pour ne sélectionner que des Snoopy:
c'est à dire des systèmes qui fonctionnent à merveille sur le passé et vont se révéler catastrophiques en réel.

DATA SNOOPING dans une marche aléatoire:


Prenons le cas d'une marche aléatoire, avec un certain nombre de data générée, représentant un historique de marché
dans ce cas E[gain de tout système] est <0 = coût de transaction
on réalise des backtests de 900 trades de quoi donner confiance au trader, confiance illusoire …
Essayons plusieurs milliers de systèmes …
disons 10 000 (il suffit de tester un système avec 4 paramètres pouvant prendre 10 valeurs différentes)
avec des performances additives: perf globale =∑ perf trades
la performance globale est une v.a. (gaussienne, le théorème de la limite centrale)
de moyenne nulle et variance(perf globale)=n variance(trade) (1+2ρ)
supposons σ(trade)=1500, et autocorrélation ρ=0.3> 0, car on utilise des stop loss.
variance(900 trades) = 56921 au lieu de 45000 si pas d'AC (l'AC > 0 des trades entraîne un risque plus élevé)
les 10 meilleurs systèmes sur 10 000 essayés correspondent au quantile 10/10000 de la gaussienne N(0, 45000)
soit une espérance de gain de 195 par trade pour le plus mauvais des 10 meilleurs !!! Avec une bonne t-stat=3.9
Si on a affaire à des queues plus épaisses, l'illusion sera encore plus aveuglante ….

Comment éviter le data snooping ?


- modélisation + explication des anomalies

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


92

Page 46
46
Trading et modélisation

Modélisation = simplification du réel

Exemple de modèles:
mean reversion (series AR(1), ARIMA, avec coefficient de rappel)
Pairs trading, co intégration,
Chaînes de Markov,

recherche de solutions analytiques ou par simulation de Monte Carlo


Fit: Data réelle = Modèle + ε0

Simulations: Data Synthétiques = Modèle + ε1 , avec ε 1 ≡ ε0


A la différence essentielle que l'on peut générer autant de données que nécessaire pour
"résoudre" le système, trouver les paramètres optimaux, le maximum de la fonction
objectif (exemple utilité horaire), sans soupçon de data snooping ou suroptimisation.

On reporte le risque de data snooping sur le risque de modèle: Inadéquation du modèle,


Mauvais usage du modèle, Approximations grossières, Bugs dans le développement,
Données instables, …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


93

backtesting

m Définir le système de trading: traduire l'idée en modèle, puis en règles


F claires et non ambiguës, pouvant donner lieu a programmation
F cohérentes
F complètes: prévoir tous les cas
m Définir sa fonction d'utilité
m Se placer dans des conditions les plus fidèles (cas du simulateur
YATS/RAPT)
F Prise en compte des coûts de transaction
F de la fourchette bid/ask, ou sinon du slippage (ersatz de spread lorsqu'on ne
dispose pas de tous les ticks)
F délais de transmission des ordres et des priorités à l'exécution, …
m Tester et backtester sur les données du marché ou par simulation de monte
carlo.
m Optimisations, avec prudence sur les données réelles, sans modération sur
les modèles.
m études de sensibilité
F aux valeurs des paramètres
F à des étalons : au système de trading idéal et parfait, au système aléatoire

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


94

Page 47
47
Critères de performance et contraintes

On doit choisir une fonction d'utilité à optimiser parmi:

- la fonction d'utilité classique : isoélactique (logarithme, puissance), …

- une utilité terminale ou utilité par unité de temps


exemple: on pourra chercher à optimiser l'utilité/jour
en principe, l'utilité/jour devrait donner une idée du revenu certain équivalent (à comparer à un salaire, par exemple)

- le ratio de Sharpe : rendement/volatilité

- le ratio de Sterling : rendement/maxDrawDown

- une pénalisation des performances (pessimistic ratio de Pardo)

- minimiser la VaR

Ajouter à cela des contraintes


Sur la fonction objectif: exemple: rejet de toute solution dont
- le maxDrawDown serait > 10%
- le nombre de trades serait jugé insuffisant (pour des raisons de signification statistiques, …)
- etc …
Sur les paramètres du système:
marge ? la somme des pondérations libre ou contraintes = 1 ou =X avec X = levier uatorisé
vente à découvert ? (pondération<0?)
maximum/minimum sur certaine actifs, classes d'actifs,
contraintes sur les paramètres des indicateurs techniques, …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


95

Exemple

Exemple: système de retour à la moyenne le plus simple possible:

µ= moyenneMobile (1h)
σ =volatilité(1h) EXIT RULE // retour à la moyenne
SI
position=achat et last < µ
ENTRY RULE ou
position=achat et prix > µ
ACHAT si last - µ > 2σ ou
profitAndLoss > stopLoss
VENTE si last - µ < 2σ ou
dureePosition > stopTime

Nota: on peut faire exactement l'inverse pour un système de breakout

On a déjà défini 4 paramètres : longueur moyenne mobile, seuil de volatilité, valeur du stopLoss et exitTime,
on peut y ajouter : la tranche horaire, etc …

chacun pouvant prendre 10 valeurs au moins, le nombre de cas à tester croit de manière exponentielle avec le nombre de
paramètres ….

Donc de fortes chances pour trouver un système de mean reversion qui va fonctionner sur les données disponibles

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


96

Page 48
48
Optimisations

Les fonctions (avec contraintes) à optimiser n'ont pas souvent les belles propriétés
que l'on trouve dans le livres:
ne sont pas toujours continues (a fortiori ni différentiables),
les solutions peuvent être entières (quantités)

YATS inclut des méthodes d'optimisation globales permettant de trouver des optimums Maximum global
de fonctions objectifs à plusieurs variables (paramètres) et sous contraintes arbitraires
Méthodes utilisées =
recuit simulé Optimum locaux
combiné avec des optimisations locales (BFGS, Hooke, … )

(ces mêmes méthodes sont utilisés dans les estimateurs de maximum de vraisemblance)

- directement sur les prix du marché pour tester et optimiser des stratégies avec un risque important de sur-optimisation
- sur des données synthétiques issus d'un modèle pour trouver la stratégie optimale du modèle.

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


97

Stop Loss

Le Stop Loss est une pratique courante pour limiter les pertes

Exemple: position sur CAC40 Future, stop loss à -10pts de


perte Stop loss
=> permet de s'assurer que la perte ne dépassera jamais 10pts
….
Stop loss
Oui mais … si on continue et sans traitement complémentaire,
le résultat sera le même
Stop loss
Si une stratégie est mauvaise, elle restera mauvaise, même
avec stop loss.

En général, le stop loss fait apparaître des autocorrélations


positives.

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


98

Page 49
49
Auto corrélation des trades

En général la série des trades d'un système de trading présente de fortes auto corrélations positives (mauvaise
modélisation, …). Tout n'est pas perdu: on peut appliquer un système "anti autocorrélation"

exemple: Win=20, Loss=-20 Cost=4 probabilité(win)=0.5


Système brut : perte -1080 : Avec traitement Anti AC: gain de 544 !!!

Système ultra simpliste: si AC >0, alors les proba(perte|perte)>0.5,


il suffit alors d'arrêter après une perte, et reprendre après le premier gain ...

perte constatée
arrêt trading réel,
passage en mode virtuel
gain virtuel:
reprise du trading réel

Après traitement, il n'y a plus d'autocorrélation évidente

Utilisation possible d'algorithmes plus sophistiqués de prédiction on line …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


99

Exemples de patterns prédictibles

Après le pattern "caacaac", on peut vendre le SMI, en plaçant un profitExit et stop loss +/- 4 pts,
la probabilité du modèle étant (0.72) > à la probabilité critique (0.68) avec une espérance
de gain de 3.48 € par contrat et par trade (aller retour)

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


100

Page 50
50
Pairs Trading

Stratégies Long/Short pour réduire les risques, rechercher la performance absolue:

Soient wi = pondérations dans l'actif i


w0= ponderation actif sans risque

long/short dollar neutre : montant investi en long = montant en short Σ wi = 0, i≥1


long/short marché neutre:
exemple: r1=α + βr2 + ε
le portefeuille vérifiant w2 = -β w1 sera ~ neutre aux variations de
si β ≈ 0, à la fois dollar et beta neutre

co intégration / pairs trading


recherche de retour à la moyenne dans les ratios des prix x1/x2
y=ln(x1)-ln(x2)
régression: y(t)=µ+ρ y(t-1)+ε
ρ = 1 marche aléatoire
ρ < 1 y(t) est stationnaire et y(t) prévisible mais σ 2 (y) = σε 2/(1-ρ2) peut être très grand si ρ proche de 1
test statistique de racine unitaire (Dickey Fuller): H0: ρ = 1
co integration != corrélation :
penser à un homme ivre qui se promène avec son chien en laisse
ils vont nulle part … mais ils y vont ensemble …

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


101

Trading de spread sur futures indices en intraday

Exemple de pairs trading sur future:

vente
vente
Le spread est stationnaire
on peut donc mettre en œuvre
une stratégie de retour à la
moyenne du spread: exemple
achat si spread < µ +2σ
vente si spread > µ +2σ
µ=moyenne mobile

achat

?S n= 43,801 - 0,055 Sn-1 + e


avec Si =spread = CAC40(i*10seconds) -ESTX50(i*10seconds) et ? Si=Si-S i-1 Dans tous les cas une position long/short
Augmented Dickey Fuller Test t-stat: -10,532 => semble préférable sur futures
LE SPREAD EST STATIONAIRE (Dickey Fuller pvalue: 0,01) ne serait ce que pour rendre ces instruments moins risqués
limiter les risques opérationnels (pannes, krach, …)
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
102

Page 51
51
Trading de spread sur futures indices en intraday (suite)

Mais pas si évident, en raison du véritable couts : la fourchette

Le spread peut aussi être un


indicateur pour négocier un seul
instrument en utilisant des
Prix achat du spread relations d'équilibre
se placer en cas de rupture
d'équilibre
exemple achat du CAC40

Les instruments le plus liquides


sont en avance sur les moins
liquides … (causalité Granger)
Prix vente du spread
exemple:
?CAC40 t= 0,007
+ 0,487 ?ESTX50 t
+ 0,195 ?ESTX50 t-10s+ e
en clair: les variations du
CAC40 à t dépendent aussi des
variations du E50 à t-10s

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


103

Programmation dynamique et apprentissage

Les systèmes de simulation/backtests sont myopes … États: rendements des actifs, indicateurs,
une opération (achat/vente) commence par une perte position courante du ptf
nette: coûts de transaction, spread, …
la récompense éventuelle n'intervient que plus tard … Système Reward Marché
pb classiques des jeux (échecs, backgammon, …) de trading -± coûts de transaction immédiats +
P&L trades avec retard
Portefeuille
A quel moment est il intéressant de prendre une position
puis sortir pour en prendre une autre, en fonction des
états, gains espérés et incertitudes (risques) Actions: Vente, Achat

Modèle Continu de Merton


avec consommation/épargne
optimisation conjointe
Modèle discret et mis sous la forme d'un processus de
du flux des revenus C décision de Markov
et du capital W qui procure ces revenus …
π = politique = fonction Etats → Actions
Solution : programmation dynamique ou apprentissage
U (C) = salaire équivalent du trader trouver les actions optimales en fonction de l'état
ρ = taux d'actualisation des revenus futurs
pas nécessairement le taux sans risque,
Il existe des algorithmes qui garantissent une
permet de définir une fen être mobile ≈ moyenne mobile pondérée convergence vers la solution unique (Q-learning,
SARSA, TD-learning,...)

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


104

Page 52
52
Programmation dynamique et apprentissage (suite)

Parmi les problèmes les plus complexes:

- explosion combinatoire,
- risque d'overfitting (si appliqué directement aux data)

- solution analytique, si modèles analytiques simples ou le plus souvent par simulation


exemple solution analytique dans le cas de process lognormaux (Merton), avec mean reversion (Ornstein-
Uhlenbeck, AR), avec coût de transaction
(le modèles les plus simples se traduisent par des équations puissante mais horriblement complexes)

- extractions de modèles non paramétriques (exemple chaîne de Markov) et solution par des techniques
d'apprentissage

- devient rapidement inextricable …

=> application réaliste dans des cas relativement simples:


trading sur un seul instrument (1 devise, 1 future, …),

Sujets d'etude /stage: trading sur futures indices par apprentissage automatique

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


105

Architecture

Plateforme de trading

Excel

DCOM bridge
DDE link

Socket
port 7496 IB Trader Work Station
Standalone configuration
Slect socket Port = default is 7496

Enable socket clients checkbox


Internet
other quotes, news
feed server
FIXML engine server
IB FIX/XML server

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


106

Page 53
53
Gestion des données haute fréquence

La plupart des outils statistiques ne sont adaptés


qu'aux données régulièrement espacées dans le
temps
=> régularisation des données haute fréquence:
méthodes:
précédent,
interpolation linéaire,
spline cubique …

en temps réel … T0 +1 +2 +3 +4 +5 +6 +7
=> performance et stockage
(surtout en mode simulation et backtests)

Le temps d'accès disque demeure le principal goulet d'étranglement (assez peu de progrès vs CPU)

Les bases de données SQL sont mal adaptées à la gestion des données haute fréquence
pb de performance et encombrement (produits intéressant : KDB)

Utiliser plutôt des structures de fichiers « plats » optimisées pour des accès rapides par instrument
et en cross section (à une date donnée)

autres problèmes: gestion des mauvais ticks, gestion des interruptions, duplications, suspensions, …

La gestion des données est très lourde …


représente plus de 50% du temps consacré à l'élaboration et opération d'un système

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


107

FIX / XML et ISO15022

http://www.fixprotocol.org
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
108

Page 54
54
MVC architecture

Data Model
Data Model
instruments
instruments
quotes
quotes
on going orders
on going orders
Query state account information
account information State change

Notify change

View== Controller
Controller
View Trading (& user)
TradingAlgorithms
Trading Algorithms actions - -maps
mapsuser
useractions
actionstoto
model updates
++(User
(Userinterface)
interface) model updates
- -monitor
monitorexternal
externalevents
events
(price,orders,
(price, orders,etc
etc…)
…)
quotes,buy/sell
quotes, buy/sellbuttons
buttons
charts,etc
etc…… View selection
charts,

user
External events orders,
ticks, order status request market data
account information,
IB TWS API etc ...

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


109

Plateform Scheduler

Trading manager USER INETRFACE

Manual or tables
Automated trading
charts
Read /schedule
and timely dispatch events
Buy/sell/cancel
requests
Event
queue

Order status

Posting events
Quotes manager
Broker manager
Actual or simulated
Simulated
quotes
Live quotes feed Historical
quotes

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


110

Page 55
55
Order State Diagram

On decision:
timeout, etc...
Placed Cancel Placed

onStatus = filled onStatus = cancelled

Filled Cancelled

Notes:
Transitions from “Placed” to “Cancelled” may be due to the market, or
portfolio constraints (margin, etc …)
Transition from Placed to cancel placed may be due to decisions to cancel
the order, but a filled status may arrive while cancel is sent
In conclusion: states should be based on recieved order status.

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


111

Exemple de Diagramme d'état d'un automate de trading

stopped
evalEntry timeout
Entry placed Entry cancel placed
ready
Status=filled
Status=filled
Entry filled
Entry cancelled

Exit cancel
Exit placed
placed

Status=filled
Stop loss
Exit filled
Exit cancelled
Stop loss
init

Stop loss Stop loss cancel


placed timeout placed

Stop loss
filled
Redo cancel Stop loss
Some principles: cancelled
- wait for cancel confirmation before entering a new order
- set to stopped on any error or unexpected state / event

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


112

Page 56
56
Évènements

package com.yats.trading.event;
import java.util.*;
/**
* Trading listener.
* can be registered within the Manager, via standard java method
* manager.addListener. Architecture push:
* <p>all "callbacks" method names start with "on" : onTick, onOrderStatus, on ne maîtrise pas l'arrivée des évènements
* ....
* @author <a href=mailto:dherlemont@yats.com>Daniel Herlemont</a>
*/
public interface TradingListener extends EventListener, TickListener,
com.yats.trading.TradingConstants {

public void onMarketDepth(MarketDepthEvent te);


public void onOrderStatus(OrderStatusEvent te); il faut réagir
public void onConnectionClosed(TradingEvent te); à différents évènements
public void onConnectionOpened(TradingEvent te); éventuellement asynchrones:
public void onError(ErrorEvent te); tick data
public void onOpenOrder(OpenOrderEvent te); status des ordres
public void onUpdateAccountTime(UpdateAccountTimeEvent te);
informations (compte, positions, ..)
public void onUpdateAccountValue(UpdateAccountValueEvent te);
public void onUpdatePortfolio(UpdatePortfolioEvent te); connections
public void onTradingAction(TradingActionEvent te); ….

}
S'oppose à la programmation procédurale: on ne peut pas écrire un seul programme linéaire
il faut écire es bouts de procédures qui vont partager des mêmes données, avec tous les pbs
de synchronisation afférents l'environnement est thread safe (cad que l'on peut programmer
comme si il n'y avait qu'un seul processus (thread) actif

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


113

Programmation

/*
* Copyright 2001 YATS, All rights reserved. public class MeanReversionTS extends InstrumentEESTS {
* Use is subject to license terms.
*/ static Logger logger=Logger.getLogger(MeanReversionTS.class.getName());

package com.yats.trading.studio.daniel; TimeSeries maximum;


TimeSeries minimum;
import java.util.logging.*; TrailingStopOrderExecutor trailingStop;
import java.beans.*;
int bars=15;
import com.yats.trading.*; double profitExitPts=4;
import com.yats.math.*; double stopLossPts=4;
import com.yats.trading.event.*;
import com.yats.trading.studio.*; public void init() {
import com.yats.trading.indicator.*; super.init();
import com.yats.commons.util.*; bars=getProperties().getInteger("bars",bars);
profitExitPts=getProperties().getDouble("profitExitPts",profitExitPts);
/** stopLossPts=getProperties().getDouble("stopLossPts",stopLossPts);
* A simple mean reversion system.
* <p>settings: maximum=TickIndicators.chainByListener(Functions.maximum(bars),
* <li>Max = maximum on b bars. getLastsLiveTimeSeries());
* <li>Min = minimum on b bars.
* <p>entries: minimum=TickIndicators.chainByListener(Functions.minimum(bars),
* <li>Sell if price hits the Max getLastsLiveTimeSeries());
* <li>Buy if price hits the Min
* <p>exits: }
* trailing stop at Max-Min
* @author <a href=mailto:dherlemont@yats.com>Daniel Herlemont</a>
*/

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


114

Page 57
57
Programmation (suite)

protected void evalEntry(TradingEvent event) {

double max=maximum.getLastValue(); void placeExit() {


double min=minimum.getLastValue(); boolean isBuy=entryOrderExecutor.isBuy();
if (getLast()>=max) { if (isBuy)
entryOrderExecutor.sellAtLimit(getAsk()); // exitOrderExecutor.sellAtBid();
// entryOrderExecutor.sellAtBid(); exitOrderExecutor.sellAtLimit(getAsk());
} else
if (getLast()<=min) { // exitOrderExecutor.buyAtAsk();
entryOrderExecutor.buyAtLimit(getBid()); exitOrderExecutor.buyAtLimit(getBid());
// entryOrderExecutor.buyAtAsk(); }
}

protected void evalExit(TradingEvent event) {


double plPts=getProfitAndLossPoints();
if (plPts>=profitExitPts || plPts<-stopLossPts) {
placeExit();
}
}

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


115

Librairies YATS

- Time séries (estimation ARMA, générateur, …)


- Calcul stochastique
- Options classiques et exotiques (barriere, lookback)
- Gestion de risque,
estimation des queues de distribution (Pareto Generalisé,
valeurs extrêmes, …)
VaR
fonctions d'utilité
- gestion de portefeuille CRP, critères de Kelly,
- portefeuilles universels
- estimation de la volatilité et co dépendance en utilisant les
plus haut plus bas, par maximum de
vraisemblance
- ondelettes Analyse technique/statistiques de systèmes de trading:
- estimation Hurst (R/S, Variance ratio, …) moyenne mobiles, RSI, MACD, volatilité, range, …
- filtre de Kalman et moins classiques
- chaine de markov à longueur variable environnement de backtesting
- interfaces avec logiciel d'apprentissage automatique (Weka) optimisations de stratégies
et non linéaires (KNN, densité non paramétrique à noyau) ….
- algorithmes de prédictions universelles - Réutilisations de stratégies, avec paramètres
- régressions linéaire, ANOVA, - programmation en javascript,
- co intégration : test Dickey Fuller, régression VAR/VECM
- tests statistiques (normalité, BDS, …)
- optimisations locales: BFGS, Hooke et globales: recuit simulé,
- calcul matriciel
- programmation fonctionnelle
Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com
116

Page 58
58
Quelques Références

Source commenté
index.html Application WEB http://localhost/trading/rapt/study/

Copyright 2003, Daniel HERLEMONT, tous droits réservés http://www.yats.com


117

Page 59
59