Sunday 15 January 2017

Mdfa Forex

Cette dernière entrée de Chris est particulière dans le sens qu'il s'appuie sur mon Open Source package MDFA (plutôt que sur iMetrica) pour générer des signaux commerciaux, voir 1. Les résultats sont donc reproductibles. Chris a fait un grand effort de réplication, voir ci-dessous: Mercredi 20: J'ai ajouté le R-code modifié par Chris afin de procéder à la réplication. Ce qui suit est Chris8217email, coupé et collé à partir de mon serveur: donc, je viens de terminer le tutoriel intro tant attendu sur la façon de construire des signaux commerciaux à l'aide de MDFA et R pour les données à haute fréquence. Il n'y a pas trop de secrets à cacher ici, car ce que j'ai fait en R avec votre code est avant tout la même routine que je prends pour construire mes signaux de trading dans iMetrica (sauf que je peux faire des choses beaucoup beaucoup plus rapidement dans le second8230 et ok, là Ne sont que quelques petites sauces secrètes que j'utilise et qui ne sont pas encore disposées à fuir avant d'être employées. Mais dans la mesure où cet exemple avec le Yen va, tout (devrait) être reproductible à la maison en utilisant une version (légèrement modifiée) de votre code. Voici l'article 1. Un défi que j'ai rencontré dans la construction de ces exemples est venu de les comparer avec mes résultats que je reçois dans iMetrica. Malheureusement, au début, les résultats n'étaient pas les mêmes. Après avoir été un peu frustré, j'ai pris l'effort minutieux de découvrir pourquoi mes routines MDFA en C sont différentes de la vôtre dans R. Mine sont codées d'une manière beaucoup plus optimisé et efficace pour atteindre la vitesse la plus rapide possible (grâce à une apophénie rapide d'optimisation Package pour assembler les matrices et résoudre les coefficients). Cependant, les résultats finaux doivent toujours être équivalents. Après une journée de navigation à travers nos deux ou nos implémentations MDFA, j'ai découvert pourquoi ils ne sont pas équivalents (et je les ai modifiés dans votre code). Voici les différences (que je me souviens) de ma mise en œuvre et la vôtre (à partir de votre sortie de novembre): 8211 Informatique des DFT. Pour une raison quelconque, à la fréquence zéro, vous n'utilisez pas la moyenne des données. Vous venez de le mettre à zéro. Je ne sais pas si vous avez laissé cela sur un accident ou à dessein, mais j'utilise la moyenne. En outre, je divise les valeurs de DFT par la constante (broche) où n est le nombre d'observations dans les séries temporelles. 8211 Dans la définition du paramètre decay1, vous ne semblez pas utiliser le mappage de fonction tan. J'ai fait. 8211 La plus grande différence réside dans la définition de la fonction de lissage (définie par expweight). Tout d'abord, vous divisez expweight par 2, je divise par 10. Pas une énorme affaire. L'énorme affaire est celle-ci. Ma définition de la fonction de puissance décalée est fonction de la valeur de fréquence (donc de 0 à 3.14). Le vôtre est une fonction de l'emplacement de l'indice de valeur de fréquence, entre 0 et K. Cela fait une énorme différence. Je préfère définir la fonction de puissance par rapport à la valeur de fréquence et non à l'indice. Après que j'ai changé ces résultats étaient à peu près les mêmes, mais pas exactes. En examinant la matrice finale (en résolvant Axb pour les coefficients), après avoir appliqué la régularisation et la personnalisation, il semble que les valeurs à l'intérieur de la matrice A soient enlevées à un facteur d'environ 10. Mon intuition est que les fonctions exp complexes dans R et C sont calculées légèrement différentes (meilleure précision worse, je ne sais pas). Donc, je ne sais pas si c'est quelque chose que nous serons jamais en mesure de résoudre. Mais je ne suis pas inquiet, car les résultats finaux sont si proches. En fait, il n'affecté aucun des métiers de mes exemples que je montre, ils étaient les mêmes dans iMetrica. Et c'est le plus important. Quoi qu'il en soit, je peux vous envoyer ma version de votre code si vous voulez, afin que les gens peuvent le télécharger pour essayer les exemples. Ou vous pouvez considérer ces changements et les rendre permanents dans les futures versions de MDFA. Faites-moi savoir, et profitez de l'article. Vous travaillez trop dur, mon vieux. Vos cheveux ont été de couleur R R tissage et R-brossage vient à l'esprit aussi. En passant, la cohérence est mesurée dans l'autre sens: iMetrica devrait être capable de reproduire I-MDFA qui est la référence. Mon code MDFA tel que modifié par Chris (voir commentaires ci-dessus) DFT. r. I8217m travaillant toujours avec la série centrée donc la DFT dans la fréquence zéro est zéro (it8217s proportionnel à la moyenne). Chris ne semble pas travailler avec la série centrée: son DFT est différent de zéro dans freq. zéro. I-MDFAnew. r. Il semble que la pondération d'amplitude d'expweight a été changée et je suppose que le terme de lambda-décadence a été modifié aussi. Notez que je ne modifie pas ma dernière version d'I-MDFA: les modifications ci-dessus sont utiles si vous voulez répliquer les résultats de Chris8217 (mais je reste sur ma version). Afin d'effectuer la réplication you8217ll doivent exiger les données de lui. Laisser un commentaire Annuler la réponseFigure 1: In-sample (observations 1-250) et performances hors échantillon du signal de trading intégré dans ce didacticiel à l'aide de MDFA. (Top) Le prix du billet du Yen (FXY) en intervalles de 15 minutes et les transactions générées par le signal de trading. Ici la ligne noire est un achat (long), le bleu est la vente (position courte). (En bas) Les rendements accumulés (espèces) générés par la négociation, en pourcentage gagné ou perdu. Dans mon précédent article sur le commerce à haute fréquence dans iMetrica sur le FOREXGLOBEX. J'ai introduit quelques stratégies robustes d'extraction de signal dans iMetrica en utilisant l'approche multidimensionnelle de filtre direct (MDFA) pour générer des signaux hautes performances pour la négociation sur le marché des changes et des contrats à terme. Dans cet article je prends un bref congé d'absence de mon monde de développer des signaux de trading financiers dans iMetrica et de migrer dans un langage uber-populaire utilisé dans les finances en raison de sa gamme exubérante de paquets, la gestion rapide des données et la manipulation des graphiques et de Bien sûr le fait que it8217s libre (comme dans la parole et la bière) sur presque n'importe quelle plate-forme informatique dans le monde. Cet article donne un tutoriel d'introduction sur l'utilisation de R pour la négociation à haute fréquence sur le marché FOREX à l'aide du paquet R pour MDFA (offert par Herr Doktor Marc Wildi von Bern) et quelques stratégies développées pour générer des signaux commerciaux rentables. Pour ce tutoriel, je considère le deuxième exemple donné dans mon article précédent où j'ai conçu un signal de trading pour les retours de 15 minutes du Yen japonais (de la cloche d'ouverture à la fermeture du marché). Cela a présenté des défis légèrement nouveaux que par le passé, car les variations de saut proches de l'ouverture sont beaucoup plus importantes que celles générées par les retours horaires ou quotidiens. Mais comme je l'ai démontré, ces variations plus importantes sur le prix proche de l'ouverture ne posaient aucun problème pour le MDFA. En fait, il a exploité ces sauts et fait de gros profits en prédisant la direction du saut. La figure 1 en haut de cet article montre les performances de l'échantillon (observations 1-250) et hors-échantillon (observations 251 en avant) du filtre que je construirai dans la première partie de ce tutoriel. Tout au long de ce didacticiel, je tente de reproduire ces résultats que j'ai construit dans iMetrica et de développer sur eux un peu en utilisant le langage R et la mise en œuvre de la MDFA disponible ici. Les données que nous considérons sont des log-retours de 15 minutes du Yen du 4 Janvier au 17 Janvier et je les ai sauvegardés comme un fichier. RData donné par ldfxyinsamp. J'ai une série explicative supplémentaire intégrée dans le fichier. RData que I8217m en utilisant pour prédire le prix du yen. En outre, je vais également utiliser pricefxyinsamp qui est le prix de log de Yen, utilisé pour calculer la performance (buysells) du signal de négociation. Le ldfxyinsamp sera utilisé comme données dans l'échantillon pour construire le filtre et le signal de trading pour FXY. Pour obtenir ces données afin que vous puissiez effectuer ces exemples à la maison, envoyez-moi un courriel et I8217ll vous envoyer tous les fichiers. RData nécessaires (les données dans l'échantillon et hors de l'échantillon) dans un fichier. zip. En examinant rapidement les données de ldfxyinsamp, nous voyons les log-retours du Yen toutes les 15 minutes à partir du marché ouvert (fuseau horaire UTC). Les données cibles (Yen) sont dans la première colonne avec les deux séries explicatives (Yen et un autre actif co-intégré avec le mouvement du Yen). Gt head (ldfxyinsamp), 1, 2, 3 13-01-2003 13:30:00 0.000000e00 0.000000e00 0.0000000000 2013-01-04 13:45:00 4.763412e-03 4.763412e-03 0.0033465833 2013-01-04 14:00:00 -8.966599e-05 -8.966599e-05 0.0040635638 2013-01-04 14:15:00 2.597055e-03 2.597055e-03 -0.0008322064 2013-01-04 14:30:00 -7.157556e - 04 -7.157556e-04 0.0020792190 2013-01-04 14:45:00 -4.476075e-04 -4.476075e-04 -0.0014685198 Pour commencer à construire le premier signal de trading pour le Yen, nous commençons par télécharger les données en Notre environnement R, définir certains paramètres initiaux pour l'appel de fonction MDFA, puis calculer les DFT et le périodogramme pour le Yen. Comme je l'ai mentionné dans mes articles précédents, ma stratégie étape par étape pour la construction de signaux commerciaux commencent toujours par une analyse rapide du périodogramme de l'actif faisant l'objet d'un échange. Tenant la clé pour donner un aperçu des caractéristiques de la façon dont l'actif trades, le périodogramme est un outil essentiel pour naviguer comment l'extracteur est choisi. Ici, je cherche des pics spectrales principaux qui correspondent dans le domaine temporel à comment et où mon signal va déclencher métiers buysell. La figure 2 montre le périodogramme des retours de 15 minutes du Yen japonais durant la période de l'échantillon, du 4 janvier au 17 janvier 2013. Les flèches indiquent les principaux pics spectrals que je recherche et fournissent un guide sur la façon dont je Définira ma fonction. Les lignes pointillées noires indiquent les deux seuils de fréquence que je vais considérer dans cet exemple, le premier étant et le second à. Notez que les deux seuils sont définis directement après un pic spectral, quelque chose que je recommande fortement. Dans le commerce à haute fréquence sur le FOREX en utilisant MDFA, comme nous le verrons, l'astuce consiste à rechercher le pic spectral qui explique la variation proche-à-ouverte du prix de la devise étrangère. Nous voulons profiter de ce pic spectral car c'est là que les gains importants dans le commerce de devises en utilisant MDFA se produira. Figure 2: Periodogramme de FXY (Yen japonais) avec des pics spectraux et deux seuils de fréquence différents. Dans notre premier exemple, nous considérons la plus grande fréquence comme la coupure pour en la plaçant à (la ligne la plus à droite dans la figure du périodogramme). J'ai alors initialement fixé les paramètres de timeliness et smoothness, et expweight à 0 avec le réglage de tous les paramètres de régularisation à 0 aussi bien. Cela me donnera un baromètre pour savoir où et combien d'ajuster les paramètres du filtre. En choisissant la longueur du filtre, mes études empiriques sur de nombreuses expériences dans la construction de signaux commerciaux à l'aide d'iMetrica ont démontré qu'un choix 8216good8217 est entre 14 et 15 de la longueur totale dans l'échantillon des données de séries chronologiques. Bien entendu, la longueur dépend de la fréquence des observations de données (c'est-à-dire 15 minutes, toutes les heures, tous les jours, etc.), mais en général, vous n'aurez jamais besoin de plus que la taille de l'échantillon. Sinon, la régularisation peut devenir trop lourde pour être traitée efficacement. Dans cet exemple, la longueur totale de l'échantillon est de 335 et donc je fixe ce qui reste pour le reste de ce tutoriel. Dans tous les cas, la longueur du filtre n'est pas le paramètre le plus crucial à considérer dans la construction de bons signaux commerciaux. Pour une bonne sélection robuste des paramètres de filtre couple avec des séries explicatives appropriées, les résultats du signal de trading par rapport à, par exemple, ne devrait pas différer. Si elles le font, alors le paramétrage n'est pas assez robuste. Après avoir téléchargé à la fois les données de retour de données dans l'échantillon ainsi que le prix de log correspondant du yen pour le calcul des performances de négociation, passez à R pour définir les paramètres de filtre initiaux pour la routine MDFA, puis calculez le filtre à l'aide de la fonction IMDFAcomp. Cela renvoie à la fois les coefficients de maintien d'objet imdfaamp, les fonctions de réponse en fréquence et les statistiques de filtre, ainsi que le signal produit pour chaque série explicative. Nous combinons ces signaux pour obtenir le signal commercial final dans l'échantillon. Tout ceci est fait dans R comme suit: Les fonctions de réponse en fréquence résultantes du filtre et les coefficients sont tracés dans la figure ci-dessous. Figure 3: Les fonctions de réponse en fréquence du filtre (en haut) et les coefficients de filtre (ci-dessous). Noter l'abondance de bruit encore présent passant la fréquence de coupure. Ceci est apaisé en augmentant le paramètre de lissage de l'expweight. Les coefficients pour chaque série explicative montrent une certaine corrélation dans leur mouvement à mesure que les décalages augmentent. Cependant, le lissé et la désintégration des coefficients laissent beaucoup à désirer. Nous y remédierons en introduisant des paramètres de régularisation. Les tracés du signal d'échange dans l'échantillon et les performances dans l'échantillon du signal sont indiqués dans les deux figures ci-dessous. Notez que le signal de négociation se comporte assez bien dans l'échantillon. Cependant, les regards peuvent être trompeurs. Cette performance stellaire est due en grande partie à un phénomène de filtrage appelé overfitting. On peut en déduire que le surfaçage est le coupable ici en regardant simplement le non-lissé des coefficients avec le nombre de degrés de liberté gelés, qui dans cet exemple est environ 174 (sur 174), trop élevé. Nous aimerions obtenir ce nombre à environ la moitié de la quantité totale de degrés de liberté (nombre de séries explicatives x L). Figure 4: Le signal de trading et les données log-return du Yen. La performance de ce filtre dans l'échantillon démontre le type de résultats que nous aimerions voir après l'application de la régularisation. Mais vient maintenant pour les effets de rééquilibrage de surfaçage. Nous appliquons ces coefficients de filtrage à 200 observations de 15 minutes du yen et des séries explicatives du 18 janvier au 1er février 2013 et comparons avec les caractéristiques dans l'échantillon. Pour ce faire dans R, nous chargeons d'abord les données hors échantillon dans l'environnement R, puis nous appliquons le filtre aux données hors échantillon que j'ai définies comme xout. Le tracé de la figure 5 montre le signal de négociation hors échantillon. Notez que le signal n'est pas aussi fluide que dans l'échantillon. Le dépassement des données dans certaines zones est également évident. Bien que les caractéristiques hors-échantillon de suralimentation du signal ne sont pas horriblement suspectes, je ne ferais pas confiance à ce filtre pour produire des rendements stellaires à long terme. Figure 5. Filtre appliqué à 200 observations de 15 minutes de Yen hors de l'échantillon pour produire le signal de trading (montré en bleu) Après l'analyse précédente de la solution moyenne carrée (pas de personnalisation ou de régularisation), nous procédons maintenant au nettoyage de la Problème de surfaçage qui était apparent dans les coefficients ainsi que l'apaisement du bruit dans le stopband (fréquences après). Pour choisir les paramètres de lissage et de régularisation, une approche consiste à appliquer d'abord le paramètre de lissage, car cela lissera généralement les coefficients tout en agissant comme régulateur 8216pre8217, puis avancera à la sélection des contrôles de régularisation appropriés. En regardant les coefficients (figure 3), nous pouvons voir qu'une bonne quantité de lissage est nécessaire, avec seulement un léger contact de la pourriture. Pour sélectionner ces deux paramètres dans R, une option consiste à utiliser l'optimiseur Troikaner (trouvé ici) pour trouver une combinaison appropriée (j'ai une approche algorithmique de sauce secrète que j'ai développé pour iMetrica pour choisir des combinaisons optimales de paramètres donné un extracteur et un indicateur de performance , Même si elle est longue (même en GNU C) et lourde à utiliser, alors je préfère généralement la stratégie discutée dans ce tutoriel). Dans cet exemple, j'ai commencé par définir le lambdasmooth à .5 et la décroissance à (.1, .1) avec un paramètre de finesse de lissage défini à 8.5. Après avoir regardé les coefficients, il n'a pas encore été assez lisse, alors j'ai procédé à ajouter plus finalement atteindre .63, qui a fait l'affaire. J'ai alors choisi lambda pour équilibrer les effets du lissage expweight (lambda est toujours le paramètre de réglage de dernier recours). La figure 6 montre la fonction de réponse en fréquence résultante pour les deux séries explicatives (yen en rouge). Notons que le plus grand pic spectral trouvé directement avant le seuil de fréquence est accentué et légèrement apaisé (valeur près de 0,8 au lieu de 1,0). Les autres pics spectraux ci-dessous sont également présents. Pour les coefficients, on a appliqué juste assez de lissage et de désintégration pour conserver intacts le lag, la structure cyclique et la structure corrélée des coefficients, mais maintenant ils semblent beaucoup plus agréables dans leur forme lissée. Le nombre de degrés de liberté congelés a été réduit à environ 102. Figure 6: Les fonctions de réponse en fréquence et les coefficients après régularisation et lissage ont été appliqués (en haut). Les coefficients lissés avec légère pourriture à la fin (en bas). Le nombre de degrés de liberté congelés est d'environ 102 (sur 172). Parallèlement à l'amélioration des degrés de liberté de congélation et à l'absence de dégâts apparents de surfaçage, nous appliquons ce filtre hors de l'échantillon aux 200 observations hors échantillon pour vérifier l'amélioration de la structure des coefficients de filtre Figure 7). Notons l'énorme amélioration des propriétés du signal commercial (par rapport à la figure 5). Le dépassement des données a été éliminé et la souplesse globale du signal s'est considérablement améliorée. Cela est dû au fait que nous avons éradiqué la présence de surfaçage. Figure 7: Signal de négociation hors-échantillon avec régularisation. Avec toutes les indications d'un filtre doté exactement des caractéristiques dont nous avons besoin pour la robustesse, nous appliquons maintenant le signal commercial à la fois dans l'échantillon et hors de l'échantillon pour activer les métiers buysell et voir la performance du compte de négociation en valeur monétaire. Lorsque le signal passe au-dessous de zéro, nous vendons (entrez position courte) et quand le signal monte au-dessus de zéro, nous achetons (entrez la position longue). Le diagramme supérieur de la figure 8 est le prix du yen pour les intervalles de 15 minutes et les lignes en pointillés représentent exactement où le signal de négociation a généré des transactions (passage à zéro). Les lignes noires en pointillé représentent un achat (position longue) et les lignes bleues indiquent une vente (et une position courte). Notez que le signal a prédit tous les sauts proche-ouverts pour le Yen (en partie grâce aux séries explicatives). C'est exactement ce que nous nous efforcerons pour quand nous ajoutons la régularisation et la personnalisation au filtre. Le compte de caisse des opérations sur la période de l'échantillon est indiqué ci-dessous, où les coûts de transaction ont été fixés à 0,05 pour cent. Dans l'échantillon, le signal a gagné environ 6 pour cent dans 9 jours de bourse et un taux de succès de 76 pour cent de négociation. Figure 8: Performances dans l'échantillon du nouveau filtre et les métiers qui sont générés. Maintenant, pour le test ultime pour voir à quel point le filtre effectue en produisant un signal de trading gagnant, nous avons appliqué le filtre à l'observation de 200 minutes de 15 minutes hors du Yen et les séries explicatives du 18 janvier au 1er février et faire Sur la base du passage à zéro. Les résultats sont présentés ci-dessous à la figure 9. Les lignes noires représentent les achats et les lignes bleues vendues (shorts). Notez que le filtre est toujours capable de prédire les sauts proches de l'ouverture même hors de l'échantillon grâce à la régularisation. Le filtre succombe à seulement trois pertes minuscules à moins de 0,08 pour cent chacun entre les observations 160 et 180 et une petite perte au début, avec un taux de succès du commerce hors de l'échantillon atteignant 82 pour cent et un retour sur investissement de juste plus de 4 pour cent plus L'intervalle de 9 jours. Figure 9: Performances hors échantillon du filtre régulé sur 200 retours 15 minutes hors de l'échantillon du yen. Le filtre a obtenu un ROI de 4 pour cent sur les 200 observations et un taux de succès commercial de 82 pour cent. Comparez cela avec les résultats obtenus dans iMetrica en utilisant les mêmes paramètres de paramètre MDFA. Dans la figure 10, les performances de l'échantillon et celles de l'échantillon sont présentées. La performance est presque identique. Figure 10: Performances dans l'échantillon et hors de l'échantillon du filtre Yen dans iMetrica. Presque identique à la performance obtenue dans R. Maintenant, nous prenons un coup de poignard à la production d'un autre filtre de négociation pour le yen, seulement cette fois, nous voulons identifier seulement les fréquences les plus basses pour générer un signal commercial qui négocie moins souvent, en recherchant les plus grands cycles. Comme pour la performance du filtre précédent, nous souhaitons toujours cibler les fréquences qui pourraient être responsables des variations importantes du prix du yen qui sont proches de l'ouverture. Pour ce faire, nous sélectionnons notre coupure qui sera effectivement garder les trois pics spectrales les plus grands intacts dans la bande passe-bas de. Pour ce nouveau filtre, nous simplifions les choses en continuant d'utiliser les mêmes paramètres de régularisation choisis dans le filtre précédent, car ils semblent produire de bons résultats hors de l'échantillon. Cependant, les paramètres de personnalisation et expweight doivent être ajustés pour tenir compte des nouvelles exigences de suppression de bruit dans la bande stop et des propriétés de phase dans la bande passante plus petite. Ainsi, j'augmente le paramètre de lissage et diminue le paramètre de ponctualité (qui affecte uniquement la bande passante) pour tenir compte de cette modification. Les nouvelles fonctions de réponse en fréquence et les coefficients de filtre pour cette conception de passe-bas plus petite sont présentés ci-dessous à la Figure 11. Remarquez que le second pic spectral est comptabilisé et seulement légèrement atténué sous les nouvelles modifications. Les coefficients ont encore la douceur et la pourriture perceptibles aux plus grands décalages. Figure 11: Fonctions de réponse en fréquence des deux filtres et leurs coefficients correspondants. Pour tester l'efficacité de cette nouvelle conception de la fréquence de négociation inférieure, nous appliquons les coefficients de filtrage aux 200 observations hors échantillon des retours journaliers de Yen de 15 minutes. La performance est illustrée ci-dessous à la figure 12. Dans ce filtre, nous voyons clairement que le filtre réussit toujours à prédire correctement les grands sauts proches dans le prix du yen. Seules trois pertes totales sont observées pendant la période de 9 jours. La performance globale n'est pas aussi attrayante que la conception de filtre précédente que la moindre quantité de métiers sont effectués, avec un ROI près de 2 pour cent et 76 pour cent le taux de réussite commerciale. Toutefois, cette conception pourrait correspondre aux priorités d'un opérateur beaucoup plus sensible aux coûts de transaction. Figure 12: Performances hors échantillon du filtre avec une coupure inférieure. Conclusion La vérification et la validation croisée sont importantes, tout comme l'homme le plus intéressant au monde vous le dira. Le but de ce didacticiel était de montrer quelques-uns des principaux concepts et stratégies que je subis en abordant le problème de la construction d'un signal de trading robuste et très efficace pour un actif donné à n'importe quelle fréquence. J'ai aussi voulu voir si je pouvais obtenir des résultats similaires avec le paquet R MDFA que mon progiciel iMetrica. Les résultats ont fini par être presque parallèles à l'exception de quelques différences mineures. Les principaux points que j'essayais de mettre en évidence étaient d'analyser d'abord le périodogramme pour rechercher les pics spectrales importants (tels que ceux associés aux variations proches à ouvertes) et de démontrer comment le choix de la coupure affecte la négociation systématique. Here8217s un résumé rapide sur les bonnes stratégies et hacks à garder à l'esprit. Récapitulatif des stratégies pour construire le signal commercial en utilisant MDFA en R: Comme je l'ai mentionné précédemment, le périodogramme est votre meilleur ami. Appliquer la coupure directement après n'importe quelle gamme de pics spectrales que vous voulez considérer. Ces pics sont ce qui génère les métiers. Utiliser un choix de longueur de filtre ne dépassant pas 14. Tout ce qui est plus grand n'est pas nécessaire. Commencez par calculer le filtre dans le sens du carré moyen, à savoir sans utiliser de personnalisation ou de régularisation et de voir exactement ce qui doit être approuvé en visualisant les fonctions de réponse en fréquence et les coefficients pour chaque série explicative. La bonne performance du signal commercial dans l'échantillon (et même hors de l'échantillon dans la plupart des cas) n'a de sens que si les coefficients ont des caractéristiques robustes solides dans le domaine de la fréquence et dans le domaine du retard. Je recommande de commencer par modifier le paramètre de personnalisation smoothness et les paramètres de régularisation lambdasmooth en premier. Procédez alors avec seulement de légers ajustements aux paramètres lambdadecay. Enfin, en dernier recours, la personnalisation lambda. Je n'ai jamais pris la peine de regarder lambdacross. Il a rarement aidé de manière significative. Puisque les données que nous utilisons pour cibler et construire des signaux commerciaux sont log-retours, pas besoin de jamais se soucier de i1 et i2. Ceux-ci sont pour les extracteurs de signal vraiment avancé et patient et ne devrait être laissé pour ceux dotés d'iMetrica Si vous avez des questions, ou si vous souhaitez les données Yen haute fréquence que j'ai utilisé dans ces exemples, n'hésitez pas à me contacter et I8217ll envoyer À vous. Jusqu'à la prochaine fois, heureux d'extraire 8220Après un coup d'œil rapide à l'ldfxyinsamp données, nous voyons log-rendements du Yen à toutes les 15 minutes à partir du marché ouvert (fuseau horaire UTC). Les données de la cible (Yen) sont dans la première colonne avec les deux séries explicatives (Yen et un autre actif co-intégré avec le mouvement du Yen) .8221 Donc, dans votre fichier en entrée, vous utilisez deux fois le log (close-returns) Et 2) et un autre actif Pouvez-vous me dire plus sur cet autre actif cointegred. Comment vous le trouvez Bien qu'il ne soit pas si évident pour déterminer un ensemble de variables explicatives qui amélioreront le signal (et le commerce) de performance, j'ai développé un outil appelé analyse de la composante de fréquence fondamentale qui m'aide à choisir des séries avec de fortes corrélations de retard à certaines fréquences I8217m intéressé In. La méthode semble fonctionner assez bien jusqu'à présent dans mon expérience. Merci Chris, as-tu planifié un autre thread dans les prochaines semaines Oui, j'ai beaucoup de nouvelles idées d'articles, et j'écrirai bientôt. J'ai été occupé ces derniers mois à améliorer la méthodologie encore plus, ce qui la rend encore plus robuste pour les transactions financières. Le problème est que je commence à donner trop de mes secrets et finira par perdre mon avantage concurrentiel, alors j'ai besoin de rester un peu cryptique Quels sont vos temps favoris. 15 minutes, je pense que 15 minutes est une bonne gamme, plus la fréquence est basse et plus le signal sera robuste. Toutefois, dans la pratique I8217m actuellement en utilisant 5 minutes revient avec une société de négoce propriétaire à Chicago sur Index Futures. Vous filtrez l'heure dans vos données. Vous n'êtes commerçant que de 13h30 à 20h.


No comments:

Post a Comment