Vous êtes sur la page 1sur 31

Manuel d'Introduction au Logiciel RATS

Laurent Ferrara1
Octobre 2004 Version 2

Centre dObservation Economique, 27 avenue de Friedland, 75382 Paris Cedex 08. ml : lferrara@ccip.fr site : http//lo.ferrara.free.fr

Plan
Introduction 1. Premiers pas avec RATS 2. Oprations sur les sries 3. Oprations sur les tableaux 4. Outils de programmation p.1 p.4 p.10 p.19 p.25

Introduction au logiciel RATS

Introduction
Le but de ce manuel est d'initier le praticien, statisticien ou conomtre, l'utilisation du logiciel RATS (Regression Analysis of Times Series). Nous considrons ici la version 5 du logiciel, tout en sachant qu'une version 6 vient dtre diffuse rcemment. Toutefois, les procdures prsentes dans ce document fonctionnent avec la nouvelle version ainsi quavec lancienne version 4 du logiciel. Dans ce manuel, nous ne rentrons pas dans le dtail des mthodes statistiques et conomtriques de traitement des sries temporelles, et nous renvoyons le lecteur dj connaisseur des fonctionnalits du logiciel au polycopi intitul "Economtrie des sries chronologiques avec le logiciel RATS" disponible sur le site Internet http://lo.ferrara.free.fr dans la rubrique Rats. Le logiciel RATS est un logiciel entirement ddi l'tude des sries chronologiques et se distingue ainsi des autres logiciels de statistiques prsents sur le march, tels que SAS, SPlus ou SPSS. L'objet de base manipul dans ce logiciel est donc une srie chronologique. Cependant, RATS permet galement d'effectuer, entre autres, du calcul matriciel, ce qui largit considrablement sa palette des mthodes statistiques utilisables. Le logiciel RATS possde un nombre important de fonctions et d'instructions internes, qui en font un des logiciels de traitement des sries chronologiques les plus performants. Cependant, un intrt fondamental de RATS est qu'il s'agit d'un logiciel compltement ouvert. A savoir, l'utilisateur est libre de crer ses propres procdures. De nombreux chercheurs universitaires utilisent ce logiciel, et un certain nombre d'entre eux met la disposition du public ses procdures, ce qui permet d'enrichir constamment la bibliothque des mthodes statistiques de traitement des sries chronologiques, utilisables avec RATS. Nous donnons la fin de cette introduction une liste de quelques sites Internet mettant en ligne des procdures RATS. Ce manuel ne prtend pas tre exhaustif et ne dtaille pas toutes les instructions RATS, mais propose plutt d'initier le nophyte la manipulation du logiciel. On se rfre systmatiquement au manuel d'utilisation de RATS (Doan, 1992), fourni par la socit Estima qui distribue le logiciel, pour une description fouille des instructions. Lors d'une session RATS, on recommande vivement l'utilisation du manuel d'utilisation de RATS, ainsi que l'utilisation systmatique de l'aide en ligne du logiciel, qui est assez bien faite. Les rfrences bibliographiques concernant le traitement des sries chronologiques avec RATS ne sont pas nombreuses, mais nous en donnons quelques-unes ci-dessous : Doan, T.A. (1992), RATS User's Manual, Estima, Evanston, IL. Enders, E. (1996), RATS Handbook for Econometric Time Series, Wiley, New York. Enders, E. (2003), RATS Programming Manual,distribu gratuitement par Estima sur leur site web ladresse : www.estima.com McCullough, B.D. (1997), "A review of RATS v4.2: Benchmarking numerical accuracy", Journal of Applied Econometrics, 12, 181-190. Nous avons soulign que le logiciel RATS possde la particularit de s'enrichir rgulirement de nouvelles procdures qui permettent la mise en uvre des techniques statistiques les plus rcentes dans le domaine de la modlisation des sries chronologiques. En particulier, l'analyse multivarie de sries chronologiques par la thorie de la cointgration (voir les articles de Granger (1986), Engle et Granger (1987), Johansen et

Laurent Ferrara

Octobre 2004

Introduction au logiciel RATS

Juselius (1990, 1992, 1994)) a donn lieu la mise au point de deux procdures extrmement dveloppes permettant l'application de la cointgration dans RATS. Ces deux procdures sont CATS (Cointegration Analysis of Time Series), dveloppe par Henrik Hansen, et MALCOM, dveloppe par Rocco Mosconi. Des renseignements sur ces procdures peuvent tre obtenus, respectivement, aux adresses URL suivantes : CATS : http://www.econ.ku.dk/hansen/ MALCOM : http://www.greta.it/malcom http://www.ecopro.polimi.it/home/Rocco.Mosconi/ Les rfrences suivantes concernent l'utilisation de CATS dans RATS : Hansen, H. and Juselius, K. (1995), CATS in RATS: Cointegration Analysis of Time Series, Estima, Evanston, IL. Tufte, D. (1998), "CATS in RATS: Cointegration analysis of time series: Version 1.01", Journal of Applied Econometrics, 13, 321-330. Nous donnons enfin ci-dessous une liste non exhaustive de sites Internet mettant en ligne des procdures RATS. http://www.estima.com. De nombreuses procdures et des exemples d'applications, sont posts sur le site de la socit Estima, qui distribue le logiciel RATS. De plus, ce site propose une inscription gratuite une mail-liste sur laquelle de nombreux utilisateurs de RATS viennent changer diverses rponses et questions concernant l'utilisation du logiciel. Les archives de cette liste depuis 1996 sont disponibles l'adresse URL suivante : http://fmwww.bc.edu/ec-p/software/rats/ratsl.html. http://lo.ferrara.free.fr Mon site personnel partir duquel ce manuel peut tre tlcharg, contenant galement un document de cours pour lconomtrie des sries chronologiques laide de processus linaires et non linaires. De plus, plusieurs procdures relatives aux processus longue mmoire sont disponibles. http://www.hec.ca/pages/simon.van-norden/ Page personnelle de Simon Van Norden (Ecole des Hautes Etudes Commerciales de Montral) http://gsbwww.uchicago.edu/fac/ruey.tsay/teaching/fts/ Page relative au livre de R. Tsay intitul Analysis of Financial Time Series , contenant plusieurs procdures Rats. http://netec.mcc.ac.uk/CodEc/CodEc.html CodEc (Programs for Economics and Econometrics) est un site qui rassemble des codes sources pour diffrents logiciels d'conomtrie, en particulier RATS. CodEc est une partie du projet NetEC, initi par Thomas Krichel en 1993, qui comprend galement comme services BibEc (une bibliographie de documents de travail en conomie), WoPEc, (une base de donnes contenant des articles tlchargeables), et WebEc (liens hypertexte vers des sites web relatifs l'conomie). Pour d'autres renseignements sur le projet CodEc, on se rfre l'article suivant : Eddelbuttel, D. (1997), "A code archive for economics and econometrics", Computational Economics, 10, 4.

Laurent Ferrara

Octobre 2004

