SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Obs
372
373
374
375
376
377
378
379
380
381

WPer
.
.
.
.
.
.
.
.
.
.

FORECAST
-0.016938
-0.014893
-0.010915
0.001708
0.000528
0.001090
0.002571
0.002259
0.002356
0.002527

STD
0.017559
0.023521
0.027790
0.031991
0.031991
0.032038
0.032085
0.032086
0.032086
0.032087

L95
-0.051353
-0.060993
-0.065383
-0.060994
-0.062174
-0.061704
-0.060315
-0.060628
-0.060532
-0.060362

U95
0.017478
0.031208
0.043552
0.064409
0.063230
0.063883
0.065457
0.065146
0.065244
0.065416

RESIDUAL
.
.
.
.
.
.
.
.
.
.

Grace à cela, nous allons recalculer les valeurs du spread et les comparer aux valeurs réelles.

La prédiction se dégradera, on le voit, assez vite. L’horizon d’investissement étant la semaine, on se
limitera à 5 prédictions par la suite. A cette échelle la prédiction semble relativement bonne, au
moins elle est dans le bon sens, c’est ce qui, en fait, nous importe le plus.
3 – Travail sur la série des rendements quotidiens
On va suivre exactement la même approche sur la série des rendements quotidiens. Le but sera de
choisir la meilleure série à étudier.
Mon a priori était le suivant : la série hebdomadaire serait plus facile à modéliser du fait d’une
hétéroscédasticité moins prononcée. Dans un marché purement tendanciel, ceci pourrait être vrai.
Là, on a vu que le cours du spread n’a pas une tendance unique. Sur la période d’étude, il y a une
grosse tendance haussière (avec du « bruit » prononcé), une correction rapide par une tendance
baissière, elle aussi « bruitée », et un rebond tendanciel haussier. L’écart-type des rendements est
plus élevé ce qui vient annihiler l’espoir d’un lissage et d’une réduction prononcée de
l’hétéroscédacité. Ceci dit, l’identification a été relativement aisée et on testera dans la quatrième
partie les résultats financiers d’une méthode de trading basée sur une stratégie issue de cette
modélisation.
M2 Statistiques et Econométrie - Université de Toulouse 1
Vincent JEANNIN

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

Contenu connexe

Similaire à Analyse et modélisation du UK Spark Spread pour la création d’une stratégie systématique de trading

Le stockage de l’électricité au service des interconnexions des réseaux élect...
Le stockage de l’électricité au service des interconnexions des réseaux élect...Le stockage de l’électricité au service des interconnexions des réseaux élect...
Le stockage de l’électricité au service des interconnexions des réseaux élect...Baptiste Metz
 
Rapport d'activité 2013 CRE
Rapport d'activité 2013 CRERapport d'activité 2013 CRE
Rapport d'activité 2013 CREThe Smart Company
 
Conférence TechnoArk 2016 - 05 nordmann
Conférence TechnoArk 2016 - 05 nordmannConférence TechnoArk 2016 - 05 nordmann
Conférence TechnoArk 2016 - 05 nordmannLaurent Borella
 
Les réseaux de gaz demain : les enjeux d’une conversion énergétique | LIEGE C...
Les réseaux de gaz demain : les enjeux d’une conversion énergétique | LIEGE C...Les réseaux de gaz demain : les enjeux d’une conversion énergétique | LIEGE C...
Les réseaux de gaz demain : les enjeux d’une conversion énergétique | LIEGE C...Nancy BOVY
 
Effacite énergétique et economie suisse
Effacite énergétique et economie suisseEffacite énergétique et economie suisse
Effacite énergétique et economie suisseeconomie_suisse
 
Ingénierie Durable - Rapport Final - Smart Grid - v0.9
Ingénierie Durable - Rapport Final - Smart Grid - v0.9Ingénierie Durable - Rapport Final - Smart Grid - v0.9
Ingénierie Durable - Rapport Final - Smart Grid - v0.9Martin Charle
 
154 infose juin_juil2020
154 infose juin_juil2020154 infose juin_juil2020
154 infose juin_juil2020Saul VILLAMIZAR
 
Le développement éolien en Wallonie
Le développement éolien en WallonieLe développement éolien en Wallonie
Le développement éolien en WallonieThe Smart Company
 
