Documente Academic
Documente Profesional
Documente Cultură
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"
Page 1
1
Biais comportementaux
Faits "stylisés"
"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)
Clustering de volatilité les périodes calmes alternent avec des périodes de grande activité
Corrélation volume / volatilité: une augmentation du volume correspond, en général, à une augmentation
de l'intensité (fréquence) de trading
Page 2
2
Importance de l'asymétrie
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
Page 3
3
Styles
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
Momentum vs Contrarien ?
Page 4
4
m But : limiter les risques
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), …
VaR
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 …
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é,
…)
= Distribution leptokurtique
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 !!!
Lecture verticale
La divergence est d'autant plus marquée que l'intervalle de temps est court
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=
L ’approximation normale
semble correcte pour 1-alpha < 95%
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(99%,2h) ~ 40 VaR(99%,2h) ~ 80
Page 10
10
Exposant de queue de distribution
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
pour une estimation plus précise de la VaR, on pourra utiliser les lois de Pareto Généralisées
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
On peut aussi estimer l'espérance de la perte en cas de dépassement de la VaR (Expected Shortfall)
Page 12
12
GPD fit
Excellent fit …
Normal
Pareto
Historique
Cornish Fisher
Page 13
13
Estimation du seuil pour Pareto Généralisé
ξ ~ 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
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+
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
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 %
Sigma(t)
H = 1/2 Gaussien
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 ….
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
Kurtosis
K(t) ~ K1/t1/2
Interprétation classique: l'épaisseur de la queue est aussi une signature d'inefficience due à la présence de
spéculateurs
ref: " empirical porperties of asset returns: stylized facts and statistical issues", Rama Cont.
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
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)
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.
Gestion du levier
m Soient
F S un actif risqué
F W un portefeuille
F f la fraction investie dans S
Page 18
18
Kelly
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
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
Page 20
20
Kelly - Application modèle binomial et Futures (suite)
Page 21
21
Sensibilité
60 levier
10
p succès
0
0.5 0.55 0.6 0.65 0.7
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, …
Désir et réalité
Performance
=>
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
Page 22
22
Exemple levier optimal - marché action
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 !!!
En revanche : utiliser un levier prudent = levierOptimal/2, entraine un manque a gagner de 25% seulement.
Exemples
Un levier constant
amplifie les hausses
… et les baisses
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
Page 23
23
Exemples (suite)
NASDAQ
S&P 500
Utilisation d'un levier constant ~ 2
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 …
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)
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*
Page 25
25
Allocation optimale inter-temporelle en temps continu
Page 26
26
DJI
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>
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é …
Page 27
27
Levier et Sharpe
pour être considéré comme une bonne stratégie, le Sharpe annuel doit être > 2
Drawdowns
Loi universelle: les queues de distribution des drawdowns suivent une loi puissance
Avec Γ solution de
Cas gaussien
Page 28
28
Kelly et les drawdowns
Justifie, encore une fois, l'intérêt d'utiliser des stratégies moins agressives (kelly fractionnel)
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
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.
γ est l'indice d'aversion relatif pour le risque: plus γ est grand et plus l'agent est risquophobe.
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)
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 ?
Kelly en intraday ?
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
Page 31
31
Retour vers le future
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
Page 32
32
Levier optimal, asymétries, valeurs extrêmes
L'erreur d'estimation du levier est en 1/σ ⇒ estimation d'autant meilleure que l'actif est volatile !!!
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
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"
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) |<∞
Page 34
34
Propriétés remarquables du meilleur CRP et fondements
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
Tout portefeuille buy & hold (BAH) est moins performant que le meilleur actif:
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.
Page 35
35
Portefeuilles universels (suite)
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%
capital x 1 million,
croissance du capital
(*) 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%
Phase d'apprentissage
Sterling= performance/maxDrawDown
Page 36
36
Kelly adaptative (suite)
Krach de 87
le levier est très sensible aux fortes pertes
aura du mal a s'en remettre
A noter, la méthode adaptative fait mieux que le meilleure CRP a posteriori !!!
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
Historique
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)
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, ….
Estimation de la tendance
Page 39
39
Estimations de la volatilité
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é
Zhou
et variantes …
- 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)
Page 40
40
Estimateur de volatilité par maximum de vraisemblance avec Open/Close/High/Low
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)
Page 41
41
Temps de passage
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
Page 42
42
La loi Arcsinus
Src : Timing thehighs and lows of theday , Emmanuel Acar, Pierre Lequeux and Stephane Ritz, Banque Nationale de ParisPlc
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 …
Double barrière
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) ?
Page 43
43
Temps de sortie d'une double barrière
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
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
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"
Page 45
45
Utilisation d'indicateurs
Risque de Data Snooping: Trouver des stratégies qui ne sont que des artefacts dans les données.
Page 46
46
Trading et modélisation
Exemple de modèles:
mean reversion (series AR(1), ARIMA, avec coefficient de rappel)
Pairs trading, co intégration,
Chaînes de Markov,
backtesting
Page 47
47
Critères de performance et contraintes
- minimiser la VaR
Exemple
µ= 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
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
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.
Stop Loss
Le Stop Loss est une pratique courante pour limiter les pertes
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"
perte constatée
arrêt trading réel,
passage en mode virtuel
gain virtuel:
reprise du trading réel
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)
Page 50
50
Pairs Trading
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
Page 51
51
Trading de spread sur futures indices en intraday (suite)
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
Page 52
52
Programmation dynamique et apprentissage (suite)
- explosion combinatoire,
- risque d'overfitting (si appliqué directement aux data)
- extractions de modèles non paramétriques (exemple chaîne de Markov) et solution par des techniques
d'apprentissage
Sujets d'etude /stage: trading sur futures indices par apprentissage automatique
Architecture
Plateforme de trading
Excel
DCOM bridge
DDE link
Socket
port 7496 IB Trader Work Station
Standalone configuration
Slect socket Port = default is 7496
Page 53
53
Gestion des données haute fréquence
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, …
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 ...
Plateform Scheduler
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
Page 55
55
Order State Diagram
On decision:
timeout, etc...
Placed Cancel Placed
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.
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
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
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 {
}
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
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());
Page 57
57
Programmation (suite)
Librairies YATS
Page 58
58
Quelques Références
Source commenté
index.html Application WEB http://localhost/trading/rapt/study/
Page 59
59