Introduction au logiciel RATS

http://ideas.repec.org/ Ce site contient l'archive Statistical Software Component et contient de nombreuses procdures pour diffrents logiciels de statistique et d'conomtrie. Il est maintenu jour par Christopher Baum (Boston College, Department of Economics)

Enfin, les deux sites suivants proposent de nombreuses rfrences utiles pour les statisticiens et les conomtres, et en particulier quelques codes de mthodes statistiques, traduire et implmenter dans RATS, si besoin est. http://econometriclinks.com De nombreux liens Internet sur tout ce qui touche la statistique et l'conomtrie (logiciels, codes sources, confrences, livres, jeu de donnes ...). Ce site est trs complet et est maintenu jour par Marius Ooms (Erasmus University Rotterdam), dont le site web se trouve l'adresse suivante: http://www.eur.nl/few/ei/links/ooms/ http://lib.stat.cmu.edu/ StatLib est un systme gr par le Dpartement de Statistique de l'Universit Carnegie Mellon, qui permet la distribution en ligne de logiciels de statistiques (freewares et sharewares), de jeu de donnes et de nombreuses autres informations.

Laurent Ferrara

Octobre 2004

Introduction au logiciel RATS

1. Premiers pas avec RATS


Dans cette partie, nous allons voir comment s'organise une session RATS de manire interactive, comment importer des donnes dans le logiciel et enfin voir comment faire apparatre ces donnes l'cran.

Dmarrage d'une session Une session RATS interactive s'organise sur deux fentres diffrentes : une fentre qui sera utilise en input et une autre qui sera utilise en output. Sur la fentre d'input, l'utilisateur crit les commandes du programme qu'il dsire voir effectuer et les rsultats apparaissent alors dans la fentre d'output. Il convient donc de prciser au pralable l'affection des fentres. Ainsi, lorsqu'on lance le logiciel RATS, une fentre nomme NONAME00.TXT apparat. On donne alors un nom ce fichier, par exemple ESSAI.PRG. Pour cela, il faut aller dans le menu 'File' et choisir l'option 'Save'. On note que l'extension .PRG est l'extension par dfaut d'un fichier programme de RATS. On ouvre maintenant une seconde fentre, qui sera utilise en output, l'aide de l'option 'New' dans le menu 'File'. Pour affecter le rle d'output cette fentre, on choisit l'option 'Use for Output' dans le menu 'Window'. Enfin, il est agrable de travailler avec un cran partag en deux, ce qui s'obtient par l'option 'Tile Horizontal' du menu 'Window'. L'utilisateur est maintenant prt taper dans la fentre ESSAI.PRG{I} les commandes qu'il dsire voir s'effectuer dans la fentre NONAME00.TXT{O}. S'il le dsire, l'utilisateur peut galement sauvegarder la fentre d'output en lui donnant un nom. Notons que RATS ne diffrencie pas les minuscules et les majuscules, et qu'une ligne de commande qui commence par le symbole suivant : *, n'est pas lue par le logiciel. De plus, le passage la ligne d'un mme ligne de commandes s'effectue l'aide du signe $.

Allocation de la mmoire Cette partie est extrmement importante, car toute session RATS commence par une allocation de mmoire. Ceci se fait l'aide des instructions calendar et allocate. Remarque : Seules les trois premires lettres du nom des instructions sont ncessaires. Par exemple, l'instruction calendar s'effectue si on tape la commande cal. Cependant, il est recommand, surtout pour les dbutants avec RATS, de taper l'instruction en entier. L'instruction calendar permet de fixer successivement l'anne de dbut des observations, la priode de dbut des observations et la priodicit des observations. L'instruction allocate permet de fixer la date de fin des observations. Par exemple, si on manipule pendant la session des sries trimestrielles commenant au premier trimestre 1990 et se terminant au troisime trimestre 1991, on tapera les instructions suivantes :
calendar 1990 1 4 allocate 1991:03

Laurent Ferrara

Octobre 2004

Introduction au logiciel RATS

Le logiciel permet de travailler avec de nombreuses priodicits diffrentes, que l'on spcifie l'aide de l'instruction calendar, et on se rfre au manuel RATS pour le dtail de ces diffrentes priodicits. Notons que si l'utilisateur dsire reprer les diffrentes observations uniquement l'aide des nombres entiers, allant de 1 la taille de l'chantillon, il n'est pas ncessaire d'utiliser l'instruction calendar seule l'instruction suivante est passer :
allocate taille de l'chantillon

Par exemple, si on dsire effectuer des simulations des sries de taille T=10000, il suffit de taper la commande suivante :
allocate 10000

Ecriture / Lecture des donnes La lecture ou l'criture des donnes dans le logiciel se fait l'aide de l'instruction data. Dans la pratique, on travaille souvent avec des donnes stockes dans des fichiers extrieurs RATS, de format Excel, Lotus, ... Notons qu'il existe galement un format de fichier de type RATS (fichiers extension .rat). Ces fichiers sont grs par l'interface RATSData, qui permet de visualiser les donnes. L'import des donnes dans le logiciel se fait l'aide de l'utilisation simultane de l'instruction open data, qui permet d'indiquer au logiciel le fichier dans lequel aller chercher les donnes, et de l'instruction data, qui permet de lire les donnes. Par exemple, pour importer les donnes relatives l'conomie du Canada, contenues dans le fichier CANDATA.RAT, on effectue les commandes suivantes :
calendar 1960 1 12 all 1999 :12 open data 'c:\winrats\candata.rat' data(format=rats) / CANM1S CANCD90D CANCPINF CANUSXSR

Ainsi, on a import les sries mensuelles relatives au Canada contenues dans le fichier CANDATA.RAT, en les nommant aprs le signe / signifiant que lon importe les donnes depuis la date de dbut (Janvier 1960) jusqu la date de fin (Dcembre 1999) des sries. On remarque que les options d'une instruction sont crites entre parenthses, immdiatement aprs l'instruction, et sont spares par une virgule. L'instruction data possde les options importantes suivantes :
organization format

organise les donnes par variables (par dfaut) ou par observations, spcifie le format des donnes (Excel, Lotus, )

Il arrive cependant quelques fois que l'on dsire entrer soi-mme les donnes " la main" dans le logiciel. L'criture des donnes se fait alors l'aide de l'option unit=input de l'instruction data. Ainsi, si on dsire entrer les valeurs de nouvelles sries pour les 6 premiers mois de l'anne 1960, on tape au choix les commandes suivantes :
data(unit=input) 1960:01 1960:06 serie1 serie2 1 3 5 6 8 9 2 4 6 7 9 10 data(unit=input,org=obs) 1960:01 1960:06 serie1 serie2 1 2

Laurent Ferrara

Octobre 2004

Introduction au logiciel RATS

3 5 6 8 9

4 6 7 9 10