La technologie des smart grids - Fabien Hegoburu
La technologie des smart grids - Fabien HegoburuLa technologie des smart grids - Fabien Hegoburu
La technologie des smart grids - Fabien HegoburuFabien Hegoburu
 
Points fort du bouquet électrique
Points fort du bouquet électriquePoints fort du bouquet électrique
Points fort du bouquet électriqueeconomie_suisse
 
ExplorCamp #8 SUNCHAIN
ExplorCamp #8 SUNCHAINExplorCamp #8 SUNCHAIN
ExplorCamp #8 SUNCHAINEnerGaïa
 
Synthèse 18p ademe 100 enr 2050
Synthèse 18p ademe 100 enr 2050Synthèse 18p ademe 100 enr 2050
Synthèse 18p ademe 100 enr 2050Christophe Mangeant
 
Synthèse étude ADEME 100%ENR 2050
Synthèse étude ADEME 100%ENR 2050Synthèse étude ADEME 100%ENR 2050
Synthèse étude ADEME 100%ENR 2050christophemangeant
 

Similaire à Analyse et modélisation du UK Spark Spread pour la création d’une stratégie systématique de trading (20)

Le stockage de l’électricité au service des interconnexions des réseaux élect...
Le stockage de l’électricité au service des interconnexions des réseaux élect...Le stockage de l’électricité au service des interconnexions des réseaux élect...
Le stockage de l’électricité au service des interconnexions des réseaux élect...
 
Rapport d'activité 2013 CRE
Rapport d'activité 2013 CRERapport d'activité 2013 CRE
Rapport d'activité 2013 CRE
 
Conférence TechnoArk 2016 - 05 nordmann
Conférence TechnoArk 2016 - 05 nordmannConférence TechnoArk 2016 - 05 nordmann
Conférence TechnoArk 2016 - 05 nordmann
 
05 nordmann
05 nordmann05 nordmann
05 nordmann
 
Les réseaux de gaz demain : les enjeux d’une conversion énergétique | LIEGE C...
Les réseaux de gaz demain : les enjeux d’une conversion énergétique | LIEGE C...Les réseaux de gaz demain : les enjeux d’une conversion énergétique | LIEGE C...
Les réseaux de gaz demain : les enjeux d’une conversion énergétique | LIEGE C...
 
Journée réseaux de chaleur présentation DGEC
Journée réseaux de chaleur présentation DGECJournée réseaux de chaleur présentation DGEC
Journée réseaux de chaleur présentation DGEC
 
Effacite énergétique et economie suisse
Effacite énergétique et economie suisseEffacite énergétique et economie suisse
Effacite énergétique et economie suisse
 
Ingénierie Durable - Rapport Final - Smart Grid - v0.9
Ingénierie Durable - Rapport Final - Smart Grid - v0.9Ingénierie Durable - Rapport Final - Smart Grid - v0.9
Ingénierie Durable - Rapport Final - Smart Grid - v0.9
 
Schéma guide de création d'un réseau de chaleur
Schéma guide de création d'un réseau de chaleurSchéma guide de création d'un réseau de chaleur
Schéma guide de création d'un réseau de chaleur
 
Soréa mag avril 2017
Soréa mag avril 2017Soréa mag avril 2017
Soréa mag avril 2017
 
Soréa mag avril 2017
Soréa mag avril 2017Soréa mag avril 2017
Soréa mag avril 2017
 
154 infose juin_juil2020
154 infose juin_juil2020154 infose juin_juil2020
154 infose juin_juil2020
 
Le développement éolien en Wallonie
Le développement éolien en WallonieLe développement éolien en Wallonie
Le développement éolien en Wallonie
 
146 infose oct2019
146 infose oct2019146 infose oct2019
146 infose oct2019
 
La technologie des smart grids - Fabien Hegoburu
La technologie des smart grids - Fabien HegoburuLa technologie des smart grids - Fabien Hegoburu
La technologie des smart grids - Fabien Hegoburu
 
Points fort du bouquet électrique
Points fort du bouquet électriquePoints fort du bouquet électrique
Points fort du bouquet électrique
 
ExplorCamp #8 SUNCHAIN
ExplorCamp #8 SUNCHAINExplorCamp #8 SUNCHAIN
ExplorCamp #8 SUNCHAIN
 
Rapport tea groupe1
Rapport tea groupe1Rapport tea groupe1
Rapport tea groupe1
 
Synthèse 18p ademe 100 enr 2050
Synthèse 18p ademe 100 enr 2050Synthèse 18p ademe 100 enr 2050
Synthèse 18p ademe 100 enr 2050
 
Synthèse étude ADEME 100%ENR 2050
Synthèse étude ADEME 100%ENR 2050Synthèse étude ADEME 100%ENR 2050
Synthèse étude ADEME 100%ENR 2050
 

Plus de Vincent JEANNIN

Financial Econometric Models IV
Financial Econometric Models IVFinancial Econometric Models IV
Financial Econometric Models IVVincent JEANNIN
 
Financial Econometric Models III
Financial Econometric Models IIIFinancial Econometric Models III
Financial Econometric Models IIIVincent JEANNIN
 
Financial Econometric Models II
Financial Econometric Models IIFinancial Econometric Models II
Financial Econometric Models IIVincent JEANNIN
 
Financial Econometric Models I
Financial Econometric Models IFinancial Econometric Models I
Financial Econometric Models IVincent JEANNIN
 

Plus de Vincent JEANNIN (9)

Applied Statistics IV
Applied Statistics IVApplied Statistics IV
Applied Statistics IV
 
Financial Econometric Models IV
Financial Econometric Models IVFinancial Econometric Models IV
Financial Econometric Models IV
 
VBA for Finance
VBA for FinanceVBA for Finance
VBA for Finance
 
Applied Statistics III
Applied Statistics IIIApplied Statistics III
Applied Statistics III
 
Financial Econometric Models III
Financial Econometric Models IIIFinancial Econometric Models III
Financial Econometric Models III
 
Applied Statistics II
Applied Statistics IIApplied Statistics II
Applied Statistics II
 
Financial Econometric Models II
Financial Econometric Models IIFinancial Econometric Models II
Financial Econometric Models II
 
Financial Econometric Models I
Financial Econometric Models IFinancial Econometric Models I
Financial Econometric Models I
 
Applied Statistics I
Applied Statistics IApplied Statistics I
Applied Statistics I
 

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
  • 24. Obs 372 373 374 375 376 377 378 379 380 381 WPer . . . . . . . . . . FORECAST -0.016938 -0.014893 -0.010915 0.001708 0.000528 0.001090 0.002571 0.002259 0.002356 0.002527 STD 0.017559 0.023521 0.027790 0.031991 0.031991 0.032038 0.032085 0.032086 0.032086 0.032087 L95 -0.051353 -0.060993 -0.065383 -0.060994 -0.062174 -0.061704 -0.060315 -0.060628 -0.060532 -0.060362 U95 0.017478 0.031208 0.043552 0.064409 0.063230 0.063883 0.065457 0.065146 0.065244 0.065416 RESIDUAL . . . . . . . . . . Grace à cela, nous allons recalculer les valeurs du spread et les comparer aux valeurs réelles. La prédiction se dégradera, on le voit, assez vite. L’horizon d’investissement étant la semaine, on se limitera à 5 prédictions par la suite. A cette échelle la prédiction semble relativement bonne, au moins elle est dans le bon sens, c’est ce qui, en fait, nous importe le plus. 3 – Travail sur la série des rendements quotidiens On va suivre exactement la même approche sur la série des rendements quotidiens. Le but sera de choisir la meilleure série à étudier. Mon a priori était le suivant : la série hebdomadaire serait plus facile à modéliser du fait d’une hétéroscédasticité moins prononcée. Dans un marché purement tendanciel, ceci pourrait être vrai. Là, on a vu que le cours du spread n’a pas une tendance unique. Sur la période d’étude, il y a une grosse tendance haussière (avec du « bruit » prononcé), une correction rapide par une tendance baissière, elle aussi « bruitée », et un rebond tendanciel haussier. L’écart-type des rendements est plus élevé ce qui vient annihiler l’espoir d’un lissage et d’une réduction prononcée de l’hétéroscédacité. Ceci dit, l’identification a été relativement aisée et on testera dans la quatrième partie les résultats financiers d’une méthode de trading basée sur une stratégie issue de cette modélisation. M2 Statistiques et Econométrie - Université de Toulouse 1 Vincent JEANNIN 24
  • 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