Sunday, February 26, 2017

Pca Trading Stratégies

Lorsque la cointegration d'une paire se décompose, j'ai écrit beaucoup dans le passé sur la cointegration des paires ETF, et comment cette condition peut conduire à des paires rentables trading. Toutefois, comme tous les conseillers en placements auraient pu vous le dire, la cointegration passée ne garantit pas la cointegration future. Souvent, la cointegration d'une paire se décompose pendant une longue période, peut-être aussi longtemps que la moitié d'un an ou plus. Naturellement, la négociation de cette paire pendant cette période est une proposition perdante, mais abandonner une telle paire complètement est également insatisfaisante, puisque la cointegration retourne souvent mystérieusement après un certain temps. Un cas en particulier est la paire GLD-GDX ETF. Quand je l'ai testé pour la première fois en 2006, c'était un excellent candidat pour la négociation de la paire, et je ne l'ai pas seulement échangé dans mon portefeuille personnel, mais nous l'avons échangé dans notre fonds aussi. Malheureusement, la situation s'est détériorée en 2008. Nous l'avons rapidement abandonnée pour voir la stratégie se remettre rapidement en 2007. La grande question est donc: comment savoir si la perte de cohésion est temporaire et comment savoir quand reprendre le commerce Une paire Pour répondre à la première question, il est souvent nécessaire d'aller au-delà des techniques, et de plonger dans les fondamentaux de la paire. Prenez GLD-GDX comme exemple. Quand j'ai enseigné mon atelier de négoce de paires en Afrique du Sud, plusieurs gestionnaires de portefeuille présents m'ont dit qu'il y avait 2 raisons pour lesquelles le prix au comptant de l'or divergeait des prix des actions des mineurs d'or. Tout d'abord, en raison de la forte hausse des prix du pétrole au cours du premier semestre 2008, les mines d'or ont beaucoup plus d'énergie pour extraire l'or du sol, d'où le recul des prix des or. Deuxièmement, de nombreux mineurs d'or couvrent leur exposition à la fluctuation des prix de l'or avec les dérivés. Par conséquent, lorsque le prix de l'or monte au-delà d'une certaine limite, les mineurs d'or cessent de bénéficier de cette hausse. Récemment, la revue The Economist a publié un article qui confirme essentiellement ce point de vue. Mais une confirmation supplémentaire peut être obtenue en introduisant le prix du pétrole (futur) dans l'équation de cointegration. Si vous faites cela, et si vous échangez ce triplet de GLD-GDX-USO, vous constaterez qu'il est rentable tout au long de la période de 2006-2010. Si vous trouvez la négociation d'un triplet trop compliqué, vous pouvez au moins backtest un filtre de trading de sorte que vous cesserez de commercer GLD-GDX chaque fois que USO va au-delà (ci-dessus, et peut-être aussi) une certaine bande. Si vous avez fait tous ces backtests, vous aurez un plan en place pour vous dire quand reprendre la négociation de cette paire. Mais même si vous n'avez pas fait ce backtest, et vous trouvez que vous avez besoin d'arrêter de négocier une paire en raison de cumul des pertes, vous devriez au moins continuer le papier de négociation pour voir quand il se retourne (Soit dit, Le marché de l'échange OneChicago est certainement l'avenir sur GDX est disponible là, alors que vous pouvez juste échanger les futures GC et CL directement sur CME. , Bien sûr, l'avertissement habituel qui s'applique à la négociation de futures paires: le passage de contango à l'arrimage et vice versa peut ruiner beaucoup d'une stratégie de paires de négociation, même si les prix au comptant restent cointegrating. Mas c'est une histoire pour une autre fois. Commentaires: J'ai fait une analyse rapide d'un triplet GLD-GDX-USO utilisant PCA. Il est tout simplement impossible de trouver un portefeuille plus stable que GLD-GDX pour l'ensemble de la période 2007-maintenant. Pourriez-vous donner un exemple d'un ratio triplet qui est détient à travers le marché 2008 sjev, essayez 0.5350GLD-0.7387GDX0.0293USO. GLD, GDX, USO se référer à leurs prix, et non des retours. Ce triplet devrait être stationnaire dans la période que j'ai mentionnée. En passant, je ne suis pas sûr que la PCA soit le bon moyen d'analyser la cointegration. Ernie Ernie, le couple reviendrait-il à son équilibre précédent En d'autres termes, le point d'équilibre du commerce après un certain nombre de mois ou d'années, j'ai essayé de négocier des paires en utilisant cointegration. J'utilise généralement 2 ans de données de roulement pour tester la cointegration et une période plus courte pour trouver le ratio de couverture statique. Une fois que je trouve cointegration et prendre le commerce, je continue à calculer la propagation chaque jour en roulant la période plus courte pour vérifier la réversion moyenne. Bien que la propagation moyenne revient bien, les métiers ne sont pas rentables. Pourriez-vous s'il vous plaît aviser ce qui ne va pas avec mon approche. Salut basant, Il semble que votre période de retour pour vos moyennes mobiles et les écarts-types peuvent être trop courtes. Ernie La période de retour est d'au moins soixante jours. Avez-vous conseiller une plus longue période de réflexion je pense que le problème est parce que je calcule la nouvelle bêta et nouvelle propagation que je roule la période de retour et de prendre sigma de la nouvelle propagation. Depuis le portefeuille d'origine est formé en utilisant différents bêta et la propagation est à l'égard de bêta différents, les métiers ne sont pas rentables en ce qui concerne la moyenne roulante. Dans ce cas, j'ai deux choix: 1) Rééquilibrer le portefeuille par rapport au nouveau bêta qui entraîne des coûts de transaction plus élevés. 2) Maintenir la bêta constante et prendre la moyenne et sigma de la propagation de roulis (qui est identique à la bande de bollinger). Pourriez-vous s'il vous plaît faites-moi savoir vos points de vue Hi basant, j'aime la méthode 2. Mais en tout cas, votre lookback devrait être fixé par des calculs demi-vie, comme recommandé dans mon livre. Un lookback long permettra d'éviter le problème que vous rencontrez. Ernie Merci Ernie pour vos commentaires. J'ai regardé dans votre livre pour la période de réflexion et didn39t trouver aucune référence à la relation entre la période de retour et la demi-vie. Pourriez-vous s'il vous plaît à travers un peu plus de lumière sur ce Hi Basant, Oui, je n'ai pas mentionné cette relation dans mon livre (j'ai discuté de cela dans mes ateliers.) Mais vous pouvez simplement essayer de définir votre lookback à (ou plus) . Cela fonctionne généralement assez bien. Ernie Merci beaucoup Ernie pour vos précieux commentaires. 1) La période de régression optimale d'une paire dépend de la demi-vie je veux dire est-il sage de prendre bêta d'une période où la demi-vie est la plus courte 2) Si les prix des stocks sont détruits avant de tester pour cointegration Hi Anon, Vous devez généralement définir la période de régression à la demi-vie, à moins que la demi-vie est trop courte pour donner un ajustement significatif. Vous ne devriez pas détringir les stocks à l'avance, sinon le test de cointegration n'a pas de sens. Ernie Pourriez-vous préciser: La demi-vie est calculée après avoir exécuté la régression. Par conséquent, comment peut-on définir la période de régression avant de calculer la demi-vie Comment court est une demi-vie courte Quelquefois, je reçois la demi-vie de 8 jours dans une période de régression de 2 ans. Ce sera considéré comme une courte demi-vie Hi Anon, C'est une bonne question et un bon exemple de la situation que l'on fait face dans les méthodes numériques assez souvent. On initie généralement les itérations en devinant un lookback approximatif, et on l'utilise pour les calculs de régression et de demi-vie. Ensuite, vous définissez le nouveau lookback pour égaler cette demi-vie, et répétez le processus. Si ce processus converge, c'est-à-dire si la demi-vie résultante cesse de changer beaucoup à chaque itération, vous avez trouvé le bon lookback à utiliser. Je pense qu'un ajustement de régression linéaire devrait avoir au moins 10 points de données. J'essaie de reproduire vos suggestions, mais probablement faire quelques erreurs et ne pas obtenir les résultats escomptés. 1) Par exemple, j'ai commencé avec un lookback de 100 jours et a obtenu une demi-vie de 15 jours. Ensuite avec un lookback de 15 jours, je reçois une demi-vie de 5 jours et avec lookback de 5 jours HL vient à 2 jours et ainsi de suite. La convergence ne se produit pas. 2) Quand je calcule bêta avec lookback de 10 jours pour les données ci-dessus, le sigma de la propagation est beaucoup plus petit que le sigma de 100 jours. Dans l'écart d'échantillon croise même 6 fois le sigma lookback de 10 jours où comme il reste avec en 3 fois le 100 sigma de jour. Quelle sigma dois-je utiliser Hi Anon, Avez-vous vraiment utiliser 5 jours pour la régression linéaire That39s trop court. En tout cas, je pense que vos calculs HL peuvent ne pas être corrects. Si vous ne pouvez pas trouver le lookback correct de cette façon, essayez juste de trouver le lookback optimal dans l'échantillon et testez-le hors de l'échantillon. Il en va de même pour vos calculs sigma. Ernie Hi Ernie, Merci beaucoup pour les informations précieuses partagées sur votre blog. Il semble qu'une période de réflexion de 2 ans pour le test de cointegration soit assez courante. Cependant, croyez-vous qu'une période plus courte pourrait être utile pour détecter quand la cointegration se décompose (autrement dit, un test de coningration sur une période de 6 mois peut-il détecter qu'une paire n'est plus stationnaire lorsque le même test sur 2 ans ne serait pas ). Merci. - Henri Hi Henri, Il est en fait très difficile de détecter la décomposition de la cointegration, sauf en recul, peut-être un an plus tard. Cela est dû au fait que tout retrait dans une stratégie de paires peut être interprété comme une ventilation. Mais seulement quand le prélèvement dure pour, disons, une année, quand on peut dire que la cointegration est vraiment allé. Le mieux que nous puissions faire est d'examiner les périodes passées de telles pannes temporaires et d'identifier le motif fondamental pour cela, puis d'ajouter un instrument de coïntégration supplémentaire qui, espérons-le, tiendra compte de la variable supplémentaire. Excuses si cela est légèrement hors sujet - il est moins à propos de quand la cointegration se décompose et plus sur la fiabilité d'un test de cointegration particulier. En utilisant EXACTEMENT le même ensemble de données, I39m voyant des résultats significativement différents entre les tests séquentiels sur les mêmes données lors de l'utilisation de la fonction Spatial Econometrics cadf. m MATLAB. Quelqu'un d'autre a connu ce Thx Andy Ernie, je revisiter ce post et de lire la dernière conversation entre vous et Jeet. Je me demande s'il est utile de mettre à jour le coefficient de couverture quotidiennement et d'utiliser une période aussi courte (10 jours dans le cas de Jeet). Je pense que le coefficient de couverture doit être mis à jour lorsque les changements fondamentaux, mais les paires sont toujours cointegrés. Pour les paires qui sont vraiment cointegrées, et vous ne vous souciez pas de détenir une période assez longue pour que la propagation revienne à la moyenne, vous pouvez certainement utiliser un ratio de couverture statique, mis à jour uniquement lorsque des changements fondamentaux se sont produits. Mais pour les commerçants qui souhaitent de courtes périodes de détention, et surtout lorsque la paire ne coïncide pas réellement, mais néanmoins réagit à court terme, un court retour nous permet de profiter de cette opportunité de profit et de sortir rapidement. Ernie C'est probablement le meilleur endroit pour se reposer. S'il vous plaît, j'ai besoin de clarification pour la suite. 1. J'ai 2 données de fermeture de série entrant en direct chaque minute. 2. Je vérifie co-int en empilant chaque nouvelle minute de données dans la pile, et la cointegration est détectée commence à un certain temps T1. (T1-20) 3. Puis je trouve la propagation à ce moment particulier. Et entrer dans un commerce si propagation suggère ainsi. 4. Ensuite, les nouvelles données entrent, je nouveau empiler les nouvelles données sur les données précédentes et de continuer à vérifier la cointegration. Et calculer également la marge pour les données (T1-20): MAINTENANT. 5. Cette fois-ci MAINTENANT change chaque minute et chaque minute je calcule nouvelle propagation du point de départ original lorsque la cointegration a commencé (c'est-à-dire T1-20) jusqu'à MAINTENANT. 6. Est-ce correct d'approoch pour commencer dès le début ou devrais-je seulement utiliser NOW-20: NOW pour caluclating coefficients de régression et puis la propagation. Salut HASNAT, Il n'est pas statistiquement significatif de déterminer la cointegration basée sur 20 points de données. Vous avez besoin d'au moins 100 points de données. De plus, coint est une propriété à long terme de séries chronologiques, il n'est pas très utile de déterminer la cointegration en utilisant des données intraday. Mais en général, vous pouvez utiliser NOW-lookback: NOW pour tester coint. Ernie Mr chan, comme vous l'avez souligné, lors du calcul d'un test ADF pour déterminer la cointegration, il est judicieux de tester les deux méthodes (switch indépendant et variable dépendante). J'ai remarqué que si la variable Y est plus petite que la variable X, elle est plus susceptible d'être cointegrated pour le test ADF, mais pas aussi probable quand commuté. Cela arrive beaucoup. Est-il logique de calculer un ratio de couverture avec les données avant le début de la date du test et de multiplier X par ce ratio de couverture avant d'effectuer le test ADF X et Y semble normalisé alors. Est-ce valide Merci Hi Anon, La meilleure façon d'éviter la dépendance à l'ordre que vous avez souligné est d'utiliser Johansen test pour cointegration. Le vecteur propre ainsi obtenu est le meilleur ratio de haies que vous pouvez trouver. Pour plus de détails, s'il vous plaît voir mon nouveau livre. Ernie continuant de mon poste juste au-dessus. Ma peur d'utiliser Cadf est que lorsque les tests à la fois ybx et xby et une façon est forte, mais l'autre est faible cointegration je vais jeter quelques bonnes paires qui ne fonctionnent pas à cause de la différence de prix des 2 stocks. Vous me suggérez d'utiliser Johansen test pour éviter cela, mais je vous ai lu vous-même utiliser Engle-Granger. Ne vous inquiétez pas de l'effet de l'ordre-dépendance sur vos paires Merci Anon, Dans les cas où la cointegration est forte, qui est où je travaille habituellement, l'utilisation de cadf est assez OK. Cependant, si vous avez des inquiétudes sur la force de cointegration, je vous recommande de passer à Johansen. Ernie M. Chan, Et si les tests de cointegration (johansen et adf) montrent une forte cointegration, mais un graphique de la propagation a une tendance assez claire vers le haut ou vers le bas (pas du tout comme le GLD, GDX images dans votre livre) Si vous avez défini le paramètre d'entrée p2, le test de Johansen permet une pente non nulle de la propagation en fonction du temps. La réversion moyenne est alors par rapport à la ligne de tendance. Ernie bonjour, j'essaie toujours de comprendre complètement la méthode de Johansen. Pouvez-vous me dire si le nombre correct de décalages à utiliser est 1 (k1) Je suis juste tester 2 variables à la fois si cela fait une différence Anon, Oui, je trouve souvent k1 est le minimum. Si cela ne peut pas rejeter l'hypothèse nulle, essayez un plus grand nombre, mais je pense qu'ils ne sont généralement pas très utiles. Ernie Hi Ernie - y at-il des documents ou des conseils sur la cointegration avec des données tick, au lieu de temps de tranche de données bar Je pense à la création de 100-1000 barres de tique pour chaque actif, mais il semble être que, afin d'évaluer cointegration , J'ai besoin d'une trame cohérente dans le temps sur tous les actifs, donc je dois fermer tous les quotbarsquot au même instant. Y a-t-il un moyen plus fluide, mais toujours cohérent, d'évaluer l'écart par rapport à la moyenne cointegrée? J'espère que vous comprenez ma question, je crois qu'elle est très simple, mais je ne veux pas réinventer la roue. Salut expert, je pense que la seule façon d'utiliser les données de coche pour le test de coint est de créer des barres de volume, comme vous l'avez suggéré. Ernie Ernie Chan, j'ai trois questions de base. 1. Dans le tading basé sur coint, chaque nouveau point de données modifie les coefficients de régression. Comment stabiliser le coefficient de régression? 2. Il semble que les stratégies basées coint ne fonctionnent que sur des données quotidiennes et hebdomadaires et ne doivent pas être utilisées pour des données minutieuses, horaires et intraday. Mais alors les métiers seraient très lents (pas rapides). Existe-t-il une version rapide stratégie de coint basée sur le commerce 3. Existe-t-il un papier simple, de base, l'exemple qui peut donner un coint pratique basée sur la stratégie commerciale. Généralement, les papiers calculent à l'avance le coefficient de régression avec toutes les données (y compris celle à tester). Ce qui, selon moi, n'est pas une approche correcte pour le commerce pratique. Hasnat, 1) Vous devez exécuter la régression tous les jours, et mettre à jour vos coefficients et éventuellement les positions quotidiennes sur la base des derniers coefficients. 2) Si vous souhaitez analyser les stratégies de négociation quotidienne de coint (c'est-à-dire toujours liquider toutes les positions à la clôture du marché), vous pouvez concaténer tous les prix intraday de jours différents ensemble, mais les ajuster pour éliminer les écarts de nuit (similaire à backadjustment des cours à terme à Éviter les écarts de renversement.) 3) En effet, lors du calcul du coefficient de régression dans un backtest, on ne devrait utiliser les données qu'au moment où vous devez entrer dans un métier. Je ne connais aucun de ces documents, car ces stratégies sont simples à construire et backtest vous-même. Salut M. Chan, j'ai essayé de reproduire votre test de johansen et d'obtenir la combinaison GLD, GDX, USO avec les mêmes paramètres que le vôtre. Mais je n'ai pas réussi, où j'ai utilisé le prix de détail quotidien avec la période de temps 20060523-20100521. Je me demande donc quels prix utilisiez-vous? Avez-vous effectué un prétraitement sur votre base de données Vous avez mentionné quot Vous ne voudrez peut-être pas modifier le poids des positions existantes pour éviter les coûts de transaction. Nous avons également discuté précédemment que nous choisissons parfois le second vecteur propre parce que le premier vecteur propre est très grand. Mais parfois les deux vecteurs propres sont proches, juste ceux basés sur le recul, on s'éloigne lentement vers un très grand nombre. Quelle est la durée de la période que vous avez utilisée pour calculer le ratio de couverture et la durée de la période de ce ratio de couverture est appliquée à Merci pour vos enseignements Leo Hi Leo, Il n'ya pas Problème de changement des vecteurs propres si vous décidez de maintenir le vecteur propre fixé pendant la durée de vie d'une position. D'une manière générale, il faut fixer la période au cours de laquelle le ratio de couverture est calculé pour être au moins aussi long que la demi-vie de la réversion moyenne, et probablement quelques fois celle-ci. Mais il s'agit d'un paramètre libre que vous pouvez optimiser dans l'échantillon. Donc, la méthode appropriée backtest en utilisant bollinger sera comme suit 1) choisir le premier vecteur eigen 2) bollinger déclencher un commerce, 3) eigen vecteur ne changera pas jusqu'à ce que le bollinger déclencher une position rapprochée. 4) le système reprendra la mise à jour avec le nouveau vecteur propre chaque jour jusqu'à ce qu'un commerce soit déclenché par bollinger. Ma deuxième question sera car il y a deux vecteurs propres à choisir, disons que je choisis le premier vecteur propre, il devient lentement plus grand et plus grand alors que le deuxième vecteur propre ne dévie pas beaucoup. Le système ne saurait pas si le vecteur eigen choisi va être incorrect ou est-il correct en raison des données. Ce n'est que par le recul que je vais voir le ratio de couverture adéquat. Quand je backtest à travers le temps, mon système toujours sélectionner le ratio de couverture erronée. (Merci pour vos enseignements toujours Leo Hi Leo, Oui, votre description est exacte. Une fois que vous avez conclu un métier, puisque vous avez fixé le vecteur propre, il n'est pas question que le test de Johansen mis à jour va changer ce vecteur propre. Pour ma deuxième question Dois-je vraiment besoin de construire un modèle de décision sophistiquée pour choisir le ratio de couverture sur la base du problème suivant, j'ai besoin du ratio de couverture pour former la propagation pour backtest. Ma deuxième question sera car il ya deux vecteurs propres à choisir, Dire que je choisis le premier vecteur propre, il devient lentement plus grand et plus grand alors que le second vecteur propre ne dévie pas beaucoup. Le système ne saurait pas si le vecteur eigen choisi va être faux ou est-il correct en raison des données. , Puis-je voir le ratio de couverture correcte. Quand je backtest à travers le temps, mon système toujours sélectionner le ratio de couverture erroné. (Avoir un bon week-end long Merci pour vos enseignements toujours Leo Hi Leo, Comme je l'ai dit, Vecteur propre change ou pas en théorie. En pratique, vous avez fixé sa valeur une fois que vous êtes entré dans une position. Ernie, je veux dire pendant la période que nous n'avons pas encore entré dans une position. Pendant ces périodes, le système devra choisir un vecteur propre pour calculer les séries chronologiques étalées. De ce fait, un vecteur propre peut être de plus en plus grand et tandis que l'autre vecteur propre n'est pas. Comment pouvez-vous déterminer le vecteur propre pendant cette période automatiquement? Salut Leo, Afin de calculer la propagation, nous pouvons utiliser le vecteur propre le plus récent (1), car c'est celui que nous échangerons si la propagation est assez grande. Ensuite, en fixant cela comme notre ratio de couverture, nous pouvons calculer la propagation et les bandes de Bollinger dans la période de retour. Ernie bonjour Ernie, grand blog. C'est un commentaire tardif pour moi pour ce poste ancien, mais je pense qu'il est important de noter qu'il ya une autre raison, tandis que les mineurs d'or et d'or au comptant peuvent différer. Beaucoup pensent que les mineurs d'or sont un proxy pour l'investissement en or pur, tandis que les raisons que vous avez donné sont certainement bon, il ya un qui beaucoup ont tendance à manquer et est moins axée sur le marché et plus géopolitique. En fait, l'or est un produit qui est situé dans de nombreux points chauds à travers le monde, donc il ya toujours un risque très fort d'expropriation par le gouvernement ou le groupe d'intérêt local. C'est pourquoi à mon avis, tandis que les stocks de mineurs d'or doit être examiné attentivement, surtout dans la hausse des prix fois. Vive les grands livres. I39m en essayant de reproduire votre 0.5350GLD-0.7387GDX0.0293USO à l'aide du fichier de données du livre, mais je ne suis pas capable de: load (39GDX39 (39GDX39)) idxAfind (strcmp (39GLD39, syms) , Idms)) xcl (dataIdx, idxA) ycl (dataIdx, idxC) zcl (dataIdx, idxA) ycl (dataIdx, idxA) ycl (idxC) zcl (.idxD) dataIdxfind (tdaygt20060523 amp tdaylt20100521) (Y2, 0, 1) - results. evec (:, 1) cela donne: 0.0284559 -0.1803813 0.0096945 J'ai essayé toutes les dates de fin possibles du fichier, et le plus proche que j'ai eu était 20071030: 0.490061 -0.739426 0.043671 Je me rends compte que vous avez dit que votre résultat était en utilisant yahoo données ajustées, mais j'ai essayé aussi avec un certain code R, et avait le même problème. Toutes les idées S'il vous plaît laissez-moi savoir quel livre et à quel exemple ou programme vous faites référence. Merci, Ernie I39m en référence à ces commentaires: epchan. blogspot201106when-cointegration-de-paire-breaks-down. htmlshowComment1308347743393c4330074217513772394 epchan. blogspot201106when-cointegration-de-paire-breaks-down. htmlshowComment1308397223892c2159662116740760189 epchan. blogspot201106when-cointegration-de-pauses-breaks - down. htmlshowComment1311089341793c5311158261097637776 epchan. blogspot201106when-cointegration-of-pair-breaks-down. htmlshowComment1311207425171c1405960126048097640 Le code que j'ai collé est une modification de cointegrationTests. m de votre deuxième exemple de livre 2.7 For (GDX, GLD, USO) from 20060523-20120409, using Ajusté tous les jours ferme, j'ai trouvé evec (. 1) à -0.1770 0.0331 0.0025 J'espère que c'est ce que vous avez obtenu Oui, that39s exactement ce que j'ai obtenu (0.0331094, -0.1770360,0.0025494). Mais si vous l'exécutez se terminant à 20100521 vous don39t obtenir 0.5350GLD-0.7387GDX0.0293USO, vous obtenez 0.0284559, -0.1803813,0.0096945 donc où sont les 0.530, -0.7387,0.0293 vous avez mentionné à partir de Depuis que nous sommes d'accord sur cet ensemble de chiffres, Cela signifie que nos programmes sont les mêmes. Vous pouvez ignorer les valeurs des vecteurs propres que j'ai cité précédemment - je ne vais pas découvrir exactement ce qui a mal tourné, que ce soit les données ou le programme. Merci Ernie - Je devais fou essayant de comprendre ce qui se passait Salut, J'ai un problème avec des vecteurs propres. Mes données contiennent des prix proches de 100 actions sur 5 ans. J'ai utilisé le fichier johansen. m pour le test de coint et les statistiques de test étaient correctes à 99 mais après j'ai réalisé que les valeurs de vecteur propre pour certaines paires ont le même signe. Je ne comprenais pas le sens du problème et du sens. Merci Ernie tes livres sont vraiment géniaux. Salut Cansin, Merci pour vos aimables paroles. Malheureusement, la plupart des tests de Johansen (comme celui de l'économétrie spatiale) ne peuvent pas gérer plus de 12 variables. L'Analyse des Composants Principaux (PCA) est une technique mathématique très importante utilisée dans presque tous les domaines du Financement Quantitatif. Les gestionnaires de portefeuille institutionnels utilisent cette méthode pour répartir les fonds entre les actifs et les catégories d'actifs, les structurateurs de taux d'intérêt et les quants utilisent cette technique pour modéliser la courbe des rendements et analyser sa forme et de nombreux quants utilisent cette technique pour mettre en œuvre le fameux modèle HJM. De nombreux taux et les commerçants à revenu fixe utilisent cette méthodologie pour couvrir leurs portefeuilles, les commerçants d'actions quantitatives utilisent ce pour développer des algorithmes pour acheter et vendre des stocks et les traders algorithmiques FX l'utiliser pour générer des signaux de prix. Même en dehors de Quantitative Finance, PCA est partout dans nos vies, de la biologie, la physique, l'ingénierie, l'économie au développement de logiciels et les moteurs de recherche Internet. Le plus connu des finances quantitatives, PCA est partout dans nos vies, de la biologie, la physique, l'ingénierie, l'économie au développement de logiciels et les moteurs de recherche Internet. Le plus célèbre et puissant moteur de recherche Internet, Google, utilise l'algorithme PCA. Certaines applications spécifiques de l'APC dans le domaine du financement quantitatif sont les suivantes: Analyser la forme de la courbe de rendement Couverture des portefeuilles à revenu fixe Mise en œuvre de modèles de taux d'intérêt tels que le Heath Le modèle Jarrow Morton (HJM), l'étalonnage du modèle Libor, etc. Prévision des rendements du portefeuille et analyse du risque des portefeuilles institutionnels importants Élaboration d'algorithmes d'allocation d'actifs pour les portefeuilles d'actions Développement d'algorithmes de négociation de titres à court et long terme et analyse de paires Analyse du risque de marché des portefeuilles d'actifs Analyser et prévoir l'asymétrie de surface de volatilité L'ACP est une méthodologie pour réduire la dimensionnalité d'un problème complexe. Dites, un gestionnaire de fonds a 1000 actions dans son portefeuille. Si nous devions analyser tous les stocks quantitativement alors nous avons besoin d'une matrice de corrélation. Comme il est évident, même avec la puissance de calcul, ce problème peut devenir très lourd et encombrant. Mais si on dit, 20 facteurs considèrent ces facteurs comme une sorte de variables mathématiques qui expliquent le mouvement de tous les 1000 stocks dans l'univers des gestionnaires. Ensuite, en analysant ces 20 facteurs, nous pouvons obtenir une poignée sur la dynamique de l'univers stock entier 1000. De cette façon, un portefeuille d'actions de 1 000 se réduit à un portefeuille de 20 facteurs, où chacun de ces 20 facteurs sont indépendants d'autres facteurs et d'une certaine manière expliquer le mouvement de l'ensemble des 1 000 actions. C'est ce que PCA fait. L'estimation des facteurs est la partie la plus cruciale de la méthodologie. Ces facteurs mathématiques sont connus sous le nom de composantes principales (PC) de la matrice de corrélation des actifs. La mise en œuvre de la méthodologie PCA implique l'estimation des PC d'une matrice de corrélation d'actifs particulière ou de la matrice de covariance de variance en utilisant des techniques mathématiques. Une fois que les PC sont estimés, leur application pour analyser un certain problème en finance est facile. Il existe deux façons d'estimer mathématiquement les PC. Utilisation de la décomposition propre d'une corrélation ou d'une matrice de covariance de variance. Cela implique d'estimer les vecteurs et les valeurs propres d'une corrélation (ou d'une matrice de variance-covariance) puis d'estimer les PC à l'aide de ces vecteurs propres. Les vecteurs propres d'une matrice de corrélation symétrique (ou d'une variance-covariance) forment les coefficients des PC. Les valeurs propres de chaque vecteur propre ont une valeur propre associée qui nous indique l'importance de ce vecteur propre pour expliquer la variance des rendements des actifs ou la corrélation entre eux qui nous aident à décider combien de vecteurs propres facteurs sont importants pour expliquer la corrélation des rendements des actifs En d'autres termes, la variance des rendements des actifs) et donc de garder dans notre analyse. S'il y a 1 000 actifs dans notre portefeuille, il en résulterait une matrice de corrélation qui serait de 1 000 vecteurs propres. Cependant, peut-être, seulement 20 ou 25 de ces vecteurs propres seraient en mesure d'expliquer, par exemple, 98 de toute variance parmi les rendements des actifs, alors nous retenons ces 20 ou 25 vecteurs propres et rejetons le reste des vecteurs propres 978 ou 975. Les valeurs propres associées à chacun de ces 1 000 vecteurs propres nous indiqueront le nombre de vecteurs propres à retenir et le nombre à rejeter. On peut calculer des valeurs propres et des vecteurs propres ou une matrice symétrique en utilisant des techniques mathématiques établies telles que l'algorithme de Jacobi, la méthode Power, etc. Il existe une autre méthode pour estimer les PC dans lesquels on n'a pas à recourir explicitement au calcul des vecteurs propres et des valeurs propres en utilisant Un algorithme particulier. Cette méthode utilise une maximisation de la technique d'optimisation du produit des PC et de la matrice de variance-covariance qui implique l'algèbre matricielle. Si nous supposons qu'il existe trois PC (par exemple, dans un problème de trois actifs), PC1, PC2 et PC3, chacun dépeignant un tableau (ou un vecteur), nous pouvons trouver le premier PC en maximisant le produit: sous réserve du fait Que, où, le signe implique la multiplication matricielle entre un tableau et une matrice, symbolise la transposition du tableau et représente la matrice variance-covariance. De même, on peut estimer le deuxième et le troisième PC, cependant, étant donné le fait que tous les PC sont indépendants les uns des autres, les conditions d'orthogonalité doivent être satisfaites, c'est-à-dire, etc. Les deux méthodes ci-dessus peuvent être facilement mis en œuvre sur une feuille de calcul Excel MC, bien que la décomposition propre aurait besoin de codage dur en utilisant VBA. Nous parlons de PCA beaucoup dans notre cours CFE et la plupart des applications ci-dessus sont implémentées sur Excel MD feuille de calcul dans le cadre de notre cours CFE et CFE Séminaires. Références: Analyse du risque de marché: instruments financiers, instruments de couverture et instruments financiers de négociation, partie III. Carol Alexander, John Wiley Sons. Titres à revenu fixe . Bruce Tuckman Angel Serrat, fils de John Wiley. Tous les commentaires et requêtes peuvent être envoyés par notre formulaire en ligne. Utilisation de la prévision de volatilité Garch Quantum Financier a écrit un article intéressant système de commutation de régime en utilisant la prévision de la volatilité. L'article présente un algorithme élégant pour basculer entre les stratégies de réversion moyenne et de suivi de tendances basées sur la volatilité du marché. Deux modèles sont examinés: l'un utilisant la volatilité historique et un autre utilisant le Garch (1,1) Volatility Forecast. La stratégie de réversion moyenne est modélisée avec RSI (2): Long lorsque RSI (2) et Short autrement. La stratégie de suivi des tendances est modélisée avec le crossover SMA 50200: long lorsque SMA (50) gt SMA (200), et court sinon. Je veux montrer comment mettre en œuvre ces idées à l'aide de la bibliothèque de backtesting dans la boîte à outils Systematic Investor. Le code ci-dessous affiche les prix historiques de Yahoo Fiance et compare les performances des stratégies Buy et Hold, Mean-Reversion et Trend-Following en utilisant la bibliothèque de backtesting dans la boîte à outils Systematic Investor: Ensuite, créez une stratégie qui permute entre la réversion moyenne et la tendance - les stratégies suivantes basées sur la volatilité historique du marché. Ensuite, crée une prévision de volatilité GARCH (1,1). Je recommande de lire les articles suivants pour tous ceux qui veulent trouver ce que GARCH est tout ou pour rafraîchir leurs connaissances: Il existe quelques paquets R pour les modèles GARCH. Je considérerai la fonction de garch du paquet de tseries et de la fonction de garchFit du paquet de fGarch. La fonction garch du paquetage tseries est rapide mais ne trouve pas toujours de solution. La fonction garchFit du paquetage fGarch est plus lente mais converge de manière plus cohérente. Pour démontrer la différence de vitesse entre la fonction garch et la fonction garchFit, j'ai créé un benchmark simple: La fonction garchFit est en moyenne 6 fois plus lente que la fonction garch. Donc, pour prévoir la volatilité, je vais essayer d'utiliser la fonction garch chaque fois qu'il peut trouver une solution et garchFit fonction autrement. Maintenant, permet de créer une stratégie qui bascule entre les stratégies de réversion moyenne et de suivi des tendances basées sur la prévision de la volatilité GARCH (1,1). The switching strategy that uses GARCH(1,1) volatility forecast performed slightly better than the one that uses historical volatility. There many different approaches you can take to incorporate forecasting into your models and trading strategies. R has a very rich set of packages to model and forecast time series. Here are some examples that I found interesting: To view the complete source code for this example, please have a look at the bt. volatility. garch() function in bt. test. r at github .


No comments:

Post a Comment