Affichage des donnes Certaines instructions permettent d'afficher les sries en cours d'utilisation. Par exemple, l'instruction show series liste le nom de toutes les sries prsentes dans la session, et l'instruction table renvoie galement des statistiques sur chacune des sries, savoir le nombre d'observations, la moyenne, l'cart-type, le minimum et le maximum. Pour afficher les valeurs des sries, on utilise la commande print, de la manire suivante :
print date dbut date fin serie1 serie2 ... serien

Par exemple, les commandes suivantes :


print / CANUSXSR CANM1S print 89:01 89:12 CANUSXSR CANM1S

permettent d'afficher les valeurs des deux sries CANUSXSR et CANRGNP entre la date de dbut et la date de fin indiques. La premire commande affiche les valeurs de la sries sur l'ensemble de la priode dfinie par les instructions calendar et allocate, et la seconde commande affiche les valeurs des sries uniquement pour l'anne 1989. Les rsultats obtenus par la seconde commande sont les suivants :
ENTRY 1989:01 1989:02 1989:03 1989:04 1989:05 1989:06 1989:07 1989:08 1989:09 1989:10 1989:11 1989:12 CANUSXSR 0.8452 0.8342 0.8381 0.8431 0.8294 0.8345 0.8471 0.8505 0.8487 0.8517 0.8597 0.8637 CANM1S 41332 40862 41204 40879 41510 41261 41572 42065 41996 42394 41448 42382

Remarque: Dans toutes les instructions RATS, il est possible de spcifier la date de dbut et la date de fin d'excution de l'instruction. Cependant, cette spcification alourdit un peu l'criture du programme. Afin de pallier ce problme, on utilise le slash, qui remplace automatiquement par dfaut la spcification des dates de dbut et de fin par les dates spcifies en dbut de programme par les instructions calendar et allocate. Par exemple, pour imprimer les sries CANUSXSR et CANM1S entre le mois de janvier 1960 et le mois de mars 1990, soit l'ensemble de la priode, on aurait pu taper la commande suivante :

Laurent Ferrara

Octobre 2004

Introduction au logiciel RATS

print / CANUSXSR CANM1S

La commande smpl permet de spcifier une priode par dfaut. Par exemple, si on veut travailler uniquement sur la priode couvrant les annes 1980, on effectuera la commande suivante :
smpl 80:01 89:12 print / CANUSXSR smpl

La dernire commande smpl sans rien la suite, permet de retourner la priode par dfaut initialement dclare en ouverture de session.

Les graphiques RATS permet d'obtenir des graphiques d'excellente qualit, et les possibilits graphiques sont tendues. On se rfre au Chapitre 2 du manuel RATS pour une prsentation dtaille, en particulier pour les nombreuses diffrentes options des instructions graphiques. RATS possde deux instructions pour tracer des graphes : graph et scatter. L'instruction graph. Cette commande permet de reprsenter l'volution d'une srie temporelle, de la manire suivante :
graph(options) n # serie1 # serie2 ..... # serien

Le paramtre n est le nombre de sries que l'on dsire reprsenter sur le mme graphique. On peut galement spcifier les dates de dbut et de fin de la priode souhaite, le titre ou une lgende, de la manire suivante :
graph(header="Taux de Change US Dollar / Dollar Canadien",key=loright) 1 # CANUSXSR 80:01 89:12
Taux de Change Dollar US vs Dollar Canadien
0.875 0.850 0.825 0.800 0.775 0.750 0.725
CANUSXSR

0.700 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990

Laurent Ferrara

Octobre 2004

Introduction au logiciel RATS

Les options les plus utilises sont les suivantes : header= une chane de caractres place entre guillemets key= permet d'insrer une lgende dans le graphe, en la situant en bas droite (low right lor), en bas gauche (low left lol), en haut droite (up right upr) ou en haut gauche (up left upl). [dates]/nodates RATS met une lgende en abscisse, sauf si l'option nodates est spcifie patterns/[nopatterns] permet de distinguer les diffrentes courbes prsentes sur le graphe l'aide de traits diffrents, si l'option patterns est omise, RATS diffrencie les courbes par des couleurs. style= le style par dfaut est une ligne, les autres styles utiliss sont bar, vertical, step et symbols.

L'instruction scatter Cette instruction permet de reprsenter des points de coordonnes (Xi, Yi) pour i=1,...,T, o X et Y sont deux sries. On utilise alors cette instruction de la manire suivante :
scatter 1 # canusxsr cantbill

100000

75000

50000

25000

0 0.63 0.72 0.81 0.90 0.99 1.08

Les graphes multiples RATS permet de tracer sur une mme feuille graphique plusieurs graphes diffrents l'aide de la commande spgraph, de la manire suivante :
spgraph(header="Canada",vfields=2,hfields=2) graph(header="Indice des prix Consommation",key=lor) 1

Laurent Ferrara

Octobre 2004

Introduction au logiciel RATS

# CANCPINF 80:01 89:12 graph(header="Offre de monnaie",key=lor) 1 # CANM1S 80:01 89:12 graph(header="Taux dinteret court terme ",key=lor) 1 # CANCD90D 80:01 89:12

graph(header="Taux Dollar",key=lor) 1
# CANUSXSR 80:01 89:12 spgraph(done)

de

change

US

Dollar

vs

Canadian

Canada
Indice des prix Consommation
90 85 80 75 70 14 65 60 55 50
CANCPINF

Taux d'interet court terme


22 20 18 16

12 10 8
CANCD90D

45 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

6 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

Offre de monnaie
42500 40000 37500 35000 0.800 32500 0.775 30000 27500 25000
CANM1S

Taux de change US Dollar vs Canadian Dollar


0.875 0.850 0.825

0.750 0.725
CANUSXSR

22500 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

0.700 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

L'option vfields permet de choisir le nombre de champs verticaux et l'option hfields permet de choisir le nombre de champs horizontaux sur le graphique. On note que le graphe multiple doit se terminer par la commande spgraph(done).

Les diffrents graphiques peuvent tre sauvs sous diffrents format de type .RGF, .EPS, .WMF, .PLT ou .PIC, pour tre ensuite intgrs dans un document de travail. En particulier, l'enregistrement d'un graphe au format .EPS, permet de l'intgrer facilement dans un document LaTex.

Laurent Ferrara

Octobre 2004

Introduction au logiciel RATS

2. Oprations sur les sries


Dans cette partie, nous allons voir comment grer des sries chronologiques et des scalaires, rels et entiers. Puis, nous prsentons quelques fonctions statistiques intgres au logiciel.

Cration / Transformation d'une srie La cration d'une nouvelle srie et la transformation d'une srie existante sont effectues l'aide de la commande set. La syntaxe est la suivante :
set y = formule

o formule peut prendre diverses formes, que nous allons dtailler.. Par exemple, si on veut renommer une srie prexistante, sur une priode donne, on effectue la commande suivante :
set y 80:01 89:12 = CANUSXSR

Si on dsire lever au carr cette srie :


set ycarre = y**2

L'oprateur ** permet d'lever la puissance, les autres oprateurs mathmatiques sont : + addition soustraction * multiplication / division Les autres fonctions mathmatiques sont : LOG logarithme nprien SQRT racine carr EXP exponentielle ABS valeur absolue COS, SIN, TAN fonctions trigonomtriques Un autre oprateur sur les sries qui est trs souvent utilis dans l'tude des sries chronologiques est l'oprateur retard (backward), qui permet d'obtenir une srie retarde dans le temps, dfini tel que BXt=Xt-1 et pour tout entier b, BbXt=Xt-b. On obtient une srie retarde, avec un retard gal, par exemple, b=1, de la manire suivante :
set y1 = CANUSXSR{1} print / y1 CANUSXSR

De la mme manire, pour obtenir une srie avance on effectue la mme opration, en plaant un signe moins devant le retard. Dans de nombreuses sries chronologiques d'actifs financiers, on travaille sur les rendements (returns) de la srie d'tude (Xt)t, dfinis par rt=log(Xt)- log(Xt-1). Par exemple,

Laurent Ferrara

10

Octobre 2004

Introduction au logiciel RATS

la srie des rendements du taux de change Dollar US / Dollar Canadien est obtenue par la commande :
set rdt = log(CANUSXSR)-log(CANUSXSR{1}) gra(header="Rendements") # rdt

Rendements
0.04

0.02

0.00

-0.02

-0.04

-0.06

-0.08 1960 1963 1966 1969 1972 1975 1978 1981 1984 1987 1990 1993 1996 1999

Cet oprateur retard peut tre utilis pour obtenir un lissage exponentiel simple d'une srie. On rappelle que si on dsire effectuer un lissage exponentiel simple, de paramtre , d'une srie d'tude (Xt)t, la srie lisse (Xlet)t, s'obtient alors par les galits suivantes : Xle1 = X1 et, pour tout t>1, Xlet = (1-) Xlet-1 + Xt

Par exemple, pour obtenir un lissage exponentiel simple de la srie CANUSXSR, de paramtre =0.1, on effectue les commandes suivantes :
set liss 60:01 60:01 = CANUSXSR(60:01) set liss 60:02 99:12 = 0.9*liss{1}+0.1*CANUSXSR graph(key=upr) 2 # CANUSXSR # liss

Laurent Ferrara

11

Octobre 2004

Introduction au logiciel RATS

1.08
CANUSXSR

1.02 0.96 0.90 0.84 0.78 0.72 0.66 0.60

LISS

1960 1963 1966 1969 1972 1975 1978 1981 1984 1987 1990 1993 1996 1999

Notons que pour les calculs rcurrents, on peut galement utiliser l'option first de la commande set, de la manire suivante :
set(first= CANUSXSR(60:01)) liss1 = 0.9*liss1{1}+0.1*CANUSXSR

Il est parfois utile de crer une srie qui reprsente l'volution du temps. Cette srie, que l'on appelle, par exemple, date s'obtient par la commande suivante :
set date = t

Cette srie vaut 1 pour la premire date dfinie par l'instruction calendar, 2 pour la seconde date, etc...

Cration d'une srie alatoire Il est souvent intressant de simuler des trajectoires de sries chronologiques, engendres par un processus que l'on a dtermin au pralable. Pour cela, il est ncessaire d'engendrer des ralisations indpendantes issues d'une loi de distribution. RATS propose comme loi de distribution, la loi Normale et loi Uniforme. Les commandes sont les suivantes :
set seriesim1 = %RAN(x)

o x est l'cart-type de la loi Normale centre que l'on dsire obtenir, et


set seriesim2 = %UNIFORM(L,H)

o L et H sont les rels correspondant aux bornes de l'intervalle. Si on dsire reproduire exactement la mme suite de nombre alatoire, il faut alors utiliser l'instruction seed, de la manire suivante :
seed valeur

Laurent Ferrara

12

Octobre 2004

Introduction au logiciel RATS

o valeur est un entier quelconque que l'on choisit, et qui dtermine de faon unique la suite de nombre alatoire. Par exemple, les commandes suivantes engendrent une suite de 10 nombres issus d'une loi Normale de variance gale 4, rfrence par l'entier 123 :
smpl 1 10 seed 123 set v1 = %ran(2)

On peut alors rutiliser cette mme gnration de nombre alatoire, plus tard au cours de la mme session ou mme au cours d'une autre session RATS.
seed 123 set v2 = %ran(2) print / v1 v2

Les sries v1 et v2 sont alors identiques. Notons que le choix de l'entier valeur n'a aucune influence sur la gnration alatoire, il sert simplement de rfrence.

Gestion des scalaires Dans cette partie, on s'intresse la gestion par RATS des scalaires, rels et entiers. Les nombres complexes seront traits dans un chapitre part. Affectation L'instruction d'affection d'une valeur un scalaire est l'instruction, qui s'utilise de la manire suivante :
compute(options) scalaire rsultat = formule de calcul ou valeur

Les options de cette instruction sont real (nombre rel) et integer (nombre entier). Cependant, ces options sont peu utilises car, si la formule contient un nombre rel, alors le rsultat sera un nombre rel. De mme, lors de la dfinition d'un scalaire, si la valeur est un nombre dcimal, alors le rsultat sera un rel et si la valeur est un nombre entier, alors le rsultat sera un entier. Par exemple, si on tape
com alpha = 0.8

alors, alpha sera un rel, et si on tape


com max = 12

alors max sera un nombre entier. Par contre, si on tape


com(real) max = 12

alors max sera un nombre rel. Il est noter que les dates sont gres comme tant des entiers. On peut ainsi affecter des noms des dates de la manire suivante :

Laurent Ferrara

13

Octobre 2004

Introduction au logiciel RATS

com debut = 80:01 com fin = 89:12

Notons galement que l'addition, la soustraction, la multiplication et la division des scalaires entre eux se fait l'aide des oprateurs respectifs : +, -, *, et /.

Affichage Pour afficher un scalaire, on utilise la commande display de la manire suivante :


display nom du scalaire

Par exemple, pour afficher la valeur de la srie une date donne, on tape la commande :
display CANUSXSR(90:01)

L'instruction display permet galement, soit d'afficher le rsultat d'un calcul, par exemple:
display log(10) display 2*cos(%PI/6)+1

o %PI est la valeur de =3.14159...., soit d'afficher un texte, par exemple :


dis 'Le rsultat est :'

On note alors que le texte doit tre plac entre quotes.

Variables muettes Une variable muette ou indicatrice (dummy) est une srie qui prend pour valeur 0 sur certaines priodes et qui prend pour valeur 1 sur d'autres priodes. Comme nous le verrons plus tard, ce type de variable est utile dans de nombreux cas. On dfinit une variable muette, l'aide de l'instruction set, par la commande suivante :
set dum 60:01 79:12 = 1.0 set dum 80:01 99:12 = 0.0

L'instruction seasonal permet de crer une variable muette saisonnire qui prend pour valeur 1 certaines priodicits saisonnires et qui prend pour valeur 0 ailleurs. Par exemple, si on dsire crer une srie qui vaut 1 tous les mois de fvrier et 0 partout ailleurs, partir du mois de fvrier 1960, on tape la commande suivante :
seasonal dums / 12 60:02 print / dums

