IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macro Discussion :

macro pour automatiser l'évaluation des garch


Sujet :

Macro

  1. #1
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 13
    Par défaut macro pour automatiser l'évaluation des garch
    Bonjour à tous,

    Débutant en SAS j'aimerais faire une macro qui m'évalue successivement des modèles garch(i,j) pour i & j allant de 1 à 10 par exemple.

    pour évaluer un garch (1,1) je fais ça: (ça marche tb)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    proc autoreg data = Volvar.rdt;
    	MODEL rdt = / garch=(p=1,q=1) COVEST=QML;
    	/*variance de l'erreur conditionnel*/
    	output out = Volvar.VEC
    	CEV = var;
    run;
    Mais quand j'écris ce qui suit ca ne marche pas. Il y a un souci avec les indices i et j:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    do k=1 to 10;
    do l=1 to 10;
    %garch(i=k,j=l);
    end;
    end;
     
     
    %macro garch(i=,j=);
    	proc autoreg data = lib.data_rdt;
    	MODEL rendement = / garch=(p=i,q=j) COVEST=QML;
    	/*variance de l'erreur conditionnel*/
    	output out = lib.VEC
    	CEV = var;
    	run;
    %mend;
    Un grand merci d'avance pour votre aide!

    Nico

  2. #2
    Membre émérite
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Par défaut
    Quand tu utilises tes macros variables, il faut rajouter le préfixe "&".
    De plus, tu dois faire ta boucle dans ta macro, avec %do plutôt que do
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    %macro garch(i=,j=);
      %do loop_i = 1 %to &i. ;
        %do loop_j = 1 %to &j. ;
        proc autoreg data = lib.data_rdt;
        MODEL rendement = / garch=(p=&loop_i.,q=&loop_j.) COVEST=QML;
        /*variance de l'erreur conditionnel*/
        output out = lib.VEC
        CEV = var;
        run;
        %end ;
      %end ; 
    %mend;
    %garch(i=10,j=10);
    Accessoirement, si tu veux garder ta table lib.VEC, tu peux l'indicer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        output out = lib.VEC_&loop_i._&loop_j.

  3. #3
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 13
    Par défaut
    merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. macro pour lister le nom des étudiants selon une catégorie
    Par stefany83 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/07/2010, 13h18
  2. macro langage pour automatiser le traitement des tables
    Par SASMetrics dans le forum Macro
    Réponses: 7
    Dernier message: 29/01/2010, 16h51
  3. Macro pour automatiser liens excel access
    Par dim02 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/11/2009, 16h43
  4. [XL-2003] macro pour afficher les dates des troisièmes vendredi du mois
    Par julius999 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 28/10/2009, 18h39
  5. macro pour automatiser tableau excel
    Par kameylia dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2008, 01h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo