Les processus d'erreur moyenne mobile autorégressive (erreurs ARMA) et d'autres modèles impliquant des retards de termes d'erreur peuvent être estimés en utilisant des instructions FIT et simulés ou prévisionnés en utilisant les instructions SOLVE. Les modèles ARMA pour le processus d'erreur sont souvent utilisés pour les modèles avec des résidus autocorrélés. La macro AR peut être utilisée pour spécifier des modèles avec des processus d'erreur autorégressive. La macro MA peut être utilisée pour spécifier des modèles avec des processus d'erreur moyenne mobile. Erreurs autorégressives Un modèle avec des erreurs autorégressives de premier ordre, AR (1), a la forme alors qu'un processus d'erreur AR (2) a la forme et ainsi de suite pour les processus d'ordre supérieur. Notez que les s sont indépendants et identiquement distribués et ont une valeur attendue de 0. Un exemple d'un modèle avec une composante AR (2) est et ainsi de suite pour les processus d'ordre supérieur. Par exemple, vous pouvez écrire un modèle de régression linéaire simple avec MA (2) erreurs de moyenne mobile où MA1 et MA2 sont les paramètres de la moyenne mobile. Notez que RESID. Y est automatiquement défini par PROC MODEL comme La fonction ZLAG doit être utilisée pour les modèles MA pour tronquer la récursivité des décalages. Cela garantit que les erreurs retardées commencent à zéro dans la phase d'amorçage et ne propagent pas les valeurs manquantes lorsque des variables de période d'amorçage sont manquantes et il s'assure que les erreurs futures sont nulles plutôt que manquantes pendant la simulation ou la prévision. Pour plus de détails sur les fonctions de retard, reportez-vous à la section Lag Logic. Ce modèle écrit à l'aide de la macro MA est le suivant: Forme générale pour les modèles ARMA Le processus général ARMA (p, q) a la forme suivante Un modèle ARMA (p, q) peut être spécifié comme suit: où AR i et MA j représentent Les paramètres autorégressifs et de moyenne mobile pour les différents décalages. Vous pouvez utiliser tous les noms que vous voulez pour ces variables, et il existe de nombreuses façons équivalentes que la spécification pourrait être écrit. Les processus ARMA vectoriels peuvent également être estimés avec le MODÈLE PROC. Par exemple, un processus AR (1) à deux variables pour les erreurs des deux variables endogènes Y1 et Y2 peut être spécifié comme suit: Problèmes de convergence avec les modèles ARMA Les modèles ARMA peuvent être difficiles à estimer. Si les estimations des paramètres ne se situent pas dans la plage appropriée, les termes résiduels d'un modèle de moyenne mobile augmentent de façon exponentielle. Les résidus calculés pour les observations ultérieures peuvent être très importants ou peuvent déborder. Cela peut se produire soit parce que des valeurs de départ inappropriées ont été utilisées, soit parce que les itérations se sont éloignées de valeurs raisonnables. Il faut prendre soin de choisir les valeurs de départ pour les paramètres ARMA. Les valeurs initiales de 0,001 pour les paramètres ARMA fonctionnent habituellement si le modèle correspond bien aux données et que le problème est bien conditionné. Notez qu'un modèle MA peut souvent être approché par un modèle AR de haut niveau, et vice versa. Cela peut entraîner une collinearité élevée dans les modèles ARMA mixtes, ce qui peut entraîner un mauvais conditionnement dans les calculs et l'instabilité des paramètres estimés. Si vous avez des problèmes de convergence lors de l'estimation d'un modèle avec des processus d'erreur ARMA, essayez d'estimer par étapes. Tout d'abord, utilisez une instruction FIT pour estimer uniquement les paramètres structurels avec les paramètres ARMA maintenus à zéro (ou à des estimations antérieures raisonnables si disponibles). Ensuite, utilisez une autre instruction FIT pour estimer les paramètres ARMA uniquement, en utilisant les valeurs des paramètres structurels de la première exécution. Puisque les valeurs des paramètres structurels sont vraisemblablement proches de leurs estimations finales, les estimations des paramètres ARMA pourraient alors converger. Enfin, utilisez une autre instruction FIT pour produire des estimations simultanées de tous les paramètres. Comme les valeurs initiales des paramètres sont maintenant susceptibles d'être très proches de leurs estimations conjointes finales, les estimations devraient converger rapidement si le modèle est approprié pour les données. AR Conditions initiales Les retards initiaux des termes d'erreur des modèles AR (p) peuvent être modélisés de différentes façons. Les méthodes de démarrage d'erreurs autorégressives supportées par les procédures SASETS sont les suivantes: Procédures minimales conditionnelles (Procédures ARIMA et MODEL) Procédures minimales inconditionnelles (procédures AUTOREG, ARIMA et MODEL) maximal (procédures AUTOREG, ARIMA et MODEL) Yule-Walker (AUTOREG Procédure AUTOREG, pour une explication et une discussion sur les mérites de différentes méthodes de démarrage AR (p). Les initialisations CLS, ULS, ML et HL peuvent être effectuées par PROC MODEL. Pour les erreurs AR (1), ces initialisations peuvent être produites comme indiqué dans le tableau 18.2. Ces méthodes sont équivalentes dans de grands échantillons. Tableau 18.2 Initialisations effectuées par PROC MODEL: AR (1) ERRORS Les retards initiaux des termes d'erreur des modèles MA (q) peuvent également être modélisés de différentes façons. Les paradigmes de démarrage d'erreur moyenne mobile suivants sont supportés par les procédures ARIMA et MODEL: les moindres carrés conditionnels les moindres carrés inconditionnels La méthode des moindres carrés conditionnels pour estimer les termes d'erreurs moyennes mobiles n'est pas optimale car elle ignore le problème de démarrage. Cela réduit l'efficacité des estimations, bien qu'elles demeurent impartiales. Les résidus retardés initiaux, qui s'étendent avant le début des données, sont supposés être 0, leur valeur inconditionnelle attendue. Ceci introduit une différence entre ces résidus et les résidus des moindres carrés généralisés pour la covariance de la moyenne mobile qui, contrairement au modèle autorégressif, persiste à travers l'ensemble de données. Habituellement, cette différence converge rapidement vers 0, mais pour des processus de moyenne mobile non interchangeables, la convergence est assez lente. Pour minimiser ce problème, vous devriez avoir beaucoup de données, et les estimations des paramètres de la moyenne mobile devraient être bien dans la gamme inversible. Ce problème peut être corrigé au détriment d'écrire un programme plus complexe. On peut produire des estimations des moindres carrés inconditionnels pour le processus MA (1) en spécifiant le modèle comme suit: Les erreurs moyennes mobiles peuvent être difficiles à estimer. Vous devriez envisager d'utiliser une approximation AR (p) pour le processus de la moyenne mobile. Un processus à moyenne mobile peut généralement être bien approché par un processus autorégressif si les données n'ont pas été lissées ou différenciées. La macro AR La macro SAS AR génère des instructions de programmation pour le modèle PROC pour les modèles autorégressifs. La macro AR fait partie du logiciel SASETS et aucune option spéciale ne doit être définie pour utiliser la macro. Le processus autorégressif peut être appliqué aux erreurs d'équations structurelles ou aux séries endogènes elles-mêmes. La macro AR peut être utilisée pour les types d'autorégression suivants: autorégression vectorielle non restreinte autorégression vectorielle restreinte Autoregression univariée Pour modéliser le terme d'erreur d'une équation comme un processus autorégressif, utilisez l'instruction suivante après l'équation: Par exemple, supposons que Y est un Linéaire de X1, X2 et une erreur AR (2). Vous écririez ce modèle comme suit: Les appels à AR doivent venir après toutes les équations auxquelles s'applique le processus. L'invocation de la macro précédente, AR (y, 2), produit les instructions affichées dans la sortie LIST de la figure 18.58. Figure 18.58 Sortie d'option LIST pour un modèle AR (2) Les variables préfixées PRED sont des variables de programme temporaires utilisées de sorte que les retards des résidus sont les résidus corrects et non ceux qui sont redéfinis par cette équation. Notez que cela équivaut aux instructions explicitement écrites dans la section Formulaire général pour les modèles ARMA. Vous pouvez également restreindre les paramètres autorégressifs à zéro à des décalages sélectionnés. Par exemple, si vous voulez des paramètres autorégressifs aux lags 1, 12 et 13, vous pouvez utiliser les instructions suivantes: Ces instructions génèrent la sortie illustrée à la Figure 18.59. Figure 18.59 Sortie de l'option LIST pour un modèle AR avec Lags aux niveaux 1, 12 et 13 La liste des procédures MODEL de l'instruction de code du programme compilé est analysée PRED. yab x1 c x2 RESID. y PRED. y - ACTUAL. y ERROR. y PRED. Y-y OLDPRED. y PRED. y yl1 ZLAG1 (y-perdy) yl12 ZLAG12 (y-perdy) yl13 ZLAG13 (y-perdy) RESID. y PRED. y - ACTUAL. y ERROR. y PRED. y - y Il existe Variations selon la méthode des moindres carrés conditionnels, selon que les observations au début de la série sont utilisées pour réchauffer le processus AR. Par défaut, la méthode des moindres carrés conditionnels AR utilise toutes les observations et suppose des zéros pour les décalages initiaux des termes autorégressifs. En utilisant l'option M, vous pouvez demander à AR que vous utilisiez la méthode des moindres carrés inconditionnels (ULS) ou du maximum de vraisemblance (ML). Par exemple, les discussions sur ces méthodes sont fournies dans la section AR Conditions initiales. En utilisant l'option MCLS n, vous pouvez demander que les n premières observations soient utilisées pour calculer les estimations des retards autorégressifs initiaux. Dans ce cas, l'analyse commence par l'observation n 1. Par exemple: Vous pouvez utiliser la macro AR pour appliquer un modèle autorégressif à la variable endogène, au lieu du terme d'erreur, en utilisant l'option TYPEV. Par exemple, si vous voulez ajouter les cinq décalages passés de Y à l'équation de l'exemple précédent, vous pouvez utiliser AR pour générer les paramètres et les retards en utilisant les instructions suivantes: Les instructions précédentes génèrent la sortie illustrée à la figure 18.60. Figure 18.60 Option LIST Sortie pour un modèle AR de Y Ce modèle prédit Y comme une combinaison linéaire de X1, X2, une interception et les valeurs de Y dans les cinq dernières périodes. Autoregression vecteur non restreint Pour modéliser les termes d'erreur d'un ensemble d'équations comme un processus autorégressif vectoriel, utilisez la forme suivante de la macro AR après les équations: La valeur nomprocessus est tout nom que vous fournissez à AR à utiliser pour créer des noms pour l'autorégressif paramètres. Vous pouvez utiliser la macro AR pour modéliser plusieurs processus AR différents pour différents ensembles d'équations en utilisant différents noms de processus pour chaque ensemble. Le nom du processus garantit que les noms de variable utilisés sont uniques. Utilisez une valeur processname courte pour le processus si des estimations de paramètres doivent être écrites dans un jeu de données de sortie. La macro AR essaie de construire des noms de paramètres inférieurs ou égaux à huit caractères, mais limité par la longueur de nomprocessus. Qui est utilisé comme préfixe pour les noms de paramètres AR. La variable listlist est la liste des variables endogènes des équations. Supposons, par exemple, que les erreurs des équations Y1, Y2 et Y3 soient générées par un processus autorégressif vectoriel de second ordre. Vous pouvez utiliser les instructions suivantes: qui génèrent ce qui suit pour Y1 et un code similaire pour Y2 et Y3: Seule la méthode des moindres carrés conditionnels (MCLS ou MCLS n) peut être utilisée pour les processus vectoriels. Vous pouvez également utiliser le même formulaire avec des restrictions que la matrice de coefficients soit 0 aux décalages sélectionnés. Par exemple, les instructions suivantes appliquent un processus vectoriel de troisième ordre aux erreurs d'équation avec tous les coefficients au retard 2 restreint à 0 et avec les coefficients aux écarts 1 et 3 sans restriction: Vous pouvez modéliser les trois séries Y1Y3 comme un processus vectoriel autorégressif Dans les variables plutôt que dans les erreurs en utilisant l'option TYPEV. Si vous souhaitez modéliser Y1Y3 en fonction de valeurs passées de Y1Y3 et de certaines variables ou constantes exogènes, vous pouvez utiliser AR pour générer les états pour les termes de retard. Écrivez une équation pour chaque variable pour la partie non autorégressive du modèle, puis appelez AR avec l'option TYPEV. Par exemple, la partie non autorégressive du modèle peut être une fonction de variables exogènes, ou elle peut être des paramètres d'interception. S'il n'existe pas de composantes exogènes au modèle d'autorégression vectorielle, y compris les interceptions, affectez zéro à chacune des variables. Il doit y avoir une affectation à chacune des variables avant d'appeler AR. Cet exemple modélise le vecteur Y (Y1 Y2 Y3) comme une fonction linéaire uniquement de sa valeur dans les deux périodes précédentes et un vecteur d'erreur de bruit blanc. Le modèle a 18 (3 3 3 3) paramètres. Syntaxe de la macro AR Il existe deux cas de la syntaxe de la macro AR. Lorsque des restrictions sur un processus AR vectoriel ne sont pas nécessaires, la syntaxe de la macro AR a la forme générale spécifie un préfixe pour AR à utiliser dans la construction des noms de variables nécessaires pour définir le processus AR. Si l'endoliste n'est pas spécifié, la liste endogène prend par défaut le nom. Qui doit être le nom de l'équation à laquelle le processus d'erreur AR doit être appliqué. La valeur du nom ne peut pas dépasser 32 caractères. Est l'ordre du processus AR. Spécifie la liste des équations auxquelles le processus AR doit être appliqué. Si plus d'un nom est donné, un processus vectoriel non restreint est créé avec les résidus structurels de toutes les équations incluses comme régresseurs dans chacune des équations. Si non spécifié, endolist prend par défaut le nom. Spécifie la liste des délais auxquels les termes AR doivent être ajoutés. Les coefficients des termes aux décalages non listés sont mis à 0. Tous les retards indiqués doivent être inférieurs ou égaux à nlag. Et il ne doit pas y avoir de doubles. Si non spécifié, le laglist prend par défaut tous les retards 1 à nlag. Spécifie la méthode d'estimation à mettre en œuvre. Les valeurs valides de M sont CLS (estimations des moindres carrés conditionnels), ULS (estimations des moindres carrés inconditionnels) et ML (estimations du maximum de vraisemblance). MCLS est la valeur par défaut. Seul le MCLS est autorisé lorsque plus d'une équation est spécifiée. Les méthodes ULS et ML ne sont pas prises en charge par AR pour les modèles AR vectoriels. Spécifie que le processus AR doit être appliqué aux variables endogènes elles-mêmes plutôt qu'aux résidus structurels des équations. Auto-régression vectorielle restreinte Vous pouvez contrôler quels paramètres sont inclus dans le processus, en limitant à 0 ces paramètres que vous n'incluez pas. Tout d'abord, utilisez AR avec l'option DEFER pour déclarer la liste des variables et définir la dimension du processus. Ensuite, utilisez des appels AR supplémentaires pour générer des termes pour des équations sélectionnées avec des variables sélectionnées aux décalages sélectionnés. Les équations d'erreur produites sont les suivantes: Ce modèle indique que les erreurs pour Y1 dépendent des erreurs de Y1 et Y2 (mais pas de Y3) aux deux retards 1 et 2 et que les erreurs pour Y2 et Y3 dépendent Les erreurs précédentes pour les trois variables, mais seulement au décalage 1. Syntaxe AR Macro pour AR vectoriel restreint Une utilisation alternative d'AR est autorisée à imposer des restrictions sur un processus AR vectoriel en appelant AR plusieurs fois pour spécifier des termes AR différents et des décalages pour différents Équations. Le premier appel a la forme générale spécifie un préfixe pour AR à utiliser dans la construction de noms de variables nécessaires pour définir le processus vectoriel AR. Spécifie l'ordre du processus AR. Spécifie la liste des équations auxquelles le processus AR doit être appliqué. Spécifie que AR ne doit pas générer le processus AR mais doit attendre les informations supplémentaires spécifiées dans les appels AR ultérieurs pour la même valeur de nom. Les appels suivants ont la forme générale est la même que dans le premier appel. Spécifie la liste des équations auxquelles les spécifications de cet appel AR doivent être appliquées. Seuls les noms spécifiés dans la valeur endoliste du premier appel pour la valeur de nom peuvent apparaître dans la liste des équations dans eqlist. Spécifie la liste des équations dont les résidus structurels retardés doivent être inclus comme régresseurs dans les équations de eqlist. Seuls les noms de l'endoliste du premier appel de la valeur de nom peuvent apparaître dans varlist. Si non spécifié, varlist par défaut est endolist. Spécifie la liste des délais auxquels les termes AR doivent être ajoutés. Les coefficients des termes aux décalages non listés sont mis à 0. Tous les retards indiqués doivent être inférieurs ou égaux à la valeur de nlag. Et il ne doit pas y avoir de doubles. Si non spécifié, laglist prend par défaut tous les retards 1 à nlag. La macro MA La macro SAS MA génère des instructions de programmation pour le modèle PROC pour les modèles à moyenne mobile. La macro MA fait partie du logiciel SASETS et aucune option spéciale n'est nécessaire pour utiliser la macro. Le processus d'erreur moyenne mobile peut être appliqué aux erreurs d'équations structurelles. La syntaxe de la macro MA est la même que la macro AR sauf qu'il n'existe aucun argument TYPE. Lorsque vous utilisez les macros MA et AR combinées, la macro MA doit suivre la macro AR. Les instructions SASIML suivantes produisent un processus d'erreur ARMA (1, (1 3)) et l'enregistrent dans l'ensemble de données MADAT2. Les instructions PROC MODEL suivantes sont utilisées pour estimer les paramètres de ce modèle en utilisant la structure d'erreur de maximum de vraisemblance: Les estimations des paramètres produits par cette séquence sont présentées à la figure 18.61. Figure 18.61 Estimations d'un processus ARMA (1, (1 3)) Il existe deux cas de syntaxe pour la macro MA. Lorsque des restrictions sur un processus MA vectoriel ne sont pas nécessaires, la syntaxe de la macro MA a la forme générale spécifie un préfixe pour MA à utiliser dans la construction des noms de variables nécessaires pour définir le processus MA et est l'endoliste par défaut. Est l'ordre du processus MA. Spécifie les équations auxquelles le processus MA doit être appliqué. Si plus d'un nom est donné, l'estimation CLS est utilisée pour le processus vectoriel. Spécifie les délais auxquels les termes MA doivent être ajoutés. Tous les retards indiqués doivent être inférieurs ou égaux à nlag. Et il ne doit pas y avoir de doubles. Si non spécifié, le laglist prend par défaut tous les retards 1 à nlag. Spécifie la méthode d'estimation à mettre en œuvre. Les valeurs valides de M sont CLS (estimations des moindres carrés conditionnels), ULS (estimations des moindres carrés inconditionnels) et ML (estimations du maximum de vraisemblance). MCLS est la valeur par défaut. Seul le MCLS est autorisé lorsque plus d'une équation est spécifiée dans l'endoliste. MA Syntaxe macro pour le déplacement de vecteur restreint Une utilisation alternative de MA est autorisée à imposer des restrictions sur un processus MA vectoriel en appelant MA plusieurs fois pour spécifier différents termes de MA et des décalages pour différentes équations. Le premier appel a la forme générale spécifie un préfixe pour MA à utiliser dans la construction de noms de variables nécessaires pour définir le processus MA vecteur. Spécifie l'ordre du processus MA. Spécifie la liste des équations auxquelles le processus MA doit être appliqué. Spécifie que MA ne doit pas générer le processus MA mais doit attendre des informations supplémentaires spécifiées dans les appels MA ultérieurs pour la même valeur de nom. Les appels suivants ont la forme générale est la même que dans le premier appel. Spécifie la liste des équations auxquelles les spécifications de cet appel MA doivent être appliquées. Spécifie la liste des équations dont les résidus structurels retardés doivent être inclus comme régresseurs dans les équations de eqlist. (P, d, q) Modèles pour l'analyse de la série chronologique Dans l'ensemble précédent d'articles (parties 1, 2 et 3), nous sommes passés à des données significatives Détail sur les modèles de séries chronologiques linéaires AR (p), MA (q) et ARMA (p, q). Nous avons utilisé ces modèles pour générer des ensembles de données simulées, des modèles adaptés pour récupérer les paramètres et ensuite appliqué ces modèles aux données sur les actions financières. Dans cet article, nous allons discuter d'une extension du modèle ARMA, à savoir le modèle de moyenne mobile intégrée Autoregressive, ou ARIMA (p, d, q). Nous verrons qu'il est nécessaire de considérer le modèle ARIMA lorsque nous avons des séries non stationnaires. Ces séries se produisent en présence de tendances stochastiques. Récapitulatif et prochaines étapes Nous avons étudié les modèles suivants (les liens vous amèneront aux articles appropriés): Nous avons constamment développé notre compréhension des séries chronologiques avec des concepts tels que la corrélation en série, la stationnarité, la linéarité, les résidus, les corrélogrammes, La simulation, l'ajustement, la saisonnalité, l'hétéroscédasticité conditionnelle et les tests d'hypothèses. À ce jour, nous n'avons pas effectué de prévision ou de prévision à partir de nos modèles et nous n'avons donc eu aucun mécanisme pour produire un système de négociation ou une courbe de capitaux propres. Une fois que nous avons étudié ARIMA (dans cet article), ARCH et GARCH (dans les prochains articles), nous serons en mesure de construire une stratégie de base à long terme de négociation basée sur la prévision des rendements de l'indice boursier. Malgré le fait que je suis entré dans beaucoup de détails sur les modèles que nous savons ne sera finalement pas avoir de grandes performances (AR, MA, ARMA), nous sommes maintenant bien versé dans le processus de modélisation de séries chronologiques. Cela signifie que, lorsque nous étudierons des modèles plus récents (et même ceux qui sont actuellement dans la littérature de recherche), nous aurons une base de connaissances importante sur laquelle nous pouvons tirer, afin d'évaluer efficacement ces modèles, au lieu de les traiter comme une clé Prescription ou boîte noire. Plus important encore, il nous donnera la confiance pour les étendre et les modifier par nous-mêmes et comprendre ce que nous faisons quand nous le faisons. Je tiens à vous remercier d'être patient jusqu'à présent, car il semblerait que ces articles sont loin de L'action réelle du commerce réel. Cependant, la véritable recherche commerciale quantitative est soigneuse, mesurée et prend beaucoup de temps pour obtenir la bonne. Il n'y a pas de solution rapide ou d'obtenir un régime riche en trading quanti. Nous étions presque prêts à considérer notre premier modèle commercial, qui sera un mélange d'ARIMA et de GARCH, il est donc impératif que nous passions un peu de temps à comprendre le modèle ARIMA bien Une fois que nous avons construit notre premier modèle commercial, nous allons envisager plus Des modèles avancés tels que les processus à mémoire longue, les modèles d'espace d'état (c'est-à-dire le filtre de Kalman) et les modèles vectoriels autorégressifs (VAR), qui nous mèneront à d'autres stratégies de négociation plus sophistiquées. Moyenne mobile autorégressive intégrée (ARIMA) Les modèles d'ordre p, d, q sont utilisés car ils peuvent réduire une série non stationnaire à une série stationnaire en utilisant une séquence d'étapes de différenciation. On peut se rappeler, à partir de l'article sur le bruit blanc et les randonnées aléatoires, que si l'on applique l'opérateur différence à une série aléatoire de marche (une série non stationnaire), on reste avec le bruit blanc (une série stationnaire): begin nabla xt xt - x wt Fin ARIMA effectue essentiellement cette fonction, mais le fait à plusieurs reprises, d fois, afin de réduire une série non-stationnaire à un stationnaire. Pour gérer d'autres formes de non-stationnarité au-delà des tendances stochastiques, des modèles supplémentaires peuvent être utilisés. Les effets de saisonnalité (tels que ceux qui se produisent dans les prix des produits de base) peuvent être abordés avec le modèle saisonnier ARIMA (SARIMA), mais nous ne discuterons pas SARIMA beaucoup dans cette série. Les effets hétéroscédastiques conditionnels (comme avec le regroupement de la volatilité dans les indices d'actions) peuvent être abordés avec ARCHGARCH. Dans cet article, nous examinerons les séries non stationnaires avec des tendances stochastiques et adaptons les modèles ARIMA à ces séries. Nous allons enfin produire des prévisions pour notre série financière. Définitions Avant de définir les processus ARIMA nous devons discuter le concept d'une série intégrée: Série intégrée d'ordre d Une série temporelle est intégrée de l'ordre d. I d), si: begin nablad xt wt end C'est-à-dire que si nous différencions la série d fois nous recevons une série discrète de bruit blanc. Autrement dit, en utilisant l'opérateur de décalage vers l'arrière une condition équivalente est: Maintenant que nous avons défini une série intégrée, nous pouvons définir le processus ARIMA lui-même: Moyenne mobile auto-régressive Modèle d'ordre p, d, q Une série chronologique est un modèle de moyenne mobile autorégressif intégré D'ordre p, d, q. ARIMA (p, d, q). Si nablad xt est une moyenne mobile autorégressive d'ordre p, q, ARMA (p, q). C'est-à-dire si la série est différenciée d fois, et qu'elle suit alors un processus ARMA (p, q), alors c'est une série ARIMA (p, d, q). Si nous utilisons la notation polynomiale de la partie 1 et la partie 2 de la série ARMA, un processus ARIMA (p, d, q) peut être écrit en termes d'opérateur de décalage vers l'arrière. : Où wt est une série de bruit blanc discrète. Il ya quelques points à noter sur ces définitions. Puisque la marche aléatoire est donnée par xt x wt on peut voir que I (1) est une autre représentation, puisque nabla1 xt wt. Si nous soupçonnons une tendance non linéaire, nous pourrions être en mesure d'utiliser la différenciation répétée (c'est-à-dire d gt 1) pour réduire une série au bruit blanc stationnaire. Dans R, nous pouvons utiliser la commande diff avec des paramètres supplémentaires, p. Ex. Diff (x, d3) pour effectuer des différences répétées. Simulation, corrélogramme et adaptation de modèle Comme nous avons déjà utilisé la commande arima. sim pour simuler un processus ARMA (p, q), la procédure suivante sera similaire à celle effectuée dans la partie 3 de la série ARMA. La principale différence est que nous allons maintenant d1, c'est-à-dire que nous allons produire une série temporelle non stationnaire avec une composante de tendance stochastique. Comme avant, nous allons adapter un modèle ARIMA à nos données simulées, essayer de récupérer les paramètres, créer des intervalles de confiance pour ces paramètres, produire un corrélogramme des résidus du modèle ajusté et enfin effectuer un test Ljung-Box pour établir si nous avons Un bon ajustement. Nous allons simuler un modèle ARIMA (1,1,1), avec le coefficient autorégressif alpha0,6 et le coefficient moyen mobile β-0,5. Voici le code R pour simuler et tracer une telle série: Maintenant que nous avons notre série simulée, nous allons essayer d'y adapter un modèle ARIMA (1,1,1). Comme nous connaissons l'ordre, nous le spécifierons simplement dans l'ajustement: Les intervalles de confiance sont calculés comme suit: Les deux estimations de paramètres se situent dans les intervalles de confiance et sont proches des vraies valeurs de paramètres de la série ARIMA simulée. Par conséquent, nous ne devrions pas être surpris de voir les résidus ressemblant à une réalisation de bruit blanc discret: Enfin, nous pouvons exécuter un test Ljung-Box pour fournir des preuves statistiques d'un bon ajustement: On voit que la valeur p est significativement plus grande que 0,05 et, en tant que tels, nous pouvons affirmer qu'il existe de fortes preuves que le bruit blanc discret convient bien aux résidus. Par conséquent, le modèle ARIMA (1,1,1) est un bon ajustement, comme prévu. Données financières et prévisions Dans cette section, nous allons adapter les modèles ARIMA à Amazon, Inc. (AMZN) et à l'indice SampP500 US Equity Index (GPSC, dans Yahoo Finance). Nous utiliserons la bibliothèque de prévisions, écrite par Rob J Hyndman. Laisse aller de l'avant et installe la bibliothèque dans R: Maintenant, nous pouvons utiliser quantmod pour télécharger la série de prix quotidienne d'Amazon depuis le début de 2013. Comme nous aurons déjà pris les différences de premier ordre de la série, l'ARIMA ajustement effectué prochainement Ne requiert pas d gt 0 pour la composante intégrée: Comme dans la partie 3 de la série ARMA, nous allons maintenant boucler les combinaisons de p, d et q, pour trouver le modèle ARIMA optimal (p, d, q). Par optimal, nous entendons la combinaison d'ordre qui minimise le critère d'information Akaike (AIC): On peut voir qu'un ordre de p4, d0, q4 a été sélectionné. Si nous traçons le corrélogramme des résidus, nous pouvons voir si nous avons des preuves pour une série de bruit blanc discret: Il ya deux pics significatifs, à savoir à k15 et k21, bien que nous devrions S'attendent à voir des pics statistiquement significatifs simplement en raison de la variation d'échantillonnage 5 du temps. Laisser effectuer un test Ljung-Box (voir l'article précédent) et voir si nous avons des preuves pour un bon ajustement: Comme nous pouvons le voir la valeur p est supérieure à 0,05 et donc nous avons des preuves pour un bon ajustement au niveau 95. Nous pouvons maintenant utiliser la prévision de la bibliothèque de prévisions pour prévoir 25 jours pour la série retours d'Amazon: Nous pouvons voir les prévisions de points pour les 25 prochains jours avec 95 (bleu foncé) et 99 (bleu clair) bandes d'erreur . Nous utiliserons ces prévisions dans notre première stratégie de série chronologique lorsque nous arriverons à combiner ARIMA et GARCH. Laissez la même procédure pour le SampP500. Nous obtenons les données de quantmod et nous les convertissons en flux journalier: Nous adaptons un modèle ARIMA en bouclant les valeurs de p, d et q: L'AIC nous dit que le meilleur modèle est l'ARIMA (2,0, 1) modèle. Notons une fois de plus que d0, comme nous avons déjà pris les différences de premier ordre de la série: Nous pouvons tracer les résidus du modèle ajusté pour voir si nous avons des preuves de bruit blanc discret: Le corrélogramme semble prometteur, donc la prochaine étape est de courir Le test de Ljung-Box et de confirmer que nous avons un modèle bon ajustement: Comme la valeur p est supérieure à 0,05, nous avons des preuves d'un ajustement bon modèle. Pourquoi est-ce que dans l'article précédent notre Ljung-Box test pour le SampP500 a montré que l'ARMA (3,3) était un mauvais ajustement pour le journal quotidien des retours Remarque que j'ai sciemment tronqué les données SampP500 à partir de 2013 dans cet article , Ce qui exclut commodément les périodes volatiles autour de 2007-2008. Par conséquent, nous avons exclu une grande partie du SampP500 où nous avions un regroupement de volatilité excessif. Ceci a un impact sur la corrélation sérielle de la série et a donc pour effet de rendre la série plus stationnaire qu'elle ne l'était dans le passé. C'est un point très important. Lors de l'analyse des séries chronologiques, nous devons faire très attention aux séries hétéroscédasiques conditionnelles, comme les indices boursiers. En finance quantitative, essayer de déterminer des périodes de volatilité différente est souvent connu sous le nom de détection de régime. C'est l'une des tâches les plus difficiles à réaliser. Bien discuter longuement de ce point dans l'article suivant lorsque nous étudierons les modèles ARCH et GARCH. Permet maintenant de tracer une prévision pour les 25 prochains jours des retours journaliers SampP500: Maintenant que nous avons la capacité d'ajuster et de prévoir des modèles tels que ARIMA, étaient très proches de pouvoir créer des indicateurs de stratégie pour le commerce. Prochaines étapes Dans le prochain article, nous allons jeter un coup d'oeil au modèle généralisé d'autoréductivité conditionnelle hétérocédasticité (GARCH) et l'utiliser pour expliquer plus de la corrélation sérielle dans certaines séries d'actions et d'indice d'équité. Une fois que nous avons discuté de GARCH, nous serons en mesure de le combiner avec le modèle ARIMA et de créer des indicateurs de signal et donc une stratégie quantitative de négociation de base. Cliquez ci-dessous pour en savoir plus. L'information contenue sur ce site web est l'opinion des auteurs individuels basée sur leur observation personnelle, leur recherche et leurs années d'expérience. L'éditeur et ses auteurs ne sont pas des conseillers en placement, des avocats, des CPA ou d'autres professionnels des services financiers enregistrés et ne rendent pas de conseils juridiques, fiscaux, comptables, de placement ou autres services professionnels. L'information offerte par ce site Web est seulement l'éducation générale. Parce que chaque situation factuelle des individus est différente, le lecteur devrait chercher son conseiller personnel. Ni l'auteur ni l'éditeur n'assument aucune responsabilité ou responsabilité pour des erreurs ou omissions et n'a aucune responsabilité ni responsabilité envers une personne ou une entité à l'égard des dommages causés ou prétendument causés directement ou indirectement par les informations contenues sur ce site. À utiliser à vos risques et périls. En outre, ce site Web peut recevoir une compensation financière des sociétés mentionnées par la publicité, les programmes d'affiliation ou autrement. Les tarifs et offres des annonceurs affichés sur ce site Web changent fréquemment, parfois sans préavis. Alors que nous nous efforçons de maintenir des informations exactes et en temps opportun, les détails de l'offre peuvent être périmés. Les visiteurs doivent donc vérifier les modalités de ces offres avant de participer à ces offres. L'auteur et son éditeur renoncent à la responsabilité de la mise à jour des informations et déclinent toute responsabilité pour le contenu, les produits et les services de tiers, y compris lorsqu'ils sont accessibles par l'entremise d'hyperliens et / ou d'annonces sur ce site. 1 Dans le dernier article, nous avons examiné les marches aléatoires et le bruit blanc comme des modèles de série chronologique de base pour certains instruments financiers, comme les cours quotidiens des actions et des indices boursiers. Nous avons constaté que dans certains cas un modèle de marche aléatoire était insuffisant pour capturer le comportement d'autocorrélation complet de l'instrument, ce qui motive des modèles plus sophistiqués. Dans les deux prochains articles, nous allons discuter de trois types de modèle, à savoir le modèle autorégressif (AR) d'ordre p, le modèle de moyenne mobile (MO) d'ordre q et le modèle de la moyenne mobile déplacée (ARMA) mixte de l'ordre p , Q. Ces modèles nous aideront à tenter de saisir ou d'expliquer davantage la corrélation sérielle présente dans un instrument. En fin de compte, ils nous fourniront un moyen de prévoir les prix futurs. Cependant, il est bien connu que les séries chronologiques financières possèdent une propriété connue sous le nom de regroupement de la volatilité. Autrement dit, la volatilité de l'instrument n'est pas constante dans le temps. Le terme technique de ce comportement est connu sous le nom d'hétéroscédasticité conditionnelle. Comme les modèles AR, MA et ARMA ne sont pas conditionnellement hétéroscédasticisés, c'est-à-dire qu'ils ne tiennent pas compte de la volatilité, nous aurons besoin d'un modèle plus sophistiqué pour nos prédictions. De tels modèles incluent le modèle Hectoroskedastic conditionnel (ARCH) et le modèle Hectoroskedastic conditionnel (GARCH), et les nombreuses variantes de celui-ci. GARCH est particulièrement bien connu en finance quantitative et est principalement utilisé pour des simulations de séries chronologiques financières comme moyen d'estimer le risque. Cependant, comme avec tous les articles QuantStart, je veux construire ces modèles à partir de versions plus simples afin que nous puissions voir comment chaque nouvelle variante change notre capacité de prédiction. Malgré le fait que AR, MA et ARMA sont des modèles de séries chronologiques relativement simples, ils sont à la base de modèles plus compliqués tels que la moyenne mobile intégrée (ARIMA) et la famille GARCH. Il est donc important que nous les étudions. Une de nos premières stratégies de négociation dans la série d'articles de séries chronologiques sera de combiner ARIMA et GARCH afin de prévoir les prix n périodes à l'avance. Cependant, nous devrons attendre jusqu'à ce que nous ayons discuté à la fois ARIMA et GARCH séparément avant de les appliquer à une véritable stratégie. Comment allons-nous? Dans cet article, nous allons présenter quelques nouveaux concepts de séries chronologiques qui ont besoin des autres méthodes, La stationnarité et le critère d'information Akaike (AIC). À la suite de ces nouveaux concepts, nous suivrons le modèle traditionnel pour l'étude de nouveaux modèles de séries temporelles: Rationale - La première tâche est de fournir une raison pour laquelle ils étaient intéressés par un modèle particulier, comme quants. Pourquoi introduisons-nous le modèle de la série chronologique Quels effets peut-il capturer Que gagnons-nous (ou perdons) en ajoutant une complexité supplémentaire Définition - Nous devons fournir la définition mathématique complète (et la notation associée) du modèle de série chronologique afin de minimiser Toute ambiguïté. Propriétés de second ordre - Nous allons discuter (et dans certains cas dériver) les propriétés du second ordre du modèle de série chronologique, qui comprend sa moyenne, sa variance et sa fonction d'autocorrélation. Correlogramme - Nous utiliserons les propriétés du second ordre pour tracer un corrélogramme d'une réalisation du modèle de série chronologique afin de visualiser son comportement. Simulation - Nous simulerons les réalisations du modèle de la série temporelle et ensuite adaptons le modèle à ces simulations pour nous assurer d'avoir des implémentations précises et de comprendre le processus d'ajustement. Données financières réelles - Nous allons adapter le modèle de la série chronologique aux données financières réelles et considérer le corrélogramme des résidus afin de voir comment le modèle tient compte de la corrélation série dans la série originale. Prédiction - Nous allons créer des prévisions n-step ahead du modèle de série chronologique pour des réalisations particulières afin de produire finalement des signaux de trading. Presque tous les articles que j'écris sur les modèles de séries chronologiques vont tomber dans ce modèle et il nous permettra de comparer facilement les différences entre chaque modèle que nous ajoutons plus de complexité. Nous allions commencer par regarder la stationnarité stricte et l'AIC. Strictement stationnaire Nous avons fourni la définition de stationnarité dans l'article sur la corrélation sérielle. Toutefois, étant donné que nous allons entrer dans le domaine de nombreuses séries financières, avec diverses fréquences, nous devons nous assurer que nos modèles (éventuels) tiennent compte de la volatilité variable dans le temps de ces séries. En particulier, nous devons considérer leur hétéroscédasticité. Nous rencontrerons cette question lorsque nous essaierons d'adapter certains modèles à des séries historiques. D'une manière générale, on ne peut tenir compte de la totalité de la corrélation sérielle dans les résidus des modèles ajustés sans tenir compte de l'hétéroscédasticité. Cela nous ramène à la stationnarité. Une série n'est pas stationnaire dans la variance si elle a une volatilité variable dans le temps, par définition. La stationnalité stricte de la série A est rigoureusement stationnaire si la distribution statistique conjointe des éléments x, ldots, x est la même que celle de xm, ldots, xm, Pour tout ti, m. On peut penser à cette définition simplement que la distribution de la série temporelle est inchangée pour tout changement abrégé dans le temps. En particulier, la moyenne et la variance sont constantes dans le temps pour une série strictement stationnaire et l'autocovariance entre xt et xs (disons) ne dépend que de la différence absolue de t et s, t-s. Nous reviendrons sérieusement stationnaire dans les futurs postes. Critère d'information Akaike J'ai mentionné dans les articles précédents que nous aurions éventuellement besoin d'examiner comment choisir entre les meilleurs modèles distincts. Cela est vrai non seulement de l'analyse des séries chronologiques, mais aussi de l'apprentissage automatique et, plus généralement, des statistiques en général. Les deux principales méthodes que nous utiliserons (à l'heure actuelle) sont le Critère d'information Akaike (AIC) et le Critère d'information bayésien (au fur et à mesure que nous progressons dans nos articles sur les statistiques bayésiennes). Considérons brièvement l'AIC, car il sera utilisé dans la partie 2 de l'ARMA article. AIC est essentiellement un outil pour aider à la sélection de modèles. Autrement dit, si nous avons une sélection de modèles statistiques (y compris des séries chronologiques), alors l'AIC estime la qualité de chaque modèle, par rapport aux autres que nous avons disponibles. Il est basé sur la théorie de l'information. Qui est un sujet très intéressant, profond que malheureusement nous ne pouvons pas entrer dans trop de détails au sujet. Il essaie d'équilibrer la complexité du modèle, qui dans ce cas signifie le nombre de paramètres, avec la façon dont il correspond aux données. Nous fournissons une définition: Akaike Critère d'information Si nous prenons la fonction de vraisemblance pour un modèle statistique, qui a k paramètres, et L maximise la probabilité. Alors le critère d'information d'Akaike est donné par: Le modèle préféré, à partir d'une sélection de modèles, a le minimum AIC du groupe. Vous pouvez voir que l'AIC croît au fur et à mesure que le nombre de paramètres, k, augmente, mais est réduit si la probabilité logarithmique négative augmente. Essentiellement, il pénalise les modèles qui sont overfit. Nous allons créer des modèles AR, MA et ARMA de différents ordres et une façon de choisir le meilleur modèle adapté à un ensemble de données particulier est d'utiliser l'AIC. C'est ce que bien faire dans l'article suivant, principalement pour les modèles ARMA. Autoregressive (AR) Modèles d'ordre p Le premier modèle va être considéré, qui forme la base de la partie 1, est le modèle autorégressif d'ordre p, souvent raccourci à AR (p). Dans l'article précédent, nous avons considéré la marche aléatoire. Où chaque terme, xt dépend uniquement du terme précédent, x et un terme de bruit blanc stochastique, wt: Le modèle autorégressif est simplement une extension de la marche aléatoire qui inclut des termes plus loin dans le temps. La structure du modèle est linéaire. C'est-à-dire que le modèle dépend linéairement des termes précédents, avec des coefficients pour chaque terme. C'est d'où provient le régressif en autorégressif. Il s'agit essentiellement d'un modèle de régression où les termes précédents sont les prédicteurs. Modèle autorégressif d'ordre p Un modèle de série temporelle,, est un modèle autorégressif d'ordre p. AR (p), si: begin xt alpha1 x ldots alphap x wt somme p alphai x wt fin Où est le bruit blanc et alphai dans mathbb, avec alphap neq 0 pour un processus autorégressif p-order. Si nous considérons l'opérateur de décalage vers l'arrière. (Voir l'article précédent), alors nous pouvons réécrire ce qui précède en tant que fonction theta de: begin thetap () xt (1 - alpha1 - alpha2 2 - ldots - alphap) xt wt end Peut-être la première chose à noter sur le modèle AR (p) Est qu'une marche aléatoire est simplement AR (1) avec alpha1 égal à l'unité. Comme nous l'avons indiqué ci-dessus, le modèle auto - gressif est une extension de la marche aléatoire, ce qui est logique. Il est facile de faire des prédictions avec le modèle AR (p), pour tout temps t, car une fois que nous avons les coefficients alpha déterminés, Devient tout simplement: commencer hat t alpha1 x ldots alphap x fin Ainsi, nous pouvons faire des prévisions à l'avance en produisant chapeau, chapeau, chapeau, etc jusqu'à chapeau. En fait, une fois que nous considérerons les modèles ARMA dans la partie 2, nous utiliserons la fonction R predict pour créer des prévisions (avec des bandes d'intervalle de confiance d'erreur standard) qui nous aideront à produire des signaux de trading. Stationarité pour les processus autorégressifs L'un des aspects les plus importants du modèle AR (p) est qu'il n'est pas toujours stationnaire. En effet, la stationnarité d'un modèle particulier dépend des paramètres. Ive a abordé ce sujet dans un article précédent. Afin de déterminer si un processus AR (p) est stationnaire ou non, nous devons résoudre l'équation caractéristique. L'équation caractéristique est simplement le modèle autorégressif, écrit en mode de changement de direction, mis à zéro: nous résolvons cette équation pour. Pour que le processus autorégressif particulier soit stationnaire, il faut que toutes les valeurs absolues des racines de cette équation dépassent l'unité. C'est une propriété extrêmement utile et nous permet de calculer rapidement si un processus AR (p) est stationnaire ou non. Prenons quelques exemples pour concrétiser cette idée: Random Walk - Le processus AR (1) avec alpha1 1 a l'équation caractéristique theta 1 -. De toute évidence, cela a racine 1 et en tant que tel n'est pas stationnaire. AR (1) - Si on choisit alpha1 frac on obtient xt frac x wt. Ceci nous donne une équation caractéristique de 1 - frac 0, qui a une racine 4 gt 1 et donc ce processus AR (1) particulier est stationnaire. AR (2) - Si l'on place alpha1 alpha2 frac alors on obtient xt frac x frac x wt. Son équation caractéristique devient - frac () () 0, ce qui donne deux racines de 1, -2. Comme il s'agit d'une racine unitaire, il s'agit d'une série non stationnaire. Cependant, d'autres séries AR (2) peuvent être stationnaires. Propriétés du second ordre La moyenne d'un processus AR (p) est nulle. Cependant, les autocovariances et les autocorrélations sont données par des fonctions récursives, connues sous le nom d'équations de Yule-Walker. Les propriétés complètes sont données ci-dessous: begin mux E (xt) 0 fin begin gammak somme p alphai gamma, enspace k 0 fin début rhok somme p alphai rho, enspace k 0 end Notez qu'il est nécessaire de connaître les valeurs des paramètres alphai avant Calculer les autocorrélations. Maintenant que nous avons indiqué les propriétés du second ordre, nous pouvons simuler différents ordres de AR (p) et tracer les corrélogrammes correspondants. Simulations et corrélogrammes Commençons par un processus AR (1). Ceci est similaire à une marche aléatoire, sauf que alpha1 ne doit pas être égal à l'unité. Notre modèle va avoir alpha1 0,6. Le code R pour créer cette simulation est donné comme suit: Notez que notre boucle for est exécutée de 2 à 100, pas 1 à 100, comme xt-1 lorsque t0 n'est pas indexable. De même pour les processus AR (p) de rang supérieur, t doit aller de p à 100 dans cette boucle. Nous pouvons tracer la réalisation de ce modèle et son corrélogramme associé à l'aide de la fonction de mise en page: Nous allons maintenant essayer d'adapter un processus AR (p) aux données simulées que nous venons de générer, pour voir si nous pouvons récupérer les paramètres sous-jacents. Vous vous rappellerez peut-être que nous avons effectué une procédure similaire dans l'article sur le bruit blanc et les randonnées aléatoires. Comme il s'avère R fournit une commande utile ar pour s'adapter modèles autorégressifs. Nous pouvons utiliser cette méthode pour nous indiquer d'abord le meilleur ordre p du modèle (tel que déterminé par l'AIC ci-dessus) et nous fournir des estimations de paramètres pour l'alphai, que nous pouvons ensuite utiliser pour former des intervalles de confiance. Pour compléter, nous pouvons recréer la série x: Maintenant, nous utilisons la commande ar pour ajuster un modèle autorégressif à notre processus AR (1) simulé, en utilisant l'estimation du maximum de vraisemblance (MLE) comme procédure d'ajustement. Nous allons d'abord extraire l'ordre le mieux obtenu: La commande ar a déterminé avec succès que notre modèle temporel sous-jacent est un processus AR (1). Nous pouvons alors obtenir les estimations des paramètres alpha: La procédure MLE a produit une estimation, chapeau 0.523, qui est légèrement inférieure à la valeur vraie de alpha1 0.6. Enfin, nous pouvons utiliser l'erreur standard (avec la variance asymptotique) pour construire 95 intervalles de confiance autour du (des) paramètre (s) sous-jacent (s). Pour cela, il suffit de créer un vecteur c (-1.96, 1.96) et de le multiplier par l'erreur-type: Le paramètre vrai tombe dans l'intervalle de confiance 95, comme nous l'avons supposé, nous avons généré la réalisation à partir du modèle spécifiquement . Que diriez-vous si nous changeons l'alpha1 -0.6 Comme précédemment nous pouvons adapter un modèle AR (p) en utilisant ar: Encore une fois nous récupérons l'ordre correct du modèle, avec une très bonne estimation hat -0.597 d'alpha1-0.6. Nous voyons également que le paramètre vrai tombe à nouveau dans l'intervalle de confiance 95. Ajoutons un peu plus de complexité à nos processus autorégressifs en simulant un modèle d'ordre 2. En particulier, nous allons définir alpha10.666, mais aussi définir alpha2 -0.333. Heres le code complet pour simuler et tracer la réalisation, ainsi que le corrélogramme pour une telle série: Comme avant, nous pouvons voir que le corrélogramme diffère de façon significative de celui du bruit blanc, comme wed attendre. Il existe des pics statistiquement significatifs à k1, k3 et k4. Une fois de plus, allions utiliser la commande ar pour adapter un modèle AR (p) à notre réalisation AR (2) sous-jacente. La procédure est similaire à celle de l'ajustement AR (1): l'ordre correct a été récupéré et les estimations du paramètre hat 0.696 et hat -0.395 ne sont pas trop éloignées des vraies valeurs des paramètres alpha 10.666 et alpha2-0.333. Notez que nous recevons un message d'avertissement de convergence. Notez également que R utilise réellement la fonction arima0 pour calculer le modèle AR. Les modèles AR (p) sont tout simplement des modèles ARIMA (p, 0, 0), et donc un modèle AR est un cas particulier d'ARIMA sans composante de moyenne mobile (MA). Eh bien également utiliser la commande arima pour créer des intervalles de confiance autour de plusieurs paramètres, c'est pourquoi weve négligé de le faire ici. Maintenant que nous avons créé des données simulées, il est temps d'appliquer les modèles AR (p) aux séries chronologiques des actifs financiers. Données financières Amazon Inc. Commençons par obtenir le prix de l'action pour Amazon (AMZN) en utilisant quantmod comme dans le dernier article: La première tâche est de toujours tracer le prix pour une inspection visuelle brève. Dans ce cas, bien utiliser les prix de clôture quotidiens: Vous remarquerez que quantmod ajoute un formatage pour nous, à savoir la date, et un graphique un peu plus joli que les graphiques habituels R: Nous allons maintenant prendre les retours logarithmiques d'AMZN, puis le premier - ordre de la série afin de convertir la série de prix d'origine d'une série non stationnaire en une série (potentiellement) stationnaire. Cela nous permet de comparer les pommes aux pommes entre les actions, les indices ou tout autre actif, à utiliser dans les statistiques multivariées ultérieures, comme lors du calcul d'une matrice de covariance. Si vous souhaitez une explication détaillée de la raison pour laquelle les retours de journaux sont préférables, jetez un oeil à cet article sur Quantivity. Permet de créer une nouvelle série, amznrt. Pour tenir notre journal différencié retours: Encore une fois, nous pouvons tracer la série: À ce stade, nous voulons tracer le corrélogramme. Nous cherchions à voir si la série différenciée ressemble à du bruit blanc. Si ce n'est pas le cas, il existe une corrélation sérielle inexpliquée, qui pourrait être expliquée par un modèle autorégressif. Nous remarquons un pic statistiquement significatif à k2. Il existe donc une possibilité raisonnable de corrélation série inexpliquée. Soyez conscient cependant que cela peut être dû à un biais d'échantillonnage. Ainsi, nous pouvons essayer d'adapter un modèle AR (p) à la série et de produire des intervalles de confiance pour les paramètres: L'ajustement du modèle autorégressif AR à la série de prix différentiels de premier ordre produit un modèle AR (2) avec un chapeau -0,0278 Et chapeau -0.0687. Ive produit également la variance aystoptotique de sorte que nous pouvons calculer des erreurs standard pour les paramètres et produire des intervalles de confiance. Nous voulons voir si le zéro fait partie de l'intervalle de confiance 95, comme s'il l'est, cela réduit notre confiance que nous avons un vrai processus AR (2) sous-jacent pour la série AMZN. Pour calculer les intervalles de confiance au niveau 95 pour chaque paramètre, nous utilisons les commandes suivantes. We take the square root of the first element of the asymptotic variance matrix to produce a standard error, then create confidence intervals by multiplying it by -1.96 and 1.96 respectively, for the 95 level: Note that this becomes more straightforward when using the arima function, but well wait until Part 2 before introducing it properly. Thus we can see that for alpha1 zero is contained within the confidence interval, while for alpha2 zero is not contained in the confidence interval. Hence we should be very careful in thinking that we really have an underlying generative AR(2) model for AMZN. In particular we note that the autoregressive model does not take into account volatility clustering, which leads to clustering of serial correlation in financial time series. When we consider the ARCH and GARCH models in later articles, we will account for this. When we come to use the full arima function in the next article, we will make predictions of the daily log price series in order to allow us to create trading signals. SampP500 US Equity Index Along with individual stocks we can also consider the US Equity index, the SampP500. Lets apply all of the previous commands to this series and produce the plots as before: We can plot the prices: As before, well create the first order difference of the log closing prices: Once again, we can plot the series: It is clear from this chart that the volatility is not stationary in time. This is also reflected in the plot of the correlogram. There are many peaks, including k1 and k2, which are statistically significant beyond a white noise model. In addition, we see evidence of long-memory processes as there are some statistically significant peaks at k16, k18 and k21: Ultimately we will need a more sophisticated model than an autoregressive model of order p. However, at this stage we can still try fitting such a model. Lets see what we get if we do so: Using ar produces an AR(22) model, i. e. a model with 22 non-zero parameters What does this tell us It is indicative that there is likely a lot more complexity in the serial correlation than a simple linear model of past prices can really account for. However, we already knew this because we can see that there is significant serial correlation in the volatility. For instance, consider the highly volatile period around 2008. This motivates the next set of models, namely the Moving Average MA(q) and the Autoregressive Moving Average ARMA(p, q). Well learn about both of these in Part 2 of this article. As we repeatedly mention, these will ultimately lead us to the ARIMA and GARCH family of models, both of which will provide a much better fit to the serial correlation complexity of the Samp500. This will allows us to improve our forecasts significantly and ultimately produce more profitable strategies. Click Below To Learn More About. The information contained on this web site is the opinion of the individual authors based on their personal observation, research, and years of experience. The publisher and its authors are not registered investment advisers, attorneys, CPAs or other financial service professionals and do not render legal, tax, accounting, investment advice or other professional services. The information offered by this web site is general education only. Because each individuals factual situation is different the reader should seek his or her own personal adviser. Neither the author nor the publisher assumes any liability or responsibility for any errors or omissions and shall have neither liability nor responsibility to any person or entity with respect to damage caused or alleged to be caused directly or indirectly by the information contained on this site. Use at your own risk. Additionally, this website may receive financial compensation from the companies mentioned through advertising, affiliate programs or otherwise. Rates and offers from advertisers shown on this website change frequently, sometimes without notice. While we strive to maintain timely and accurate information, offer details may be out of date. Visitors should thus verify the terms of any such offers prior to participating in them. The author and its publisher disclaim responsibility for updating information and disclaim responsibility for third-party content, products, and services including when accessed through hyperlinks andor advertisements on this site.
No comments:
Post a Comment