Diffrentiation et filtrage linaire d'une srie Nous verrons par la suite que de nombreuses mthodes de modlisation de sries chronologiques ne s'appliquent que sur des sries qui sont stationnaires. Malheureusement,

Laurent Ferrara

14

Octobre 2004

Introduction au logiciel RATS

en pratique, de nombreuses sries ne sont pas stationnaires, car elles possdent, par exemple, une tendance ou une saisonnalit. Il convient donc de transformer au pralable ces sries afin de les rendre asymptotiquement stationnaires. Une manire classique de procder est de diffrencier ces sries. Pour cela on utilise l'instruction difference, de la manire suivante :
difference(options) srie dbut fin nouvelle srie

Par exemple, pour obtenir la diffrence premire de la srie CANUSXSR, que l'on appelle DCANUSXSR, on effectue la commande suivante :
difference CANUSXSR / DCANUSXSR

On peut obtenir les diffrences d'ordre suprieur l'aide de l'option differences. De mme, cette instruction permet de diffrencier saisonnirement une srie l'aide de l'option sdiffs, de la manire suivante :
difference(sdiffs=1) CANUSXSR / D12CANUSXSR

Par dfaut, le logiciel utilise la priodicit dtermine en dbut de session par l'instruction calendar, sinon il faut spcifier la priodicit l'aide de l'option span. D'une manire gnrale, pour filtrer linairement une srie on utilise l'instruction filter, de la manire suivante :
filter(options) srie dbut fin nouvelle srie # liste des retards ou avances du filtre # coefficients du filtre

Par exemple, si on dsire calculer la srie Yt = Xt - 0.5 Xt-1 +0.2 Xt-2, o (Xt) reprsente la srie CANUSXSR, on effectue la commande suivante :
filter CANUSXSR / FCANUSXSR # 0 1 2 # 1.0 -0.5 0.2

Pour diffrencier les avances et les retards, on fait prcder les avances d'un signe moins. Par exemple, si on dsire calculer la moyenne mobile centre pondre d'ordre 4 suivante : Yt = (0.5 Xt-2 + Xt-1 + Xt + Xt+1 +0.5 Xt+2,)/4 on effectue alors la commande suivante :
filter CANUSXSR / MMCANUSXSR # -2 -1 0 1 2 # 0.125 0.25 0.25 0.25 0.125

Une autre manire de filtrer une srie est d'utiliser l'oprateur retard. Ainsi, la srie FCANUSXSR peut galement tre obtenue de la manire suivante :
set FCANUSXSR = CANUSXSR-0.5*CANUSXSR{1}+0.2*CANUSXSR{2}

Laurent Ferrara

15

Octobre 2004

Introduction au logiciel RATS

Quelques fonctions statistiques L'instruction statistics Cette instruction permet d'obtenir certaines statistiques de base pour une seule srie, savoir les moments d'ordres infrieurs ou gaux 4 : moyenne, variance, cart-type, skewness et kurtosis. De plus, l'instruction statistics renvoie galement les rsultats du test de nullit sur la moyenne, le skewness et le kurtosis, ainsi que le test de jarque-Bera dadquation la loi Normale, travers les valeurs de la P-value. On rappelle que l'hypothse H0 de nullit est accepte au risque =0.95, si la P-value est suprieure 1-. Cette instruction fournit des rsultats plus dtaills que l'instruction table, mais sur une seule srie, alors que l'instruction table permet d'obtenir des statistiques sur plusieurs sries simultanment. L'instruction statistics s'utilise de la manire suivante :
statistics(options) srie dbut fin

L'option fractiles permet d'obtenir galement la mdiane, le minimum, le maximum et les fractiles suivants : 1%, 5%, 10%, 25%, 75%, 90%, 95%, 99%. L'option noprint permet de ne pas afficher les rsultats et l'option nomoments permet de ne pas afficher les valeurs des diffrents moments de la srie. Par exemple, la commande :
sta CANUSXSR

renvoie en sortie :
Statistics on Series CANUSXSR Monthly Data From 1960:01 To 1999:06 Observations 474 Sample Mean 0.86804852321 Standard Error 0.10324036368 t-Statistic 183.05586 Skewness -0.18482 Kurtosis -1.08422 Jarque-Bera 25.91535

Variance SE of Sample Signif Level Signif Level Signif Level Signif Level

Mean (Mean=0) (Sk=0) (Ku=0) (JB=0)

0.010659 0.004742 0.00000000 0.10151913 0.00000173 0.00000236

A la suite de cette instruction, de nombreux rsultats sont conservs en mmoire par le logiciel. Ces rsultats ont des noms prcis qui commencent toujours par le symbole : %. Par exemple, suite l'instruction statistics, on a accs aux scalaires suivants :
%mean, %variance, %nobs, %maximum, %minimum, etc ... %cdstat, %skewness, %kurtosis, %median,

Par exemple, la somme des termes de la srie CANUSXSR peut tre obtenue par la commande suivante :
dis %mean*%nobs

De nombreuses autres instructions RATS gardent ainsi en mmoire des rsultats relatifs aux commandes que l'on vient d'effectuer, permettant ainsi de rcuprer ces rsultats pour les intgrer dans d'autres calculs.

Laurent Ferrara

16

Octobre 2004

Introduction au logiciel RATS

L'instruction extremum Cette instruction permet d'obtenir les valeurs extrmes d'un srie de la manire suivante :
extremum(options) srie dbut fin

Cette srie permet d'accder aux scalaires suivants :


%MAXENT %MAXIMUM %MINENT %MINIMUM

date laquelle le maximum est atteint (entier) valeur du maximum (rel) date laquelle le minimum est atteint (entier) valeur du minimum (rel)

L'instruction order Cette instruction permet de trier une srie par ordre croissant ou dcroissant (option decrease), de la manire suivante :
order(options) srie dbut fin

Mais cette instruction permet galement de trier une liste de sries en fonction des valeurs d'une srie. Par exemple, si on dsire trier les sries CANM1S CANTBILL CANCPINF en fonction des valeurs de la srie CANUSXSR sur l'ensemble de la priode, on effectue la commande suivante :
order CANUSXSR / CANM1S CANTBILL CANCPINF

L'instruction accumulate Cette instruction permet de calculer les sommes partielles d'une srie, de la manire suivante :
accumulate srie dbut fin cumserie

o cumserie est la srie cumule. Ainsi, si on effectue la commande


accumulate CANUSXSR / CUMCANUSXSR

alors la valeur CUMCANUSXSR(79:12) sera la somme de la srie CANUSXSR de janvier 1960 dcembre 1979.

L'instruction mvstats Cette instruction permet de calculer la srie des moyennes mobiles et/ou des variances mobiles sur une srie d'intrt, de la manire suivante :
mvstats srie dbut fin

Laurent Ferrara

