On fixera le cadre de l’étude par une présentation du cadre générale du marché financier anglais de l’électricité et du gaz, dans une seconde partie, nous explorerons nos données en utilisant SAS et dans une troisième, nous modéliseront nos données. Enfin, dans une dernière partie nous examineront les résultats financiers du système de trading que l’on aura mis en place sur la base de nos modélisations.
═══════════════════
Document in French - We'll define the framework of the study by a general introduction to the UK power and gas market, in the second part, we'll perform data exploration using SAS and in the third part we'll parform data modeling. Then, in the last part we'll check the P&L of the systematic trading system built with the identified models.
Analyse et modélisation du UK Spark Spread pour la création d’une stratégie systématique de trading
1. Master 2 Statistiques et Econométrie
FOAD 2007 - 2009
Mémoire
Analyse et modélisation du UK Spark Spread pour
la création d’une stratégie systématique de trading
Vincent JEANNIN
Energy Market Risk Manager
RBS Sempra Commodities
2. Sommaire
Introduction
3
I – Cadre général du marché britannique de l’électricité et du gaz
4
1 - L’électricité
4
2 - Le gaz
5
3 - Le spread
5
4 - La consommation
6
5 - La structure par terme
6
6 – Les variations de cours
10
II – Exploration des séries temporelles : UKP, NBP et Spark Spread
12
1 – Préparation des données
12
2 – Relation entre UKP et NBP
12
3 – Exploration du spread
17
III – Travail avec SAS sur la série temporelle du Spark Spread
21
1 – Préparation des données
21
2 – Travail sur la série des rendements hebdomadaires
21
3 – Travail sur la série des rendements quotidiens
24
4 – Bilan
27
IV – Prévision et résultats financiers
28
1 – Contraintes, méthodes et objectifs
28
2 – Stratégie et implications financières
28
3 – Préparation des données
29
4 – Résultats
31
5 – Bilan
32
Conclusion
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
34
2
3. Introduction
Market Risk Manager chez RBS Sempra Commodities, je suis très sensibilisé aux variations de cours
sur les marchés sur lesquels nous opérons : les énergies et en particulier l’électricité. Le risque de
marché est le risque de variation des prix. Ces variations de prix, lors de prises de positions
spéculatives, peuvent avoir des impacts financiers conséquents.
Alors, anticiper les variations futures des prix est un élément clef de la gestion des risques et, plus
largement, du trading. Une opération spéculative est effectuée car le trader aura fait une analyse
(qu’elle soit économique ou statistique) et qu’il anticipe le sens de variation du marché. La mode
étant au tout mathématique, il sera intéressant dans cette étude de se pencher sur la modélisation
d’une série financière d’un marche énergétique en vue de mettre en place un système de trading
systématique. Le but sera de prédire notre série temporelle financière.
Le Master 2 Statistiques et Econométrie de l’Université de Toulouse 1 m’a permis de développer des
nouvelles méthodes pratiques pour l’analyse de données comme par exemple SAS. On tachera de les
mettre en application dans cette étude.
Ainsi, on fixera le cadre de l’étude par une présentation du cadre générale du marché financier
anglais de l’électricité et du gaz, dans une seconde partie, nous explorerons nos données en utilisant
SAS et dans une troisième, nous modéliseront nos données. Enfin, dans une dernière partie nous
examineront les résultats financiers du système de trading que l’on aura mis en place sur la base de
nos modélisations.
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
3
4. I – Cadre général du marché britannique de l’électricité et du gaz
1 - L’électricité
L’électricité peut se négocier avec trois méthodes de livraison : peak, off-peak et baseload. Le peak
concerne les heures de pointes (différent selon les marchés mais globalement de 8h à 20h les jours
de semaine travaillé), l’off-peak concerne quant à lui les heures creuses (de 00h à 8h et de 20h à
minuit les jours de semaine travaillés et les jours complets les week-ends et jours fériés) et enfin le
baseload concerne les 24h d’une journée.
Il existe deux différentes façons de négocier la quantité. La première est une quantité certaine, donc
du Wattheure. Un achat d’une quantité de 24,000MWh sera produite et facturée quoi qu’il arrive,
autrement dit, qu’elle soit effectivement consommée ou non. La seconde méthode est une capacité,
donc par définition optionnelle, du Watt. Une capacité négociée de 24W offrira la possibilité au
consommateur de consommer 576 Wattheures durant une journée, il ne paiera que ce qu’il a
effectivement consommé et, en théorie, ne peut en aucun cas dépasser sa capacité allouée. Les
deux méthodes sont donc bien évidemment liées, 24,000Wh sur une journée correspondent a une
capacité de 1,000W (le Watt étant du Joules par seconde).
On s’adresse là à plusieurs types de consommateurs. Globalement, le vendeur de capacité sera une
entreprise ayant un actif de production, des centrales électriques ou un intermédiaire financier très
spécialisé dans le domaine de l’énergie. L’acheteur sera quant à lui un consommateur effectif (une
industrie, un client retail,…), la finalité de son achat sera l’utilisation du courant électrique. La
négociation des quantités est en grande majorité réservée au trading : spéculation, couverture,
ajustement des capacité de production,…
En effet, la création d’un marché financier a été nécessaire depuis la libéralisation du secteur
énergétique (apportant de la liquidité, de la concurrence, une meilleure efficience des prix,…) mais
aussi pour permettre aux compagnies énergétiques d’optimiser leur actif de production et réduire
les risques. On a dit plus haut que la capacité était une quantité optionnelle, alors, les producteurs
vont appliquer, pour faire un parallèle, la même méthode que les compagnies aériennes et leur
« surbooking ». Une centrale ayant une capacité de 500MW pourra être vendue à hauteur de
600MW par exemple. La consommation d’électricité en Europe étant relativement bien corrélée au
climat, les énergéticiens peuvent estimer par des modèles météorologiques la consommation
effective et ajuster leur capacité disponible. Ceci dit, il arrive que la centrale se trouver en
surcapacité et c’est là que les marchés financiers entrent en jeu : l’opérateur ajustera ses besoins sur
les marchés.
Les contrats spécifient une durée ou une période de livraison. Celle-ci n’est pas standardisée et est
négociée de gré à gré. On peut négocier par exemple une quantité sur une demi-heure heure
particulière d’une journée pendant tout un mois. En effet, l’électricité est livrable par demi-heure.
Ainsi, un achat de 480,000KWh peak sur Janvier 2010 revient à livrer durant les 20 jours ouvrés de
janvier 2010, de 8h à 20h, 1,000KWh par demi-heure. Les contrats les plus courants sont bien
évidement les contrats mensuels, trimestriels, saisonniers (Royaume-Uni uniquement) et calendaires
(Europe continentale uniquement).
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
4
5. 2 - Le gaz
Le gaz est l’un des combustibles servant à produire l’électricité à l’instar du charbon, du pétrole, ou
de l’uranium. Les discussions sur la « propreté » du combustible font rage : la production
d’électricité par fusion d’uranium n’émettant pas de CO2 mais des déchets radioactifs, il a un
meilleur bilan carbone que le gaz qui est quant à lui le moins émetteur de CO2 des combustibles qui
en émettent. Pour mettre tour le monde d’accord, on peut dire que seuls le vent, le soleil, la marée
ou force hydraulique sont les seuls méthodes propres pour produire l’électricité… Mais elles sont
beaucoup moins efficaces ! Aussi, en terme de bilan carbone globale, il faut environ 250 mètres
cubes de béton (environ 500 tonnes) pour construire le socle d’une éolienne qui aura une capacité
maximale de 2.3MW. Pour produire ces 500 tonnes de béton, il faudra environ 300 tonnes de
ciment. Enfin pour produire une tonne de ciment, le four utilise étant alimenté au charbon, émettra
0.6 tonne de CO2. Alors, la production du socle de l’éolienne aura émis 180 tonnes de CO2.
Le gaz utilisé pour la production d’électricité va quant à lui produire 381.5 kilogrammes de CO2 par
MWh. Une éolienne fonctionne en moyenne à 30% de sa capacité car les conditions optimales de
production sont très difficiles à rencontrer. Une éolienne qui fonctionnerait a plein temps pourrait
fonctionner 14 ans (sa limite d’âge globale est de 20 ans) va donc produire 22,090MWh pour un
total de 180 tonnes d’émissions soit environ 8 kilogrammes par MWh. La propreté de l’éolienne est
donc incontestable en comparaison, sans compter les émissions créées par la construction de la
centrale électrique. L’aspect environnemental et l’impact sur la faune (notamment lors des
migrations) est un autre débat dont je ne suis pas spécialiste.
Bref, revenons au gaz. Le gaz se négocie au Royaume-Uni principalement en Thermes (unité
n’appartenant pas au SI, mais le marché étant un des plus gros en Europe, les autres pays ont
tendance à négocier dans la même unité en vue d’harmoniser le marché et de faciliter les
transactions de transmission) unité équivalente à l’énergie dégagée par la combustion de 100 pieds
carrés de gaz (28.32 litres). L’unité n’a pas la même signification au Royaume-Uni, en Europe
Continentale et aux USA car les températures et pressions officielles utilisées pour la mesure sont
différentes (les différences sont ceci dit de l’ordre du centième de pourcent). Notre étude portera
sur l’électricité au Royaume-Uni, nous utiliserons les Thermes UK, équivalents à 29.3071kWh.
La négociation se fait alors en Thermes par jour, la livraison se fait en flux continu du jour J à 6h au
jour J+1 à 6h. Le gaz ne se négocie pas en capacité comme l’électricité du fait qu’à la différence de
l’électricité, il est stockable. Pour parer à tout problème de surplus ou de maque, les intermédiaires
ont donc retour à des contrats de stockage, donnant la possibilité d’opérer à des volumes entrants
ou sortants.
3 - Le spread
Nous abordons là l’élément clef du marché d’électricité : la différence de prix entre le gaz et
l’électricité. On l’appelle Spark Spread. Le spark spread correspond alors au coût de production de
l’électricité : on achète le gaz, on vend l’électricité, la différence est alors ce coût. Il se peut très bien
que ce spread soit négatif. Le gaz peut souffrir de problème d’approvisionnement sans impacter le
prix de l’électricité. En effet, les operateurs changeront de combustible et produiront avec du
charbon, du pétrole ou par le nucléaire tant la diversité du parc de centrales est forte.
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
5
6. Les centrales thermiques sont très peu efficaces. Ont leur affecte un pourcentage d’efficacité de
49.13%. Ainsi, pour 1MWh d’électricité à produire, la centrale devra être alimentée de 2.03MWh de
gaz, soit 69.4513MThermes. Il est important de signaler que le spread se négocie compte tenu du
coefficient d’efficacité des centrales.
Aussi, ce spread va se négocier carbone inclus ou non. Typiquement, les transactions financière qui
ne sont pas faites à des fins de livraison sont faites hors carbone. Les operateurs, eux, la négocie
avec carbone, le spread est alors dit clean spark spread. Pour produire 100MWh d’électricité, on
émet 38.15 tonnes de CO2.
4 - La consommation
Le Royaume-Uni est très caractéristique. La France, le Benelux et l’Allemagne ont un schéma
similaire. La consommation d’électricité est fortement dépendante des températures. Ainsi quand il
fait froid, il faut chauffer, la consommation est forte. Quand les températures montent, les
climatisations ont tendance à tourner mais pas de façon excessive car le climat est toute de même
tempéré. Alors, la consommation en été est beaucoup plus faible. Cela explique, on le verra par la
suite, pourquoi les prix d’été sont plus faibles que ceux d’hiver.
70
65
60
55
50
45
40
0
2
4
6
8
10
12
14
16
18
Le graphique ci-dessus montre la consommation mensuelle d’électricité (GWh) en fonction de la
température (en degrés Celsius). Une tendance apparait clairement sur ce graphique, globalement
plus il fait chaud, moins la demande est forte.
Aux USA, le marché est bien plus chaotique tant la consommation d’énergie est décorrélée des
températures. En effet, les températures étant souvent extrêmes, soit il faut chauffer, soit refroidir,
la consommation est alors moins prévisible et aucune tendance n’apparaitrait sur un tel graphique.
La courbe aura alors une forme de U, le bas de la courbe oscillant entre 17 et 19 degrés (autrement
dit, on met en route les climatisations à plein régime a ces températures).
5 - La structure par terme
Les produits financiers dérivés de matières premières se négocient le plus souvent à terme (il existe
un cours au contant appelé spot, mais la livraison spot est utilisé seulement pour ajuster au plus fin
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
6
7. les livraisons). La structure par terme (ou courbe forward) dépend fortement du type de matière
première, mais globalement, une courbe de matière première est croissante (on dit aussi qu’elle est
en report ou contango). Autrement dit, plus l’échéance est lointaine plus le prix est élevé. Ainsi,
l’opération de négoce de base est le « cash and carry » : on achète la matière première spot (ou à
terme), on la revend simultanément a terme et on la stocke durant l’intervalle de temps. La
différence entre deux contrats à terme est alors le coût de stockage et de financement. Alors, une
des conditions est que la matière soit stockable (cela va nous concerner plus loin, le gaz l’est, pas
l’électricité), l’autre est qu’elle soit non périssable.
Si une courbe forward est décroissante, on dit qu’elle est en déport ou backwardation. C’est une
situation anormale. Elle peut intervenir lorsque la demande est concentrée sur les premiers mois, les
mois suivants souffrent du manque de liquidité voire de manque de visibilité dans
l’approvisionnement : c’est souvent le cas du pétrole. Cela peut arriver aussi quand la matière
souffre de problème d’approvisionnement à très court terme lors des livraisons, frisant parfois la
manipulation de marché. Ainsi, une société suisse est connue pour squeezer les intervenants du
marché du cuivre. Elle possède un des plus gros stocks de cuivre et quand les contrats approchent la
livraison il est difficile de trouver de grosses quantités de cuivre à livrer, d’autant plus que la société
elle-même amène à livraison des contrats acheteurs de cuivre.
Sur les marchés d’énergie, ce n’est pas aussi simple. En effet, les heures pleines et creuses
dépendent non seulement d’un timing officiel mais aussi d’un timing naturel. En été, il fait déjà jour
à 8h du matin. La consommation ne sera alors pas la même qu’en hiver où il fait encore nuit. Bien
que les deux soient des heures pleines, elles n’auront pas le même prix car tout répond au rapport
offre-demande. Ainsi, la courbe forwad du gaz a cette forme :
NBP
0.9
0.8
0.7
0.6
0.5
NBP
0.4
0.3
0.2
0.1
Au
Ju
n09
g0
O 9
ct
-0
De 9
c0
Fe 9
b1
Ap 0
r1
Ju 0
n10
Au
g1
O 0
ct
-1
De 0
c1
Fe 0
b1
Ap 1
r1
Ju 1
nAu 1 1
g1
O 1
ct
-1
De 1
c1
Fe 1
b1
Ap 2
r12
Ju
n1
Au 2
g1
O 2
ct
-1
De 2
c1
Fe 2
b1
Ap 3
r1
Ju 3
nAu 1 3
g1
O 3
ct
-1
De 3
c1
Fe 3
b1
Ap 4
r1
Ju 4
n14
Au
g14
0
En ordonnée, le prix est donné par pence par Thermes, en abscisse on a la maturité du contrat. La
première partie est décroissante du fait de problèmes d’approvisionnement sur un gazoduc et la
seconde partie de la courbe a la forme très caractéristique de vagues. Outre le phénomène des
heures pleines et heures creuses, on a aussi le phénomène de variation du prix du stockage. La
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
7
8. volatilité de la demande en hiver peut être forte, alors on a souvent recours au stockage (on injecte
dans une cuve de stockage, ou on retire), face a une demande et une rotation élevée de la cuve, les
prix de stockage sont élevés. En été on stock beaucoup moins car la demande est moins volatile et
les prix aussi, le manque de gaz peut alors être achète sans difficulté sur le marche, on stocke moins,
les prix baissent. La courbe est tout de même dite en contango car la forme se répète, elle est
croissante. Il faut comparer ce qui est comparable et du fait des saisons, janvier n’est pas
comparable avec juin. Mais si l’on compare Janvier 2010 avec Janvier 2011, le prix du premier
contrat sera inferieur au second. Cette « autosimilarité » (il n’est pas inintéressant d’employer ce
terme dans ce contexte) se répète à l’échelle des trimestres, et des saisons (l’hiver étant le 4ème
trimestre d’une année et le 1er de l’année suivante, l’été étant les deuxièmes et troisièmes
trimestres d’une année).
Le stockage fonctionne de plusieurs façons, l’innovation financière est énorme dans ce domaine.
Globalement, on peut stocker une quantité fixée pendant une période fixée à un prix fixé. C’est le
contrat le plus basique. Pour le second stockage physique, on facture les injections et les retraits
seulement, pas le portage. C’est en général en stockage utilisé pour l’ajustement rapide des
capacités, le stock tourne beaucoup. La grosse différence est que ce gaz est à disposition du
propriétaire de la cuve. Le propriétaire de la cuve peut très bien emprunter du gaz il se doit toutefois
d’assumer les besoins en cas de retrait. L’utilité est que le propriétaire de la cuve peut faire de la
spéculation, vendre du gaz, le livrer et essayer de remplir la cuve à moindre coût. Ce stockage est
moins cher mais beaucoup moins sur pour le propriétaire du stock, les défauts de livraison étant
assez fréquents.
L’électricité, c’est exactement la même chose (en abscisse le prix est indiqué en livres par MWh) :
UK Power
70
60
50
40
UK Power
30
20
10
Ju
nAu 0 9
g0
O 9
ct
-0
De 9
c0
Fe 9
b1
Ap 0
r1
Ju 0
nAu 1 0
g1
O 0
ct
De 10
cFe 10
b1
Ap 1
r1
Ju 1
n11
Au
g1
O 1
ct
De 11
c1
Fe 1
b1
Ap 2
r1
Ju 2
nAu 1 2
g1
O 2
ct
De 12
c1
Fe 2
b1
Ap 3
r1
Ju 3
nAu 1 3
g1
O 3
ct
De 13
c1
Fe 3
b1
Ap 4
r1
Ju 4
nAu 1 4
g14
0
La question que l’on peut se poser est la suivante : pourquoi un contango alors que l’électricité n’est
pas stockable ? Premier point, le principe des heures pleines et heures creuses s’applique sur la
courbe, expliquant sa forme similaire. Second point, tout simplement pacque l’on a crée des
contrats de stockage notionnel se rapprochant plus du « prêt-emprunt » que l’on peut trouver sur
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
8
9. les marchés action ou obligataires. En effet, pour « stocker » (le terme est abusif) de l’électricité, on
va la prêter à un vendeur d’électricité se trouvent dans l’incapacité d’honorer sa fourniture. Les
formules de pricing sont très compliquées, en effet, celui qui va prêter son électricité va y trouver
son compte, car s’il ne la consomme pas ou ne la revend pas, cette électricité est perdue. Aussi.
L’emprunteur doit y trouver son compte car il peut très bien se fournir sur le marché financier. Le
prix va dépendre de la liquidité du marché. Autrement dit, si l’emprunteur peut acheter sur le
marché de l’électricité pour la quantité qu’il souhaite il n’y a aucune raison qu’il paye un emprunt et
celui qui veut prêter devient demandeur, mais a l’oppose, le prêteur n’a aucune raison de prêter son
électricité et de payer pour s’il peut la revendre sur le marché. Le prix va alors dépendre de la
liquidité à l’offre et de la liquidité à la demande. On n’entrera pas plus dans la complexité des
méthodes de pricing.
Sur un même graphique on voit que les deux courbes forward on une forme identique :
70
60
0.90
0.80
0.70
50
0.60
40
0.50
UK Power
NBP
30
0.40
0.30
20
0.20
10
0.00
Ju
nAu 0 9
gO 09
ct
De 09
cFe 0 9
bAp 10
rJu 10
nAu 1 0
gO 10
ct
De 10
cFe 1 0
bAp 11
rJu 11
nAu 1 1
gO 11
ct
De 11
cFe 1 1
bAp 12
rJu 12
nAu 1 2
gO 12
ct
De 12
cFe 1 2
bAp 13
rJu 13
nAu 1 3
gO 13
ct
De 13
cFe 1 3
bAp 14
rJu 14
nAu 1 4
g14
0
0.10
La différence entre les deux courbes étant notre spark spread. Nous ferons l’étude sur le contrat
Win09 (hiver 2099, trimestre 4 de 2009 et trimestre 1 de 2010). On montrera ce qu’on peut
entrevoir sur ce graphique : plus l’échéance est lointaine, moins le spread sera volatil. En effet,
l’impact des coûts de production et de la demande sont difficiles à prévoir à très long terme. L’arrêt
d’une centrale thermique aura un effet très conséquent sur les mois proches, la capacité des
centrales thermiques sera réduite, le spread va augmenter : en effet, les fournisseurs ne disposant
pas de centrale propriétaire (qui sous-traitent donc la production) qui ont compté sur une
production par le gaz vont se ruer pour réserver le reste des centrales disponibles, faisant
instantanément augmenter la demande de « spark » (de brulage du gaz en somme) et donc du coût.
Mais cet événement n’aura que peu d’impact (un très léger impact de spéculation dans le pire des
cas) sur les échéances dans 2 ou 3 ans. La centrale sera réparée et sera remise en route, donc
aucune conséquence proprement macro-économique n’est à déplorer.
On comprend alors que pour un intermédiaire purement financier qui va faire de la spéculation, il
est préférable d’avoir un contrat volatil pour profiter au maximum et au plus vite des variations de
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
9
10. prix. C’est pour cela que les opérations se font sur les premiers mois et les premières saisons. Sur le
reste de la courbe, la liquidité est bien moindre et les intervenants sont en majorité des industriels,
producteurs ou énergéticiens.
Notre structure par terme du spark spread est alors la suivante :
Spark Spread
25
22.5
20
17.5
15
12.5
Spark Spread
10
7.5
5
2.5
Aug-14
Apr-14
Jun-14
Feb-14
Oct-13
Dec-13
Aug-13
Apr-13
Jun-13
Feb-13
Oct-12
Dec-12
Aug-12
Apr-12
Jun-12
Feb-12
Oct-11
Dec-11
Aug-11
Apr-11
Jun-11
Feb-11
Oct-10
Dec-10
Aug-10
Apr-10
Jun-10
Feb-10
Oct-09
Dec-09
Jun-09
Aug-09
0
6 – Les variations de cours
Le graphique ci-dessous représente les prix de l’électricité et du gaz en base 100 au 10 avril 2007. On
remarque d’ores et déjà que la corrélation semble très forte :
300.00
250.00
200.00
NBP
150.00
UK Power
100.00
50.00
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
Jul-09
Aug-09
Jun-09
May-09
Apr-09
Feb-09
Mar-09
Jan-09
Dec-08
Nov-08
Oct-08
Sep-08
Aug-08
Jul-08
Jun-08
May-08
Apr-08
Mar-08
Jan-08
Feb-08
Dec-07
Oct-07
Nov-07
Sep-07
Aug-07
Jul-07
Jun-07
Apr-07
May-07
0.00
10
11. On calcule alors notre spark spread sur la même période, série qui sera l’objet de notre étude :
19
18
17
16
15
14
13
12
11
10
9
Jul-09
Aug-09
Jun-09
Apr-09
May-09
Feb-09
Mar-09
Jan-09
Dec-08
Nov-08
Oct-08
Sep-08
Jul-08
Aug-08
Jun-08
Apr-08
May-08
Mar-08
Jan-08
Feb-08
Dec-07
Nov-07
Oct-07
Sep-07
Aug-07
Jul-07
Jun-07
Apr-07
May-07
8
On remarque que les prix sont très volatils. Ils dépendent de la liquidité, des capacités de
production, du contexte macroéconomique, du contexte microéconomique,…
Il est difficile de prévoir l’évolution future par des critères purement économiques. L’objet de l’étude
sera alors de tenter de modéliser cette série, de faire des prévisions en vue de mettre en place un
système de trading systématique qui donnera des signaux d’achat (on prendra une position dite
« Long ») et des signaux de vente (on prendra une position dite « Short »). L’étude sera faite sans a
priori, sans idée préconçue de la validité d’une telle méthode. Le but est plus de manipuler les
logiciels fournis et créer une interaction avec Excel, logiciel utilisé quasi systématiquement pour la
modélisation en salles de marchés, il présente ses limites et nous verrons ce qu’un logiciel tel SAS
peut apporter.
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
11
12. II – Exploration des séries temporelles : UKP, NBP et Spark Spread
1 – Préparation des données
Nous avons un fichier Excel fruit de l’extraction des bases de données internes. Il contient 3
colonnes, la première contient la date, la seconde le prix du gaz britannique (NBP) et la troisième le
prix de l’électricité britannique (UKP).
On importe nos prix et on crée notre spread, les variations de cours en pourcents à un jour et à 1
semaine (nous n’avons que les jours de la semaine). On crée aussi les variations en pourcents des
NBP et UKP :
proc import
datafile = "C:SpSpExclData.xls"
out=Work.Spark
replace;
run;
data Work.Spark;
set Work.Spark;
Spread=UKP-(NBP*100)/(2.93071*0.4913);
Per=Spread/lag1(Spread)-1;
WPer=Spread/lag4(Spread)-1;
NBPPer=NBP/lag1(NBP)-1;
UKPPer=UKP/lag1(UKP)-1;
run;
2 – Relation entre UKP et NBP
Avec les graphiques affichés précédemment, on ne sera pas étonné de constater que la corrélation
entre le gaz et l’électricité est très élevée. Ainsi, avec la procédure corr, on a :
proc corr data=Work.Spark ;
var NBP UKP ;
run;
La corrélation calculée est de 0.99693, autrement dit nos deux séries sont en effet très hautement
corrélées. Il est alors intéressant de voir ce que donne une régression linéaire :
proc reg data=Work.Spark ;
model NBP=UKP;
plot NBP*UKP ;
run;
Le graphique publié page suivante est aussi sans surprise. La dépendance linéaire entre les deux
séries est très forte. Ceci est très intéressant pour le trader qui va être en charge de positions de
spread. En effet, la limite qui va lui être accordée tient compte du risque potentiel. Or, quand bien
même les deux produits sont très risqués (on analysera le statistiques de base un peu plus loin), s’ils
sont fortement corrélés, le risque pris par l’achat de l’un va être compensé en très grande partie par
la vente de l’autre. Les montants nominaux qu’il aura la possibilité d’engager sont alors bien
supérieurs.
Le R2 étant de 0.9939, notre régression est très performante. Ceci dit, on l’a vu par l’historique des
prix du spread, il sera possible de tirer profit du « bruit », aussi petit soit-il. Comme on l’a dit, on
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
12
13. ajustera la faiblesse relative de la volatilité de notre série de spread par les montants nominaux des
opérations.
N P = - 0. 0894 + 0127 U P
B
0.
K
1. 2
N
623
R
sq
0. 9939
1. 1
A R
dj sq
0. 9939
RS
ME
0. 0151
1. 0
0. 9
0. 8
0. 7
0. 6
0. 5
0. 4
0. 3
35
40
45
50
55
60
65
70
75
80
85
90
95
UP
K
Les résidus de cette régression seront intéressants à analyser sans toutefois empiéter sur la suite de
notre étude. Ainsi, on a :
proc autoreg data=Work.Spark;
model NBP = UKP;
output out= ResRegPx residual=ResidPx;
run;
data Work.ResRegPx;
set Work.ResRegPx;
ResiLag=lag1(ResidPx);
run;
proc gplot data=Work.ResRegPx;
symbol1 v=star i= none;
plot ResiLag * ResidPx = 1;
run;
R
esi Lag
0. 05
0. 04
0. 03
0. 02
0. 01
0. 00
- 0. 01
- 0. 02
- 0. 03
- 0. 04
- 0. 05
- 0. 06
- 0. 06
- 0. 05
- 0. 04
- 0. 03
- 0. 02
- 0. 01
0. 00
0. 01
0. 02
0. 03
0. 04
0. 05
R
esi dP
x
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
13
14. On remarque une certaine dynamique. Autrement dit, l’erreur semble autocorrélée, peut être est-ce
un processus autorégressif d’ordre 1 de type AR(1), nous l’étudierons par la suite.
En termes de variations de cours, les résultats sont similaires :
proc corr data=Work.Spark ;
var NBPPer UKPPer ;
run;
proc reg data=Work.Spark ;
model NBPPer=UKPPer;
plot NBPPer*UKPPer ;
run;
N P er = - 0. 0002 + 0766 U P er
BP
1.
KP
0. 100
N
622
R
sq
0. 8707
A R
dj sq
0. 8705
0. 075
RS
ME
0. 0058
0. 050
0. 025
0. 000
- 0. 025
- 0. 050
- 0. 075
- 0. 08
- 0. 06
- 0. 04
- 0. 02
0. 00
0. 02
0. 04
0. 06
0. 08
U P er
KP
La corrélation s’élève à 0.93311 et notre R2 de 0.8707. Toujours très bons, ce résultat montre
toutefois que la différence entre les deux séries est plus palpable. On attribue ca à la présence de
deux types d’opérateurs sur les marchés financiers : l’opérateur énergéticien qui va raisonner par les
prix et l’opérateur financier qui va lui raisonner en termes de variations de cours. Les objectifs étant
différents, le comportement face aux mouvements de prix l’est aussi. Mais les résultats restent très
similaires et montrent à nouveau une forte relation d’ordre linéaire entre nos deux actifs. Nous
allons étudier les distributions des deux séries. On le fera sur les variations quotidiennes pour
comparer les deux actifs sur la même base.
Intuitivement, l’erreur semble plus élevée, regardons ce que donnent les résidus.
proc autoreg data=Work.Spark;
model NBPPer = UKPPer;
output out= ResRegPx residual=ResidPx;
run;
data Work.ResRegPx;
set Work.ResRegPx;
ResiLag=lag1(ResidPx);
run;
proc gplot data=Work.ResRegPx;
symbol1 v=star i= none;
plot ResiLag * ResidPx = 1;
run;
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
14
15. R
esi Lag
0. 022
0. 020
0. 018
0. 016
0. 014
0. 012
0. 010
0. 008
0. 006
0. 004
0. 002
0. 000
- 0. 002
- 0. 004
- 0. 006
- 0. 008
- 0. 010
- 0. 012
- 0. 014
- 0. 016
- 0. 018
- 0. 020
- 0. 022
- 0. 024
- 0. 028
- 0. 023
- 0. 018
- 0. 013
- 0. 008
- 0. 003
0. 002
0. 007
0. 012
0. 017
0. 022
R
esi dP
x
Les résultats sont moins évidents, on ne constate pas a priori d’organisation spécifique des résidus,
le test ayant été fait pour plusieurs décalages. Ceci dit, quand on y pense, les séries des
performances sont déjà, en quelque sorte, des séries différenciées…
Avec SAS Insight, on obtient :
N P er
BP
U P er
KP
N B P P e r
U K P P e r
- 5 . 0 0 0 0 0 0 0 E - 0 2
- 5 . 0 0 0 0 0 0 0 E - 0 2
N P er
BP
D
e
n
s
i
t
y
5 . 0 0 0 0 0 0 0 E - 0 2
U P er
KP
4 0
3 0
D
e
n
s
i
t
y
2 0
1 0
0
- 6 . 6 0 0 0 0 0 0 E - 0 2
0 . 0 0 0 0 0 0 0 E + 0 0
6 . 6 0 0 0 0 0 0 E - 0 2
2 0
0
- 6 . 6 0 0 0 0 0 0 E - 0 2
N P er
BP
M ent s
om
N
622. 0000 S
um W s
gt
M
ean
- 0. 0002 S
um
Sd D
t
ev
0. 0161 V i ance
ar
S
kew
ness
0. 2389 K t osi s
ur
US
S
0. 1614 C S
S
C
V
- 8452. 3738 S d M
t
ean
100%M
ax
75%Q
3
50%M
ed
25%Q
1
0%M n
i
R
ange
0 . 0 0 0 0 0 0 0 E + 0 0
Q
uant i l es
0. 0861
99. 0%
0. 0079
97. 5%
0
95. 0%
- 0. 0086
90. 0%
- 0. 0628
10. 0%
0. 1488
5. 0%
- 6 . 0 0 0 0 0 0 0 E - 0 3
5 . 4 0 0 0 0 0 0 E - 0 2
U P er
KP
622. 0000
- 0. 1186
0. 0003
3. 0889
0. 1614
0. 0006
0. 0403
0. 0342
0. 0253
0. 0165
- 0. 0192
- 0. 0282
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
M ent s
om
N
622. 0000 S
um W s
gt
M
ean
4. 221E 05 S
um
Sd D
t
ev
0. 0140 V i ance
ar
S
kew
ness
0. 1074 K t osi s
ur
US
S
0. 1212 C S
S
C
V
33097. 5141 S d M
t
ean
100%M
ax
75%Q
3
50%M
ed
25%Q
1
0%M n
i
R
ange
Q
uant i l es
0. 0776
99. 0%
0. 0068
97. 5%
0
95. 0%
- 0. 0062
90. 0%
- 0. 0613
10. 0%
0. 1388
5. 0%
622. 0000
0. 0263
0. 0002
3. 2699
0. 1212
0. 0006
0. 0355
0. 0269
0. 0221
0. 0152
- 0. 0165
- 0. 0246
15
16. Les densités ont une forme gaussienne. On remarque que les extrêmes sont toujours plus forts à
droite, autrement dit, le plus drastiques des mouvements haussiers est moins ample que le pire
mouvement baissier. La raison est simple, c’est que sur les marchés financiers, les opérateurs qui
pensent en termes de variation en pourcents est plus nombreux que ceux qui pensent en terme de
prix. Ainsi, la conséquence arithmétique simple, quand le marché baisse de 10%, il doit remonter de
11.11% pour revenir au même niveau, rendant la baisse de l’actif plus « facile ».
Les deux distributions sont leptokurtiques, les valeurs alors dans l’ensemble proches de leur
moyenne, formant un « pic ». Procédons à un test de normalité :
proc univariate data=Work.Spark all normal plot ;
var
NBPPer UKPPer ;
histogram NBPPer UKPPer / normal ;
qqplot
NBPPer UKPPer / normal(mu=est sigma=est color=red L=1);
inset
mean std / cfill=blank format=5.2 ;
run;
Notre normalité est rejetée dans les 2 cas. Les tests d’adéquation à une loi sont sensibles au nombre
d’observations et ont tendance à être performants pour un nombre plus petit. Les résultats des tests
sont les suivants (rejet clair et sans ambigüité) mais on regarde tout de même les Q-Q Plots pour se
faire une idée.
NBP
Tests for Normality
Test
Shapiro-Wilk
Kolmogorov-Smirnov
Cramer-von Mises
Anderson-Darling
--Statistic--W
0.961946
D
0.067627
W-Sq 1.043077
A-Sq 5.700029
-----p Value-----Pr < W
<0.0001
Pr > D
<0.0100
Pr > W-Sq <0.0050
Pr > A-Sq <0.0050
45
40
35
30
P
e
r
c
e
n
t
25
20
15
10
5
0
- 0. 06
- 0. 048
- 0. 036
- 0. 024
- 0. 012
0
0. 012
0. 024
0. 036
0. 048
0. 06
0. 072
0. 084
N P er
BP
0. 100
0. 075
0. 050
N
B
P
P
e
r
0. 025
0
- 0. 025
- 0. 050
- 0. 075
-4
-3
-2
-1
0
N m
or al
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
1
2
3
4
Q
uant i l es
16
17. UKP
Tests for Normality
Test
Shapiro-Wilk
Kolmogorov-Smirnov
Cramer-von Mises
Anderson-Darling
--Statistic--W
0.956173
D
0.078291
W-Sq
1.48564
A-Sq 7.679457
-----p Value-----Pr < W
<0.0001
Pr > D
<0.0100
Pr > W-Sq <0.0050
Pr > A-Sq <0.0050
50
40
P
e
r
c
e
n
t
30
20
10
0
- 0. 06
- 0. 048
- 0. 036
- 0. 024
- 0. 012
0
0. 012
0. 024
0. 036
0. 048
0. 06
0. 072
U P er
KP
0. 100
0. 075
0. 050
U
K
P
P
e
r
0. 025
0
- 0. 025
- 0. 050
- 0. 075
-4
-3
-2
-1
0
N m
or al
1
2
3
4
Q
uant i l es
Il faut en fait avouer que heureusement que l’on rejette la normalité. En effet, accepter une
normalité des rendements d’un produis financier, avec une moyenne, comme ici, très proche de 0,
signifierait que toute stratégie reviendrait à être une martingale. Les Q-Q Plots sont caractéristiques
de séries temporelles financières : au dessus en dessous de la moyenne, en dessous au dessus de la
moyenne.
3 – Exploration du spread
Il convient maintenant d’explorer la série du spread avec la même approche, commençons avec SAS
Insight, sur la série des rendements quotidiens.
P
er
P e r
- 5 . 0 0 0 0 0 0 0 E - 0 2
N
M
ean
Sd D
t
ev
S
kew
ness
US
S
C
V
P
er
3 0
D
e
n
s
i
t
y
M ent s
om
um W s
gt
622. 0000 S
um
0. 0008 S
ar
0. 0210 V i ance
ur
- 0. 0598 K t osi s
S
0. 2753 C S
t
ean
2762. 6031 S d M
622. 0000
0. 4738
0. 0004
2. 3927
0. 2750
0. 0008
2 0
1 0
0
- 1 . 0 5 0 0 0 0 0 E - 0 1
- 2 . 8 0 0 0 0 0 0 E - 0 2
4 . 9 0 0 0 0 0 0 E - 0 2
100%M
ax
75%Q
3
50%M
ed
25%Q
1
0%M n
i
R
ange
Q
uant i l es
99. 0%
0. 0842
97. 5%
0. 0114
95. 0%
8. 368E 07
90. 0%
- 0. 0097
10. 0%
- 0. 0954
5. 0%
0. 1796
0. 0650
0. 0451
0. 0341
0. 0246
- 0. 0244
- 0. 0338
P
er
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
17
18. On constate le même phénomène, kurtosis positif, mais le skewness est négatif (distribution étalée
vers la droite) L’écart-type, qui définit la volatilité du marché, est du même ordre. La non normalité
semble plus évidente, vérifions le :
proc univariate data=Work.Spark all normal plot ;
var
Per ;
histogram Per / normal ;
qqplot
Per / normal(mu=est sigma=est color=red L=1);
inset
mean std / cfill=blank format=5.2 ;
run;
Tests for Normality
Test
Shapiro-Wilk
Kolmogorov-Smirnov
Cramer-von Mises
Anderson-Darling
--Statistic--W
0.965945
D
0.071836
W-Sq
1.12545
A-Sq 6.027609
-----p Value-----Pr < W
<0.0001
Pr > D
<0.0100
Pr > W-Sq <0.0050
Pr > A-Sq <0.0050
40
0. 10
35
0. 05
30
25
P
e
r
c
e
n
t
P
e
r
20
0
15
- 0. 05
10
5
- 0. 10
0
- 0. 0975
- 0. 0825
- 0. 0675
- 0. 0525
- 0. 0375
- 0. 0225
- 0. 0075
0. 0075
0. 0225
0. 0375
0. 0525
0. 0675
0. 0825
P
er
-4
-3
-2
-1
0
N m
or al
1
2
3
4
Q
uant i l es
On rejette effectivement la normalité, en notant toujours la forme caractéristique du Q-Q Plot.
Interprétons d’un point de vue financier les moments.
La moyenne ne correspond pas au rendement moyen pour une simple question arithmétique. La
première valeur de notre spread est de 10.57, la dernière de 14.79, le rendement moyen quotidien
sera alors de 0.0540%, pour une moyenne de 0.08%. Cela montre une nouvelles fois que les
mouvements baissiers sont plus amples que les mouvements haussiers.
L’écart-type donne une mesure de la volatilité. En supposant que la distribution va être Gaussienne,
cela signifie que environ 95.45% des rendements seront compris entres plus ou moins deux écartstypes. Faisons un petit test :
proc means data=Work.Spark;
var Per;
run;
Notre écart-type est de 2.10428%.
data Work.Spark;
set Work.Spark;
if abs(Per)>2*0.0210428 then out2EC=1;
else out2EC=0;
run;
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
18
19. proc summary data=Work.Spark print;
var out2EC;
run;
La donnée de sortie est faussée car nous ne disposons pas de 623 valeurs mais 622, la première
étant manquante. On a alors 34 valeurs sortant de deux écarts-types, sur 622, soit 5.47%, bien
supérieur aux 4.55% escomptés. C’est en fait le problème majeur que connait la finance
actuellement. Les modèles ne sont pas faux, ils tiennent juste compte d’hypothèses fortes sousestimant largement les risques extrêmes. L’hypothèse gaussienne est difficilement acceptable dès
lors que l’on s’écarte de notre moyenne. Ceci dit, facilité de mise en œuvre oblige, cette hypothèse
sera maintenue dans l’avenir et continuée d’être utilisée. D’ailleurs, une stratégie de trading très
répandue sur les marchés liquides (sur les marchés actions par exemple) est de placer des ordres
d’achats deux écarts-types sous le marché et des ordres de vente deux écarts-types au dessus du
marché… L’arbitrage dit statistique en finance de marché a de toute façon vocation à faire
compenser les pertes extrêmes occasionnelles par de petits profits de faits de façon récurrente,
preuve que les opérateurs ont conscience du manque de fiabilité des modèles.
Il est ensuite intéressant de regarder les performances de la série a une semaine. En effet, du trading
dynamique implique un horizon d’investissement relativement court, une semaine étant un
standard. Cela sera d’ailleurs l’horizon d’investissement que nous prendrons pour notre exemple. En
effet, le but sera de prédire la série, on ne peut pas prédire une quantité importante, en effet, la
prévision se dégrade au fur et a mesure que le nombre de points prédits augmentent. On prédira
ainsi 5 points journaliers, c'est-à-dire une semaine en jours ouvrés. On étudiera aussi la série des
rendements hebdomadaires, elle sera probablement plus facile à identifier mais plus difficile à
interpréter…
On applique alors le même processus pour analyser la distribution et tester sa normalité, donc
employons SAS Insight puis la procédure univariate. La variable WPer avait été crée a cet effet.
Wer
P
WP e r
- 1 . 0 0 0 0 0 0 0 E - 0 1
Wer
P
1 0
D
e
n
s
i
t
y
5
0
- 1 . 9 5 0 0 0 0 0 E - 0 1
- 4 . 5 0 0 0 0 0 0 E - 0 2
1 . 0 5 0 0 0 0 0 E - 0 1
Wer
P
N
M
ean
Sd D
t
ev
S
kew
ness
US
S
C
V
100%M
ax
75%Q
3
50%M
ed
25%Q
1
0%M n
i
R
ange
M ent s
om
um W s
gt
619. 0000 S
um
0. 0030 S
ar
0. 0414 V i ance
ur
- 0. 1945 K t osi s
S
1. 0621 C S
t
ean
1394. 5009 S d M
Q
uant i l es
99. 0%
0. 1539
97. 5%
0. 0277
95. 0%
0. 0033
90. 0%
- 0. 0218
10. 0%
- 0. 1888
5. 0%
0. 3427
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
619. 0000
1. 8355
0. 0017
1. 2496
1. 0567
0. 0017
0. 0938
0. 0822
0. 0696
0. 0543
- 0. 0486
- 0. 0660
19
20. Moyenne proche de 0, skewness négatif et kurtosois positif, la série a les mêmes caractéristiques.
L’écart type est plus fort, ce qui est logique compte tenu du fait que l’analyse n’est plus quotidienne.
proc univariate data=Work.Spark all normal plot ;
var
WPer ;
histogram WPer / normal ;
qqplot
WPer / normal(mu=est sigma=est color=red L=1);
inset
mean std / cfill=blank format=5.2 ;
run;
2. 000E 01
-
35
1. 500E 01
-
30
1. 000E 01
25
5. 000E 02
P
e
r
c
e
n
t
20
W
P
e
r
0
15
- 5. 000E 02
-
10
- 1. 000E 01
-
5
- 1. 500E 01
-
- 2. 000E 01
-
0
- 0. 18
- 0. 15
- 0. 12
- 0. 09
- 0. 06
- 0. 03
0
0. 03
0. 06
0. 09
0. 12
0. 15
-4
-3
Wer
P
Tests for Normality
Test
Shapiro-Wilk
Kolmogorov-Smirnov
Cramer-von Mises
Anderson-Darling
--Statistic--W
0.990242
D
0.029775
W-Sq 0.163646
A-Sq 0.957351
-2
-1
0
N m
or al
1
2
3
4
Q
uant i l es
-----p Value-----Pr < W
0.0004
Pr > D
>0.1500
Pr > W-Sq
0.0171
Pr > A-Sq
0.0171
La normalité rejetée par les 3 tests sur 4. Ceci dit, le Q-Q Plot est assez régulier entre le quantile -1 et
1. Les queues de distribution viennent fausser la donnée, démontrant une nouvelle fois que les
données extrêmes sont loin d’être normales. Mais sur la majeur parte de la distribution, la partie
centrale, la normalité serait envisageable plus facilement, Kolmogorov-Smirnov en étant un début de
preuve.
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
20
21. III – Travail avec SAS sur la série temporelle du Spark Spread
1 – Préparation des données
La finalité de l’étude étant de comparer des prévisions et des observations, nous allons tronquer
notre table des 252 dernières observations (un an). Nous identifierons notre série sur les 371
premières observations.
On crée une macro pour séparer notre table :
%macro split(num);
data _null_;
if 0 then set Spark nobs=count;
call symput('numobs',put(count,8.));
run;
%let m=%sysevalf(&numobs/&num,ceil);
data %do J=1 %to &m ; Spark_&J %end; ;
set Spark;
%do I=1 %to &m;
if %eval(&num*(&i-1)) <_n_ <=
%eval(&num*&I) then output Spark_&I;
%end;
run;
%mend split;
%split(371);
Nous nous retrouvons avec Spark_1 et Spark_2, Spark_2 sera comparée plus loin aux prévisions
effectuées sur la série.
2 – Travail sur la série des rendements hebdomadaires
La première étape va se pencher sur l’utilisation SAS Time Series Viewer en vue de trouver les
premiers indices qui vont être nécessaire à la poursuite de l’identification. La première idée est de
procéder à l’analyse des performances (mouvements en pourcents) plutôt que du prix. En effet, on
l’a vu, la distribution des rendements a une forme de type gaussienne, la moyenne est relativement
stable. On a bien plus de chance d’obtenir une série stationnaire avec cette série plutôt qu’avec les
prix dont la moyenne dépend clairement de t. Ceci dit, comme on l’a dit, il s’agit en fait d’une série
différenciée si l’on réfléchit bien. Mais d’un point de vue financier, le prix est presque secondaire, on
travaille en masse monétaire en fonction des performances potentielles futures.
L’impact du prix peut être important sur des marchés peu liquides, les prix « ronds » ou figures (10,
25, 100, etc,…) déclencheront des seuils psychologiques d’achat ou des vente. Cet impact n’est
visible que sur les marchés à faible nombre d’opérateurs. La liquidité et le nombre d’opérateurs sont
suffisants sur le marché du spark spread pour négliger cet effet. De plus, il est difficile de manipuler
le prix d’un spread, chaque composant du spread (on dit chaque patte) peut se traiter séparément et
chacune des deux pattes entrent dans la composition d’autres spreads (l’électricité dans le dark
spread qui est le spread électricité contre charbon, le gaz naturel dans des spread interplace, le
spread correspondant alors au cout implicite de fret,…) augmentant la liquidité et l’efficience du
marché.
Comme approche, on choisira de partir du (supposé) plus simple, du modèle le moins riche, pour
affiner si nécessaire. Ainsi, on va commencer par étudier la série des rendements hebdomadaires.
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
21
22. Analysons donc la série des performances hebdomadaires, WPer. Le graphique ci-dessous nous
montre la série. La variance ne semble pas constante (il y a hétéroscédasticité, une évidence pour les
séries financières, évidence souvent négligée ceci dit) mais la série semble stationnaire, la moyenne,
proche de 0, ne semble pas dépendre de t.
Examinons les ACF et PACF.
L’ACF est clairement oscillante et tend relativement vite vers 0 concordant avec l’impression de
stationnarité que nous avons eue. L’ACF s’annule après un décalage de 3, nous avons manifestement
une piste assez sérieuse d’AR(3). Le PACF devrait alors être nul après un décalage de 4 s’il n’y avait
pas de composante MA, on peut imaginer qu’il y en a une, ce qui expliquerai que les ordres 5, 9 ou
13 sont significatifs sur la PACF, commençons par le simple et testons notre une procédure ARIMA.
proc arima data=Work.Spark_1;
i var = WPer;
e p=3 plot;
run;
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
22
23. Conditional Least Squares Estimation
Standard
Parameter
Estimate
Error
MU
0.0046626
0.0034945
AR1,1
0.70815
0.05216
AR1,2
0.09537
0.06399
AR1,3
-0.13300
0.05223
t Value
1.33
13.58
1.49
-2.55
Approx
Pr > |t|
0.1830
<.0001
0.1370
0.0113
Lag
0
1
2
3
La p-value est significative. Le bruit résiduel peut-il être considéré comme blanc pour autant ?
Autocorrelation Check of Residuals
To
ChiPr >
Lag
Square
DF
ChiSq
--------------------Autocorrelations-------------------6
97.06
3
<.0001
-0.043
0.050
0.219
-0.431
0.147
0.020
12
113.25
9
<.0001
-0.080
0.098
-0.075
0.099
0.057
-0.090
18
119.47
15
<.0001
0.016
-0.105
-0.060
0.036
-0.008
-0.002
24
123.26
21
<.0001
0.026
-0.031
0.060
0.039
-0.046
0.028
30
126.58
27
<.0001
-0.073
-0.020
0.025
-0.003
-0.043
0.011
36
132.29
33
<.0001
0.031
-0.032
0.088
0.008
-0.066
-0.000
Malheureusement, non, les p-value du Khi-Deux n’étant pas significatives. Explorons alors notre
potentielle composante MA. Compte tenue de la PACF, la composante MA, s’il y en a une, sera
d’ordre modéré.
proc arima data=Work.Spark_1;
i var = WPer;
e p=3 q=3 plot;
run;
L’ordre 3 nous donne d’excellents résultats. Le bruit résiduel peut être considéré comme étant
blanc :
Autocorrelation Check of
To
ChiLag
Square
DF
6
.
0
12
7.20
6
18
11.82
12
24
15.07
18
30
20.92
24
36
24.54
30
42
27.46
36
48
31.40
42
Residuals
Pr >
ChiSq
.
0.3023
0.4604
0.6574
0.6433
0.7470
0.8457
0.8844
--------------------Autocorrelations-------------------0.006
-0.005
-0.000
-0.045
0.030
-0.035
-0.008
0.035
-0.044
0.074
0.053
-0.056
-0.010
-0.101
-0.028
-0.001
0.030
-0.008
-0.004
-0.001
0.031
0.068
-0.045
0.026
-0.104
0.032
0.003
0.007
-0.051
0.020
0.018
-0.014
0.071
0.008
-0.055
-0.015
-0.020
-0.041
-0.000
0.021
0.008
-0.067
0.002
0.051
-0.066
-0.049
0.002
0.004
Aussi, nos critères AIC et SBC était respectivement de -1747 et -1731 sans composante MA, avec, ils
passent respectivement à -1918 et -1891, ils s’améliorent donc. Nous venons donc d’identifier avec
succès un processus ARMA(3,3) ! Passons alors maintenant à une prévision de la série. Nous allons
opérer cette prévision sur 10 observations.
proc arima data=Work.Spark_1;
i var = WPer;
e p=3 q=3 plot;
f lead=10 out = Work.PredictW;
run;
proc print data=Work.PredictW(firstobs=372);
run;
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
23
25. La série non différencié ne semble pas présenter de dynamique particulière. Créons une
différenciation de premier ordre :
La variance ne semble pas constante mais le série semble évoluer autours de 0, on a un indice de
stationnarité. Analysons les ACF et PACF.
Les coefficients d’autocorrélation de l’ACF sont significativement non nuls aux ordres 1, 3 et 5. Ceci
dit, l’ACF s’annule brutalement après l’ordre 1. La PACF semble s’annuler plus ou moins
exponentiellement et être nul après l’ordre 4. On va opter pour un AR(1) avec une composante
MA(4).
proc arima data=Work.Spark_1;
i var = Per nlag=1;
e p=1 q=4 plot;
run;
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
25
26. On remarque qu’on a impute la différenciation dans le modèle. Les sorties des prévisions (plus tard)
seront applicables à la série initiale, SAS « annule » la différenciation pour faciliter la lecture.
Conditional Least Squares Estimation
Standard
Parameter
Estimate
Error
MU
0.0012168
0.0008311
MA1,1
-0.81570
0.11007
MA1,2
0.10782
0.06744
MA1,3
-0.05707
0.06807
MA1,4
-0.03922
0.06521
AR1,1
-0.84938
0.09411
t Value
1.46
-7.41
1.60
-0.84
-0.60
-9.03
Approx
Pr > |t|
0.1440
<.0001
0.1107
0.4023
0.5480
<.0001
Lag
0
1
2
3
4
1
Regardons si le bruit résiduel peut être considérer comme un bruit blanc.
Autocorrelation Check of
To
ChiLag
Square
DF
6
1.06
1
12
6.18
7
18
12.65
13
24
14.89
19
30
19.63
25
36
22.29
31
42
24.70
37
48
27.95
43
Residuals
Pr >
ChiSq
0.3036
0.5188
0.4755
0.7293
0.7662
0.8738
0.9392
0.9632
--------------------Autocorrelations--------------------0.000
0.001
-0.001
-0.007
0.032
-0.041
-0.047
0.073
-0.029
0.049
0.035
-0.038
-0.016
-0.118
-0.028
0.012
0.022
-0.034
0.010
0.013
0.040
0.048
-0.036
0.014
-0.090
0.006
0.016
-0.010
-0.058
-0.001
0.041
-0.020
0.055
-0.013
-0.022
-0.027
-0.037
-0.041
0.023
-0.001
-0.001
-0.048
0.010
0.029
-0.072
-0.036
-0.003
-0.017
C’est toujours concluant. Les résidus de la série différenciée et ajustée à un modèle ARMA(1,4) sont
un bruit blanc. Passons à l’étape prédiction.
proc arima data=Work.Spark_1;
i var = Per nlag=1;
e p=1 q=4 plot;
f lead=10 out = Work.PrediPl1;
run;
proc print data=Work.PrediPl1(firstobs=372);
run;
Obs
372
373
374
375
376
377
378
379
380
381
Per
.
.
.
.
.
.
.
.
.
.
FORECAST
0.002798957
-.000795097
0.002354554
0.000133145
0.002137257
0.000435011
0.001880859
0.000652789
0.001695884
0.000809903
STD
0.016390
0.016399
0.016451
0.016577
0.016612
0.016638
0.016657
0.016670
0.016679
0.016686
L95
-0.029325
-0.032937
-0.029888
-0.032356
-0.030422
-0.032175
-0.030765
-0.032020
-0.030995
-0.031895
U95
0.034923
0.031347
0.034597
0.032623
0.034697
0.033045
0.034527
0.033325
0.034387
0.033515
RESIDUAL
.
.
.
.
.
.
.
.
.
.
Comme on l’a dit auparavant, ces prévisions sont ramenées à la série originale et non la série
différenciée. On peut alors exploiter cette série de prédictions de façon directe.
Le graphique suivant montre les résultats, les intervalles et notre spread réel durant les 10 périodes.
Les résultats semblent assez bons, légèrement en retard mais assez fideles aux observations et la
qualité de l’observation ne se détériore pas excessivement.
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
26
27. Les résultats semblent meilleurs que la modélisation de notre performance hebdomadaire. Ceci dit,
nous verrons par la suite quel est, empiriquement, le meilleur modèle au sens résultats financiers.
4 – Bilan
Nous avons identifié et estimé un modèle pour chacun de nos séries : ARMA(3,3) pour les
rendements hebdomadaires, ARMA(1,4) pour notre série des rendements quotidiens. La suite de
l’étude va pousser un peu plus l’étude concernant les prévisions. En effet, le but de nos prédictions
sera de prendre des décisions d’investissement. Pour l’exemple, celles-ci seront systématiques selon
des critères que l’on se fixera.
Il n’est pas surprenant d’avoir eu des modèles ARMA. Les opérateurs de marchés regardent les
performances passées pour prendre des décisions. Il est donc logique de retrouver des
autocorrélations et phénomènes de moyenne mobile.
Nous poserons deux contraintes. La première pour se placer dans une situation la plus proche de la
réalité, à savoir nous ne pas disposer à un moment donné des cours futurs. Ensuite, la prévision se
dégradant assez vite, il faudra relancer les modèles pour tous les jours de trading en vue de
recalculer les facteurs des modèles ARMA pour une précision la plus pointue possible.
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
27
28. IV – Prévision et résultats financiers
1 – Contraintes, méthodes et objectifs
On l’a évoqué en fin de partie précédente, il faudra faire en sorte de ne pas disposer pour la
prévision au jour J de donnés a J+1. En effet, le but final étant d’appliquer la stratégie au marché réel
il faut se placer dans la même situation que celle que nous rencontrerions.
On procédera alors jour par jour. On effectuera des prévisions renouvelées tous les jours en vue
d’avoir les meilleurs paramètres possibles. Cela nécessitera de programmer SAS car il va nous falloir
opérer à quelques centaines de procédures ARIMA. Il va falloir optimiser tout ceci.
Ensuite, le back testing des la stratégie sera fait dans Excel, logiciel référence des salles de marchés.
SAS va nous sortir nos données en Excel et le langage de programmation d’Excel, Visual Basic, va
nous calculer les résultats de la stratégie.
L’objectif et de voir si un modèle économétrique peut servir de base à des stratégies de trading
systématiques et de voir quel résultat financier une telle méthode aurait.
2 – Stratégie et implications financières
Nous allons mettre au point une stratégie sur 5 jours, autrement dit du trading très dynamique,
court terme. On estimera que le coût du capital (les traders emprunte le capital à l’entreprise, ils
payent des intérêts) et les frais de courtage seront de 0.05% sur 5 jours en considérant deux ordres :
un d’achat puis un de vente, ou l’inverse. En effet, il est tout à fait possible, en prise de position
initiale, d’acheter ou de vendre un contrat. L’acheteur, s’il porte le contrat à maturité, recevra le
sous-jacent (ici il achètera de l’électricité et devra vendre, et donc livrer, du gaz), le vendeur devra
livrer le sous jacent (ici il vendra de l’électricité et achètera du gaz). Les opérations faites à des fins
de spéculation ne sont jamais menés à échéance et ce pour des raisons évidentes de logistique :
trading financier et trading physique n’ont pas les mêmes implications et les structures nécessaires a
la bonne fin des opérations sont différents.
Etant Risk Manager, je me dois de fixer une limite de risque. La limite de risque communément
donnée pour ce genre d’opérations est la « Value at Risk » (VaR). Elle représente la perte extrême
potentielle (avec un intervalle de confiance de 5% en général mais aussi 1%) par jour. Sur la courbe
de densité des rendements, on isole tout simplement les 5% ou 1% à gauche. On prendra 1% telque
c’est les cas chez RBS Sempra Commodities.
On reprend notre table Spark_1 dans SAS et la série Per.
La moyenne est de 0.12% et la volatilité (l’écart-type) de 1.66%. Ainsi, en supposant que la série Per
est distribuée normalement, 99% des rendements quotidiens seront supérieurs à -3.74%. Ainsi, à
1%, il s’agit de notre perte extrême. Il faut ramener ceci à un montant. En effet, le trader va être
autorisé à une perte maximale potentielle quotidienne en dollars. Un petit portefeuille a une VaR de
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
28
29. 1 million de dollars, on prendra ce montant. Ainsi, on pourra investir jusqu'à 26,725,552 dollars, soit
environ 17 millions de livres, c’est le capital que l’on affectera au jour 1 de notre stratégie. Cela fait
une quantité d’un peu plus de 1 Tera Wattheure de spread.
Sur 5 jours, il faudra couvrir les frais de courtage et financement. Alors, on pourrait investir notre
capital en achetant le spread seulement quand la prévision à 5 jours serait supérieure à 0.05%, ou le
vendra quand la prévision serait inférieure à -0.05%. Ceci dit, il ne faut pas oublier de rapporter ceci
au montant investi. Avec 17 millions de livres, on ne peut décemment pas baser une stratégie sur un
gain potentiel de 8,500 livres (0.05%), je « jeu » doit en valoir la chandelle. On se fixera une limite 10
fois plus élevées soit un gain de 0.50% (85,000 livres) auxquels on déduira nos frais. De plus, plus le
signal crée sera fort, plus il sera fiable. On maintiendra la position au maximum 5 jours. Si un signal
inverse intervient avant les 5 jours, la position sera coupée et la position inverse qui nous a été
signalée prise. En cas de signal identique au cours ou à l’issue des 5 jours, la position sera prolongée
et on économisera 50% des frais de courtage puisque l’on ne passera pas d’ordre sur le marché.
3 – Préparation des données
Il nous faut jusqu'à 5 jours avant la fin de notre série (soit jusqu'à la donnée 618), toute les
prédictions réactualisées au jour le jour et les exporter en fichier Excel.
%macro RunWAll(nbday);
%do TradDay=371 %to &nbday;
%split(&TradDay.);
proc arima data=Work.Spark_1;
i var = WPer;
e p=3 q=3 plot;
f lead=5 out = Work.PredictW;
run;
quit;
proc export DATA = Work.PredictW OUTFILE =
"C:UsersVinzDesktopWeekWdata_&TradDay."
sheet = "Data" ;
run;
%end;
run;
%mend RunWAll;
dbms = excel REPLACE ;
%RunWAll(nbday=618);
La macro ci-dessus va créer notre Table Spark_1 (données historiques), lancer une proc ARIMA et
exporter le fichier des prévisions en format Excel puis incrémenter d’un jour. Il suffira de changer le
nom de la variable (on le fait pour WPer et Per) et le lag dans la partie identification de notre proc
ARIMA et d’adapter nos paramètres dans la partie estimation pour passer d’une série à l’autre.
%macro RunWAll(nbday);
%do TradDay=371 %to &nbday;
%split(&TradDay.);
proc arima data=Work.Spark_1;
i var = Per nlag=1;
e p=1 q=4 plot;
f lead=5 out = Work.Predict;
run;
quit;
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
29
30. proc export DATA = Work.Predict OUTFILE =
"C:UsersVinzDesktopWeekdata_&TradDay."
sheet = "Data" ;
run;
%end;
run;
%mend RunWAll;
dbms = excel REPLACE ;
%RunWAll(nbday=618);
Sur un ordinateur performant, les 596 (deux fois 248) proc ARIMA et exports ne prennent guère plus
de 4 minutes. On obtient alors autant de fichiers Excel dont les 5 dernières lignes sont les prévisions.
On crée un fichier Excel dans lequel on présente toutes les valeurs de nos spread dans une colonne.
Le but sera de confronter les signaux obtenus avec les véritables données de marché, impacter les
frais et comparer la performance du spread et celle de notre stratégie. On crée ensuite un module
Visual Basic et la macro suivante :
Sub Semaine()
'Répertoire contenant les fichiers SAS exportes
Path = "C:Documents and SettingsvjeanninDesktopWeek"
For i = 371 To 618 'Incrémentation des jours
Posit = 0 'Initialisation de la position a 0
File = "Wdata_" & i & ".xls" 'Fichier de Forecats correspondant au jour
Workbooks.Open (Path & File) ' Ouverture du fichier
LineFr = i + 2 'Premiere ligne de Forecats
If Posit = 0 Then
'Calcul du spread forecastee
SpdW = ThisWorkbook.Sheets(1).Cells(i - 2, 1) * (1 +
Workbooks(File).Sheets(1).Cells(LineFr, 2)) * (1 +
Workbooks(File).Sheets(1).Cells(LineFr + 4, 2))
'Calcul de la performance hebdomadaire Forecastee
WVar = SpdW / ThisWorkbook.Sheets(1).Cells(i + 1, 1) - 1
'Prise de position si critere rempli
If Abs(WVar) > 0.005 Then
If WVar > 0 Then
Posit = 1
Else
Posit = -1
End If
End If
End If
Workbooks(File).Close 'Fermeture du fichier
ThisWorkbook.Sheets(1).Cells(i + 1, 2) = Posit 'Affichage du Signal
Next i
'Extrapolation a 5 jours et retournement des positions
Range("C372:C624").ClearContents
For j = 372 To 619
If ThisWorkbook.Sheets(1).Cells(j, 2) <> 0 Then
ThisWorkbook.Sheets(1).Cells(j, 3) =
ThisWorkbook.Sheets(1).Cells(j, 2)
ThisWorkbook.Sheets(1).Cells(j + 1, 3) =
ThisWorkbook.Sheets(1).Cells(j, 2)
ThisWorkbook.Sheets(1).Cells(j + 2, 3) =
ThisWorkbook.Sheets(1).Cells(j, 2)
ThisWorkbook.Sheets(1).Cells(j + 3, 3) =
ThisWorkbook.Sheets(1).Cells(j, 2)
ThisWorkbook.Sheets(1).Cells(j + 4, 3) =
ThisWorkbook.Sheets(1).Cells(j, 2)
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
30
31. ThisWorkbook.Sheets(1).Cells(j + 5, 3) =
ThisWorkbook.Sheets(1).Cells(j, 2)
End If
Next j
End Sub
Nous nous retrouvons avec un fichier Excel avec 3 colonnes. La première est celle du spread, donnée
réelle, la seconde est le signal crée par les prévisions et la troisième notre position (extrapolation du
signal à 5 jours ou retournement de la position).
En ce qui concerne la macro qui concerne la série des rendements quotidiens, seuls les noms de
fichiers et la formule de calcule du spread issue de la prévision change. Ainsi cette formule devient :
SpdW = ThisWorkbook.Sheets(1).Cells(i - 2, 1) * (1 +
Workbooks(File).Sheets(1).Cells(LineFr, 2)) * (1 +
Workbooks(File).Sheets(1).Cells(LineFr + 1, 2)) * (1 +
Workbooks(File).Sheets(1).Cells(LineFr + 2, 2)) * (1 +
Workbooks(File).Sheets(1).Cells(LineFr + 3, 2)) * (1 +
Workbooks(File).Sheets(1).Cells(LineFr + 4, 2))
Il ne nous reste plus qu’à affecter à notre capital les rendements crées par les prises de position et
impactés des frais. Nous allons ensuite comparer nos 3 séries : le spread, la stratégie basée sur la
modélisation des rendements hebdomadaires et celles basée sur les rendements quotidiens.
4 – Résultats
On a fait tourner nos macros SAS et Excel, on regroupe nos données. On présente ensuite le
graphique en base 100 au 9 septembre 2008. La stratégie cours jusqu’au 27 août 2009.
120
110
100
90
Spread
Week
Day
80
70
60
Aug 2009
Jul 2009
Aug 2009
Jul 2009
Jun 2009
Jun 2009
Jun 2009
May 2009
Apr 2009
May 2009
Apr 2009
Mar 2009
Mar 2009
Feb 2009
Jan 2009
Feb 2009
Jan 2009
Dec 2008
Dec 2008
Dec 2008
Nov 2008
Nov 2008
Oct 2008
Oct 2008
Sep 2008
Sep 2008
50
Sur la période d’étude considérée, la stratégie basée sur la modélisation de la série des rendements
hebdomadaires donne de meilleurs résultats que la stratégie base sur la modélisation des
rendements quotidiens. Le tableau suivant compare les rendements sur la période et les volatilités.
M2 Statistiques et Econométrie - Université de Toulouse 1
31
Vincent JEANNIN
32. Sur la période, la stratégie basée sur la modélisation procure de très bons résultats. Le rendement
global de la stratégie (5.28%) est bien supérieur à la performance du spread sur la période (-5.85%)
et la volatilité est diminue légèrement (à 2.60% contre 2.63%) : moins de risque, plus de rendement,
c’est une stratégie complètement acceptable
A l’opposé, la stratégie sur la modélisation de la série quotidienne est une catastrophe. Elle est
massivement perdante, près d’un tiers du capital de départ s’est envolé. On peut identifier 2 causes.
La série des rendements hebdomadaires est une sorte de série différenciée, elle apporte un lissage
et est beaucoup plus facile à prédire que des rendements quotidiens. Aussi, du fait de l’absence de
lissage, la variabilité de la série étant forte et changeante, peut être conviendrait-il de relancer une
identification de la série de façon périodique.
Il est intéressant de voir comment se comportent les séries. Par des simples filtres on peut voir que
les rendements négatifs du spread sont en moyenne de -2.68% avec un écart-type de 1.81%.
Lorsque ces rendements négatifs interviennent, la série du modèle « semaine » a -1.85% de
moyenne avec un écart-type de 2.65%. Le modèle est alors moins sensible aux rendements négatifs
et les atténue mais avec une variance plus forte. La série du modèle « jour » a, selon la même
méthodologie, une moyenne de -2.68% avec un écart-type de 2.61%. Autrement dit, la série est
aussi sensible aux rendements négatifs avec une variabilité plus forte. A l’opposé, si l’on regarde les
rendements positifs du spread (en moyenne 2.49% avec un écart-type de 1.84%), la moyenne des
rendements ces jours là est de -0.15% avec un écart-type de 2.66% pour la série « semaine ».
Autrement dit, notre modèle capte très mal les mouvements haussiers et la performance positive du
modèle n’est due qu’à la minimisation des rendements négatifs. Enfin, la série « jour », lors des
rendements positifs du spread, a une moyenne de 0.45% avec un écart-type de 2.67% : même
phénomène sauf ce n’est pas compensé par une limitation des pertes.
5 – Bilan
Ceci permet de relativiser le bon résultat de la modèle « semaine ». En effet, il n’est pas bon car il
capte les gains, mais parce qu’il limite les pertes. En tendance haussière régulière il serait peut-être
alors aussi mauvais.
Quoi qu’il en soit on a pris conscience de la difficulté de modéliser une série financière à des fins de
prévisions. Ceci dit, les possibilités sont infinies. La première idée sera de réactualiser l’identification
du modèle. Notre modèle de la série des rendements hebdomadaire va peut-être très peu bouger
mais celui des rendements quotidiens est susceptible de varier assez vite et il est essentiel, pour leur
fiabilité, que les prévisions soient faites en adéquation à la série, au modèle le plus performant.
Aussi, nous avons mis en place une stratégie systématique choisie de façon discrétionnaire. Il en
existe autant que l’on peut en créer, ce n’était probablement pas la meilleure. Ainsi, par exemple, on
met souvent en place des stratégies de « stopp loss » systématique, Ainsi, si la position perd plus
d’un certain pourcentage, elle est automatiquement soldée. De même, des « trailing stops » sont
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
32
33. souvent mis en œuvre. Il s’agit de protéger les gains latents. Ainsi si une position gagne 1%, un
« stop loss » sera placé de façon à, s’il se d’éclanche, conserver une part des gains effectués. Le
« stop loss » monte avec le rendement mais ne baisse pas avec.
Enfin, nous avons choisi d’analyser 2 séries logiques, les rendements quotidiens et hebdomadaires,
mais cela n’est en rien limitatif les possibilités sont là aussi infinies. On aurait pu modéliser
directement le prix, des moyennes mobiles de prix, des rendements logarithmiques,… La recherche
d’un modèle performant pour une utilisation professionnelle passe par l’étude d’une grande
quantité de possibilités.
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
33
34. Conclusion
Les marchés d’énergies sont aujourd’hui des marchés financiers comme les autres. Ainsi, de
nombreux operateurs sont entres sur ce marché de façon récente. Le « credit crunch » et un pétrole
se dirigeant vers les 100 dollars par barils ont crée un effet de vases communiquant : les
investisseurs ont quitté une classe d’actifs (le crédit) pour tenter leur chance sur la matière
premières et notamment les énergies.
La finance et le trading en particulier sont de plus en plus souvent systématiques, les prises de
décisions se font sur des modèles mathématiques, des analyses quantitatives, des arbitrages
statistiques,… Le secteur de l’énergie n’y a pas échappé.
Il était donc intéressant d’une part d’analyser et décrire nos données avec SAS, logiciel très peu
utilisé en salle de marchés (Excel, Visual Basic, SQL et C++ sont les logiciels et langages les plus
utilisés) et d’autre part d’essayer de développer un modèle de trading systématique basé sur un
modèle économétrique.
Un de nos modèles est un échec, c’est incontestable. Mais, comme on l’a dit, c’est probablement un
problème de méthodologie compte tenu de la série et de sa structure, cela ne veut pas dire qu’on ne
peut rien tirer de la série des rendements quotidiens, d’autre approches (renouveler l’identification
périodiquement, changer la stratégie,…) peuvent peut-être mener à de bien meilleurs résultats.
L’autre modèle nous a donné de bons résultats, nous avons apporte une surperformance
significative. Ceci dit, on a vu que cette performance était due à une limitation des pertes plus qu’a
une maximisation de gains. Un contexte de marché purement haussier donnerait peut être de
mauvais résultats.
Aussi, cette approche a été théorique. Il n’existe pas de contrat standardisé sur le spark spread,
autrement dit, les transactions se font de gré à gré, il n’y a pas de cote officielle. Alors, nos prix sont
un reflet des offres et demandes du marché en fin de journée : il peut comporter un biais si seules
les données fournies en fin de journée sont les plus pessimistes ou optimistes. Aussi, on a considère
que l’on pouvait traiter une opération à son cours de clôture : ce n’est pas nécessairement le cas.
Enfin, nous avons passe des opérations de plus d’un Téra Wattheure. En condition de marche
normale, cette quantité peut passer sans souci mais le marche n’est pas toujours aussi liquide. Les
résultats sont alors à relativiser.
Quoi qu’il en soit, ceci nous a donné de belles perspectives d’études pour l’avenir.
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN
34