17

Octobre 2004

Introduction au logiciel RATS

Cette instruction ne renvoie pas de sries de sortie, mais elle permet de stocker les sries rsultantes l'aide des options means et variances. De plus, l'utilisateur peut choisir le nombre de points inclure dans le calcul, l'aide de l'option span, et il peut galement choisir de centrer ou non la moyenne (ou la variance) mobile, l'aide de l'option centered. Dans le cas o la moyenne mobile est centre, le nombre span doit tre impair. Par exemple, si on dsire calculer la moyenne mobile centre de la srie mensuelle CANUSXSR, en prenant en compte le 12 mois avant et les 12 mois aprs, on tape alors les commandes suivantes :
mvstats(means=CANUSXSRMM,span=25,centered) CANUSXSR / graph 2 # CANUSXSR # CANUSXSRMM

1.08 1.02 0.96 0.90 0.84 0.78 0.72 0.66 0.60 1960 1963 1966 1969 1972 1975 1978 1981 1984 1987 1990 1993 1996 1999

Toutefois, notons que cette instruction ne permet pas de calculer des moyennes mobiles pondres. Il faut alors utiliser l'instruction filter. Il est galement possible d'obtenir une srie de fractiles mobiles, de la mme manire que prcdemment en utilisant l'instruction mvfractile.

L'instruction sample Cette instruction permet de crer une sous-srie, en chantillonnant intervalles rguliers une srie initiale. Cette instruction s'utilise de la manire suivante :
sample(interval=) srie dbut fin nouvelle srie

Par exemple, si on dsire crer la sous-srie des mois de fvrier pour la srie CANUSXSR, partir du mois de fvrier 1960, on tape alors les commandes suivantes :
sample(interval=12) CANUSXSR 60:02 90:03 CANUSXSRFEV

Laurent Ferrara

18

Octobre 2004

Introduction au logiciel RATS

3. Oprations sur les tableaux


Le logiciel RATS permet de manipuler diffrents objets, autres que les sries chronologiques et les scalaires. En particulier, il permet la gestion de vecteurs et de matrices.

Gestion des tableaux Dclaration Pour manipuler les tableaux, il faut les dclarer au pralable, contrairement aux sries ou aux scalaires. La dclaration se fait par l'instruction declare, de la manire suivante :
declare type liste des noms des tableaux avec leur dimension

Il existe 3 types diffrents de tableaux :


REC SYM VEC

matrices rectangulaires ou carres matrices symtriques (carres) vecteurs

Par exemple, la dclaration et le dimensionnement se font de la manire suivante :


declare rec MR1(3,2) MR2(4,4) declare sym MS(2,2) declare vec V(3)

Pour les matrices, la premire dimension reprsente le nombre de lignes et la seconde reprsente le nombre de colonnes. L'opration de dclaration et l'opration de dimensionnement peuvent tre effectues successivement. Ceci peut s'avrer utile dans une procdure pour laquelle la dimension d'un vecteur est connue ultrieurement sa dclaration. Par exemple, on aurait pu effectuer les commandes suivantes :
declare rec MR1 MR2 declare sym MS declare vec V dim MR1(3,2) MR2(4,4) MS(2,2) V(3)

Affectation L'instruction d'affectation de valeurs un tableau se fait de manire identique l'affectation d'une valeur un scalaire, l'aide de l'instruction compute. Cependant, la procdure d'affectation obit aux rgles suivantes : - une double barre pour dlimiter un tableau, - une simple barre pour dlimiter une ligne d'un tableau - une virgule pour dlimiter les lments d'une ligne - les entres se font par ligne

Laurent Ferrara

19

Octobre 2004

Introduction au logiciel RATS

Par exemple, si on dsire entrer les tableaux suivants :

1 V=(2,4,6), MR1 = 2 3

4 1 2 5 , MS = , 2 4 6

on tape alors les commandes suivantes :


com V=||1,2,3|| com MR1=||1,4|2,5|3,6|| com MS=||1|2,4||

Affichage Pour afficher un tableau, on utilise l'instruction write, de la manire suivante :


write tab1 tab2 ... tabn

Par exemple, pour afficher les 3 tableaux prcdents :


write V MS MR1

Gnration de tableaux On peut engendrer des tableaux soit l'aide de l'instruction ewise, soit l'aide de l'instruction make. L'instruction ewise permet d'engendrer un tableau l'aide d'indices et d'une formule de calcul. Ainsi, pour engendrer un vecteur, on tape, par exemple, la commande suivante :
ewise V(i) = i**2

On obtient alors le vecteur suivant :


write V 1.0000 4.0000 9.0000

Pour engendrer une matrice, on tape, par exemple, la commande suivante :


ewise MR2(i,j) write MR2 2.0000 3.0000 4.0000 5.0000 = i+j 3.0000 4.0000 5.0000 6.0000 4.0000 5.0000 6.0000 7.0000 5.0000 6.0000 7.0000 8.0000

L'instruction make permet d'engendrer un tableau partir de sries existantes. Chaque srie devient alors une colonne du tableau et le nombre de lignes du tableau est gal au nombre d'observations. L'instruction s'utilise selon la syntaxe suivante :

Laurent Ferrara

20

Octobre 2004

Introduction au logiciel RATS

make(options) M / # serie1 serie2 ... serien

o M est la matrice rsultante. Par exemple, on peut crer la matrice CANADA partir des sries CANM1S, CANTBILL, CANCPINF et CANUSXSR, de la manire suivante :
make canada / # CANM1S CANTBILL CANCPINF CANUSXSR

Inversement, on peut recrer une srie partir d'un tableau. Dans le cas d'un vecteur, on tape la commande suivante :
set vserie = V(t) print / vserie ENTRY VSERIE 1960:01 1.0000000000000 1960:02 4.0000000000000 1960:03 9.0000000000000

Dans le cas d'une matrice, note M, on peut crer une srie, soit partir de la ime ligne, de la manire suivante :
set Mserie = M(i,t)

soit partir de la jme colonne, de la manire suivante :


set Mserie = M(t,j)

Par exemple, si on veut crer une srie partir de la deuxime ligne de la matrice MR2, on tape la commande :
set MR2serie = MR2(2,t) print / MR2serie ENTRY MR2SERIE 1960:01 3.0000000000000 1960:02 4.0000000000000 1960:03 5.0000000000000 1960:04 6.0000000000000

On peut galement engendrer des tableaux l'aide des fonctions RATS suivantes : - %identity(n) - %mscalar(x) - %const(x) permet de crer une matrice identit de dimension n, permet de remplir une matrice avec le rel x sur la diagonale, permet de remplir une matrice lments identiques.

Par exemple, on utilise ces 3 fonctions comme suit :


com A = %identity(3) write A 1.0000 0.0000 0.0000 1.0000 0.0000 0.0000

0.0000 0.0000 1.0000

Laurent Ferrara

21

Octobre 2004

Introduction au logiciel RATS

dec rec B(3,3) com B = %mscalar(2.5) write B 2.5000 0.0000 0.0000 2.5000 0.0000 0.0000 dec rec C(3,2) com C = %const(2.5) write C 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000

0.0000 0.0000 2.5000

On remarque que pour la premire fonction, il n'est pas ncessaire de dclarer au pralable la matrice. On peut enfin engendrer des tableaux alatoires partir d'une loi de distribution. Par exemple, on remplit une matrice A, dimensionne au pralable, avec des ralisations issues d'une loi Normale centre d'cart-type x, de la manire suivante :
com A = %ran(x)

De mme on peut remplir cette matrice A avec des ralisation issues d'une loi Uniforme sur l'intervalle [x1,x2], de la manire suivante :
com A = %uniform(x1,x2)

Elments de calcul matriciel L'instruction compute permet de faire des calculs en combinant les tableaux et les scalaires, selon la syntaxe suivante :
compute tableau rsultat = formule de calcul

On peut ainsi additionner (oprateur "+") ou soustraire (oprateur "-") 2 tableaux de dimensions identiques, par exemple :
com AB = A+B write AB 3.5000 0.0000 0.0000

0.0000 3.5000 0.0000

0.0000 0.0000 3.5000

Mais si les dimensions ne sont pas identiques, on obtient alors le message suivant :
write A+C ## MAT2. Matrices with Dimensions 3 x 3 and 3 x 2 Involved in + Operation

On peut galement multiplier deux tableaux de dimension identiques l'aide de l'oprateur "*", de la manire suivante :

Laurent Ferrara

22

Octobre 2004

Introduction au logiciel RATS

write A*B 2.5000 0.0000 0.0000

0.0000 2.5000 0.0000

0.0000 0.0000 2.5000

Il faut noter que lorsqu'on multiplie une matrice par un vecteur, de dimension compatible, le rsultat n'est pas un vecteur pour RATS, mais une matrice. La multiplication d'un tableau et d'un scalaire se fait de manire identique, l'aide de l'oprateur "*", mais pour diviser un tableau par un scalaire il faut multiplier par l'inverse du scalaire. Par contre, les oprations d'addition et de soustraction entre un scalaire et un tableau ne peuvent pas s'effectuer directement. L'astuce consiste engendrer un tableau de valeurs identiques partir du scalaire. Par exemple, si on dsire ajouter la valeur 2 au tableau A, on effectue les commandes suivantes :
dec rec CSTE(3,3) com CSTE = %const(2.0) write CSTE write A+CSTE 3.0000 2.0000 2.0000 3.0000 2.0000 2.0000

2.0000 2.0000 3.0000

Pour transformer tous les termes d'un tableau par des fonctions mathmatiques classiques, on utilise les fonctions suivantes :
%log(A) %exp(A) %abs(A) %sqrt(A)

renvoie la matrice des logarithmes des termes de A renvoie la matrice des exponentiels des termes de A renvoie la matrice des valeurs absolues des termes de A renvoie la matrice des racines carres des termes de A

Quelques fonctions matricielles RATS possde des fonctions intgres qui renvoient des valeurs calcules sur les matrices et les vecteurs; nous en donnons quelques unes.
inv(A) tr(A) %rows(A) %cols(A) %xcol(A,j) %xrow(A,i) %xdiag(A) %decomp(A) %diag(A) %mqform(A,B) %qform(A,B) %mqformdiag(A,B)

renvoie l'inverse de A (matrice carre) renvoie la transpose de A (matrice) renvoie le nombre de lignes de la matrice A (entier) renvoie le nombre de colonnes de la matrice A (entier) renvoie la jme colonne de la matrice A (matrice n 1) renvoie la ime ligne de la matrice A (matrice n 1) renvoie la diagonale de la matrice A (matrice n 1) dcomposition de Choleski d'une matrice symtrique dfinie positive. (matrice triangulaire infrieure S telle que SS'=M) renvoie une matrice diagonale cre partir du vecteur M renvoie B'AB, o A est NN et B est NM (matrice) renvoie B'AB, o A est NN et B est N1 (vecteur) renvoie seulement la diagonale de B'AB (vecteur)

Laurent Ferrara

23

Octobre 2004

Introduction au logiciel RATS

%det(A) %trace(A) %cov(A,B) %corr(A,B) %scalar(A) %sum(A) %maxvalue(A) %minvalue(A)

renvoie le dterminant de la matrice carre A (rel) renvoie la trace d'une matrice carre (rel) renvoie la covariance entre A et B (rel) (en gnral A et B sont des vecteurs) renvoie la corrlation entre A et B (rel) (en gnral A et B sont des vecteurs) renvoie le terme A(1,1) si A est une matrice ou A(1) si A est un vecteur (rel) renvoie la somme des lments de A (rel) renvoie le maximum des valeurs de A (rel) renvoie le minimum des valeurs de A (rel)

Il est noter que ces trois dernires fonctions sont galement valables dans le cas o A est une srie.

Autres instructions matricielles L'instruction eigen permet d'obtenir les valeurs propres et les vecteurs propres d'une matrice carre, de la manire suivante :
eigen(options) tableau valeurs propres vecteurs propres

o valeurs propres est le nom que l'on donne au vecteur des valeurs propres du tableau et vecteurs propres est le nom que l'on donne la matrice des vecteurs propres.

Laurent Ferrara

24

Octobre 2004

Introduction au logiciel RATS

4) Outils de programmation
On se rfre dans cette partie au Chapitre 4 du manuel d'utilisation RATS (Doan (1992), intitul "Programmer's Tools". Les outils de programmation permettent l'utilisateur d'crire ses propres procdures avec RATS.

Les oprateurs logiques On donne une liste des oprateurs logiques.


X.eq.Y X.ne.Y X.gt.Y X.ge.Y X.lt.Y X.le.Y .not.X X.and.Y X.or.Y

ou ou ou ou ou ou

X==Y X<>Y X>Y X>=Y X<Y X<=Y

X est gal Y X est diffrent de Y X est strictement suprieur Y X est suprieur ou gal Y X est strictement infrieur Y X est infrieur ou gal Y X est faux X et Y sont vraies X ou Y sont vraies

Par exemple, pour crer des variables muettes, on effectue les commandes suivantes :
set dum1 = T==1980:01 set dum2 = T<=1979:12 set dum3 = T<=79:12.and.T>=81:01

la srie dum1 vaut 1 en janvier 1980 et 0 ailleurs la srie dum2 vaut 1 jusqu'en dcembre 1979 et 0 aprs la srie dum3 vaut 0 pour l'anne 1980 et 1 ailleurs

Les boucles de calcul RATS offre cinq types diffrents de boucles. La boucle do C'est la boucle standard, qui permet d'excuter un mme groupe d'instruction selon un indice que l'on incrmente systmatiquement. Sa structure est la suivante :
do indice=valeur initiale, valeur finale, incrment { liste des instructions effectuer } end do

Par dfaut, la valeur de l'incrment est de 1. Par exemple, pour calculer (de manire peu efficace) la somme de la srie CANUSXSR pour l'anne 1980, on effectue la commande suivante :
com somme=0.0

Laurent Ferrara

25

Octobre 2004

Introduction au logiciel RATS

do i=80:01,80:12 { com somme=somme+CANUSXSR(i) } end do i dis somme

Notons qu'on aurait pu effectuer de manire plus efficace, les commandes suivantes :
sta CANUSXSR 80:01 80:12 dis %mean*%nobs

D'une manire gnrale, les boucles de calcul sont utiles, mais elles allourdissent l'criture et posent des problmes de mmoire, en particulier si on effectue des boucles imbriques. Ainsi, lorsqu'on effectue une boucle, il est bon de se demander au pralable s'il n'existe pas une manire plus efficace de programmer.

La boucle dofor Elle permet d'excuter plusieurs fois un mme groupe d'instructions selon : - une liste de valeurs entires (par dfaut) ou relles - une liste de variables Si les valeurs de la liste sont relles, il faut dclarer la variable au pralable, l'aide de la commande dec. Sa structure est la suivante :
dofor indice=liste de valeurs (ou variables) { liste des instructions effectuer } end dofor

Par exemple, pour obtenir uniquement les fractiles des sries CANM1S, CANTBILL, CANCPINF et CANUSXSR on effectue les commandes suivantes :
dofor i=CANM1S CANTBILL CANCPINF CANUSXSR { sta(nomoments,fractiles) i } end dofor

La boucle while Elle permet d'effectuer une boucle tant qu'une certaine condition est vrifie. Sa structure est la suivante :
while condition { liste des instructions effectuer } end while

Laurent Ferrara

26

Octobre 2004

Introduction au logiciel RATS

Par exemple, si on dsire compter le nombre de valeurs suprieures ou gales la valeur moyenne de la srie CANUSXSR, avant de rencontrer une valeur infrieure cette moyenne, on effectue les commandes suivantes :
sta CANUSXSR com moyen = %mean; com j = 60:01; com cpt = 0 while CANUSXSR(j)>=moyen { com j=j+1 com cpt=cpt+1 } end while dis cpt

La boucle until Elle permet d'effectuer une boucle jusqu' ce qu'une certaine condition soit vrifie. Sa structure est la suivante :
until condition { liste des instructions effectuer } end until

La diffrence avec une boucle while, est que, dans le cas d'une boucle until, le test de la condition est effectu en bas de la boucle. Par consquent, dans une boucle until, la liste des instructions est effectue au moins une fois.

La boucle loop Elle permet d'effectuer une boucle non conditionnelle. On sort de cette boucle l'aide de l'instruction break. En gnral, on l'utilise de manire conjointe avec l'instruction menu, qui permet d'effectuer des choix de manire interactive. Par exemple, les commandes suivantes affichent une fentre qui permet l'utilisateur d'obtenir des statistiques sur une des sries au choix :
loop menu 'Statistiques sur une serie' choice 'Serie CANUSXSR' sta CANUSXSR choice 'Serie CANM1S' sta CANM1S choice 'Serie CANTBILL' sta CANTBILL choice 'Exit' break end menu end loop

Laurent Ferrara

27

Octobre 2004

Introduction au logiciel RATS

L'instruction if-else Cette instruction permet d'excuter une commande si une certaine condition est vrifie. Sa structure est la suivante :
if condition 1 {liste des instructions effectuer si condition 1 est vraie} else if condition n {liste des instructions effectuer si condition n est vraie et aucune des conditions prcdentes n'est vraie} else {liste des instructions effectuer si aucune des conditions prcdentes n'est vraie} end if

Par exemple, si on dsire crer une srie, de telle sorte que cette srie prenne pour valeurs les valeurs de la srie CANUSXSR si ces valeurs sont suprieures ou gales 100, et 0 sinon :
set x1 = %NA do i=60:01,90:03 if CANUSXSR(i)>=100 { com x1(i) = CANUSXSR(i) } else { com x1(i) = 0.0 } enddo i print / CANUSXSR x1

Les procdures Les procdures constituent un des outils les plus puissants de RATS. Elles permettent de dfinir de nouvelles instructions partir d'une suite de commandes. Ces procdures sont stockes dans des fichiers texte extension .SRC. Le logiciel en possdent quelques unes, et de nombreuses autres autres peuvent tre tlcharges partir des sites web indiqus en introduction. L'import de la procdure dans le fichier .PRG, partir duquel se fait la session RATS, est ralise l'aide de l'instruction source suivi du chemin dans lequel se trouve le fichier .SRC. L'appel de la procdure dans RATS se fait en faisant prcder le nom de la procdure par le signe : @. Avant de se lancer dans l'criture d'une procdure, il est fortement conseill d'observer attentivement la manire dont sont structures les procdures fournies par le logiciel. Basiquement, une procdure RATS commence par l'instruction procedure et se termine par l'instruction end procedure. Une procdure possde les traits caractristiques suivants: - les paramtres : ils sont placs sur la mme ligne que le nom de la procdure et constituent l'information que l'on dsire fournir en entre. Leurs types sont spcifis par l'instruction type.

Laurent Ferrara

28

Octobre 2004

Introduction au logiciel RATS

- les variables locales : elles sont utilises uniquement l'intrieur de la procdure et elles sont spcifies par l'instruction local - les options : elles fonctionnent comme les autres options des instructions RATS et elles sont spcifies par l'instruction option. - les entres supplmentaires : elles sont spcifies par l'instruction enter. Par exemple, nous allons crer une procdure qui renvoie uniquement les moments d'ordre 3 et 4 d'une srie et qui, en option par dfaut, permet d'afficher et de tracer la srie. On appelle cette procdure essai. On ouvre donc un fichier texte qu'on enregistre sous le nom de ESSAI.SRC et on tape le texte suivant :
procedure essai xserie start end * Dclaration des variables en entre type series xserie type integer start end * Spcification des options option switch graph option switch print 1 1

* Dclaration des variables locales local real skew kurto * Calcul des moments d'ordre 3 et 4 sta(noprint) xserie start end com skew = %skewness com kurto = %kurtosis * Affichage des rsultats dis 'Le Skewness est gal :' skew dis 'Le Kurtosis est gal :' kurto * Option d'affichage de la srie if print { print start end xserie } * Option de traage de la srie if graph { graph # xserie start end } end procedure

L'appel de la procdure dans RATS se fait alors de la manire suivante :


source(noecho) 'c:\winrats\essai.src' @essai(noprint,graph) CANUSXSR 60:01 90:03

On voit partir de cet exemple simple que l'criture d'une procdure est relativement facile, et que l'on peut crer ses propres procdures au gr de ses besoins. On note en remarque,

Laurent Ferrara

29

Octobre 2004

Introduction au logiciel RATS

qu'il vaut mieux donner le mme nom au fichier .SRC et la procdure qu'il contient, bien que cela ne soit pas obligatoire.

Laurent Ferrara

30

Octobre 2004