Juillet 12, 2007 En plus de démontrer les bases de la négociation automatisée (AT), le code ci-dessous peut fonctionner comme un outil de diagnostic lors du développement du code AT. Il arrive souvent que les choses cessent brusquement de fonctionner, et qu'aucune commande ne soit transmise. Lorsque cela se produit, et avant de commencer à rechercher des bogues dans votre code, vous pouvez exécuter ce code pour vérifier que votre interface avec le TWS est fonctionnelle. Pour que les commandes soient transmises au marché, vous devez avoir entré votre 8220Unlock Code8221 pour le contrôleur IB dans la fenêtre de déverrouillage qui apparaît lorsque vous cliquez sur Fichiers - Saisissez le code de déverrouillage. Vous pouvez obtenir votre code électroniquement en suivant le lien vers le contrat d'utilisation IBc. Lorsque vous aurez signé et soumis le contrat d'utilisation, le code de déverrouillage vous sera envoyé par e-mail en quelques secondes. Le code de test ci-dessous peut être exécuté à partir d'une fenêtre Indicateur et testera votre connexion AB-gtTWS en plaçant des ordres de la fenêtre Param sur votre compte eDemo ou Paper Trading: Order and TWS Status s'affiche dans le titre: Si vous utilisez IBD eDemo , Les commandes peuvent être traitées assez lentement pour que vous puissiez observer comment les commandes sont traitées. Le code ci-dessous illustre plusieurs aspects fondamentaux mais très importants de la négociation automatisée, et il est important de bien comprendre ce code avant d'essayer des programmes plus complexes. Le concept le plus important à comprendre est celui de l'ID de commande. L'IBc renvoie un ID de commande unique pour chaque commande passée. Ce OrderID peut ensuite être utilisé pour modifier, transmettre, annuler et obtenir le statut de la commande. Pour que tout système AT fonctionne correctement, les ID de la commande doivent être suivis minutieusement en tout temps. L'utilisation d'un code d'ordre expiré, d'un nom non existant ou d'un ordre déjà rempli, par exemple, entraînera des erreurs API. Lorsque vous utilisez un système automatisé de négociation, vous avez besoin d'un commutateur principal pour vous permettre d'EnableDisable tous Automatisée. Il est très important que ce commutateur soit éteint lorsque vous démarrez AmiBroker parce que la dernière chose que vous voulez voir est que les commandes sortent juste après le lancement d'AmiBroker. Vous ne pouvez pas utiliser ParamToggle () car cette fonction reprend le dernier état dans lequel il se trouvait avant de fermer AmiBroker, c'est-à-dire si elle était activée lorsque AmiBroker est fermée, puis elle est activée après le démarrage. Vous avez besoin d'une fonction qui démarre toujours Déactivé, peu importe dans quelle condition AmiBroker fermé. Pour créer un commutateur qui est toujours désactivé au moment du démarrage, vous utilisez deux ParamTrigger () s, un pour activer l'automatisation et un pour désactiver l'automatisation. Modifié par Al Venosa Filed by Herman à 9:12 pm sous System Automation Comments Off sur le commutateur Master AT 24 avril 2007 Il s'agit d'une introduction rapide à la configuration de vos paramètres par défaut dans le simulateur TWS et / ou le TWS réelle pour le commerce automatique . Veuillez vous référer à la documentation officielle de TWS pour plus d'informations sur ce sujet et sur des sujets connexes. Pour AmiBroker et l'IBc pour communiquer avec le TWS, vous devez configurer le TWS comme suit: Dans certains des sujets suivants, vous apprendrez le fichier d'exportation TWS, qui est lu pour obtenir les prix réels auxquels vos commandes ont été remplies . Pour que cette fonctionnalité fonctionne correctement, vous devez configurer votre TWS avec les conventions de dénomination indiquées ci-dessous. Les noms de fichiers d'exportation sont différents pour chaque compte IB que vous utilisez, et ils sont enregistrés sur votre disque dur aux chemins indiqués ci-dessous: Real. Trades. Ce nom de fichier est pour votre compte de trading en argent réel (C: jtsReal. Trades). Simulated. Trades. Ce nom de fichier est pour votre compte Simulated (Paper-Trader) (C: jtsSimulated. Trades). Demo. Trades. Ce nom de fichier est pour le compte eDemo (C: jtsDemo. Trades). Sachez que les listes de commerce exportées ne sont pas datées et seront écrasées le jour suivant. Édité par Al Venosa Archivi par Herman à 10:37 sous System Automation Comments Off sur la mise en place de votre TWS pour Trading automatique 21 avril 2007 Dix raisons que vous pourriez vouloir pour automatiser vos métiers Plus amusant. Il est fascinant et très amusant de voir vos commandes étant placé, modifié et rempli plus rapidement que n'importe quel commerçant humain pourrait jamais faire 8211 et de le faire sans erreur. Moins de stress. Trading sous la pression d'un marché en mouvement rapide peut être très stressant. Ayant votre système faire tout le travail pour vous sans erreur d'entrée de commande réduit considérablement le stress. Interface utilisateur simple. Pour la plupart d'entre nous, Interactive Brokers8217 Trader Work Station (TWS) est gonflé de goodies que nous n'utilisons jamais et, parfois, est maladroit à utiliser. AmiBroker vous permet de concevoir votre interface commerciale personnalisée avec seulement les fonctions dont vous avez besoin. Cela signifie que vous pouvez minimiser le TWS, économiser de l'espace à l'écran, et le commerce à partir de votre propre interface commerciale personnalisée. Une meilleure efficacité. Que vous fassiez des transactions intraday ou de fin de journée (EOD), calculer manuellement les prix pour de nombreuses commandes complexes peut prendre beaucoup de temps. Grâce à l'automatisation, vous pouvez effectuer tous ces calculs en temps réel et sans retard. Flexibilité accrue. Vous pouvez composer vos propres types d'ordres, les règles de négociation de changement, définir des stratégies d'arrêt, etc et les modifier à la volée. Moins émotionnel. Nous savons tous que le commerce émotionnel peut tuer même le meilleur système mécanique. Votre système mécanique automatisé suivra vos règles commerciales de façon impeccable et automatique, sans jamais deviner les signaux mécaniques. Réactivité accrue. Grâce à l'automatisation, les prix peuvent être recalculés et les ordres modifiés, peut-être même exécutés, plus rapidement que le dactylo tactile le plus efficace et le plus rapide peut les saisir. Précision accrue. Aucune possibilité d'erreurs de saisie lors de la commande, jamais Trading Niche. Alors que la popularité du commerce automatisé augmente rapidement, il peut toujours y avoir une niche unique pour le petit commerçant utilisant l'automatisation. Les excursions de prix et les volumes peuvent être trop petits pour les commerçants de fonds, mais peut être parfait pour le petit commerçant. Augmentation de la rentabilité. Si vous négociez un système mécanique rentable, l'ajout d'automatisation à elle sera presque certainement augmenter vos profits. Edité par Al Venosa Archivi par Herman à 9:56 am sous System Automation Comments Off sur le bord de Auto-TradingFebruary 1st, 2010 middot 73 Commentaires middot Backtest. Logiciel Bien, I am8230 Les lecteurs réguliers pourraient penser que je souffre de backtesting-software-indecision-itis. Après avoir réglé pour TradersStudio, j'ai ensuite évalué (et acheté) AmiBroker et trouvé que c'était 25 fois plus rapide que TradersStudio (au moins pour le calcul du e-ratio). Cependant, AmiBroker n'est pas vraiment orienté vers les tests de répartition de portefeuille vrai avec Futures et hellip 23 novembre 2009 middot 9 commentaires middot Backtest. Logiciel En tant que trader automatisé, vous avez probablement besoin des composants suivants: Compte de courtier 8211 Le point de départ pour le commerce sur les marchés Données de marché en direct 8211 Pour alimenter votre robot de négociation de sorte qu'il peut générer des signaux commerciaux. La plupart des courtiers fournir des données de marché avec des technologies propriétaires ou de tiers, bien que des données de marché peuvent également être obtenus hellip 16 novembre 2009 middot 9 Commentaires middot Backtest. Logiciel Il ya quelques semaines, j'ai téléchargé Amibroker pour voir s'il pouvait calculer le e-ratio beaucoup plus rapidement que TradersStudio (il l'a fait). Le résultat de la comparaison de la vitesse est là et le code Amibroker pour le e-ratio est là. J'ai pensé qu'il pourrait être intéressant de faire une comparaison de la façon dont il est facile à hellip 10 novembre 2009 middot 4 commentaires middot Backtest. Logiciel Il pourrait ne pas capturer l'imagination autant que le récent Haye v. Valuev WBA World Heavyweight Championship lutte (il pourrait probablement pour certains de vous8230 -), mais j'ai décidé d'organiser mon propre 8220fight8221: AmiBroker V. TradersStudio Et de la même façon pour la boxe, La vitesse était de l'essence 8211 avec une plate-forme complètement out-performing l'hellip 9 novembre 2009 middot 32 Commentaires middot Code. Développement. Logiciel J'ai récemment publié sur le e-ratio comme un outil pour mesurer des parties d'un système commercial (les fichiers de code pour calculer le e-ratio dans TradersStudio et Excel sont également disponibles). Le e-ratio est censé être un outil rapide pour vérifier comment les signaux pourraient ajouter un certain avantage à un système commercial. Toutefois, le calcul de l'e-ratio hellip Vérifiez la liste des marchés à terme globaux Wisdom Trading offre d'accès, du maïs en Afrique du Sud, huile de palme en Malaisie à Won coréen, Real brésilien ou kérosène japonais pour n'en nommer que quelques-uns, il est impressionnant et grand à Bénéficier de la diversification. Au. Tra. Sy blog, Systematic Trading de recherche et de développement, avec une saveur de Tendance Suivante. Avertissement: Les performances passées ne sont pas nécessairement indicatives de résultats futurs. Le négoce à terme est complexe et présente le risque de pertes substantielles en tant que tel, il peut ne pas convenir à tous les investisseurs. Le contenu de ce site est fourni à titre d'information générale seulement et ne doit pas être considéré comme un conseil en investissement. Tout contenu du site ne doit pas être interprété comme une recommandation d'achat ou de vente d'un titre ou d'un instrument financier ou pour participer à une stratégie particulière de négociation ou d'investissement. Les idées exprimées sur ce site sont uniquement les opinions de l'auteur. L'auteur peut ou non avoir un poste dans un instrument financier ou une stratégie référencée ci-dessus. Toute action que vous prenez à la suite d'informations ou d'analyses sur ce site est en fin de compte votre seule responsabilité. LES RÉSULTATS DE PERFORMANCE HYPOTHÉTIQUES ONT DE NOMBREUX LIMITATIONS INHERENTES, CERTAINES QUI SONT DÉCRITES CI-DESSOUS. RIEN NE FAIT QUE TOUT COMPTE SERA OU EST SUSCEPTIBLE DE REALISER DES PROFITS OU PERTES SIMILAIRES A CEUX INDIQUES EN FAIT, IL Y A SOUVENT DES DIFFERENCES ENTRE SHARP RÉSULTATS HYPOTHETIQUES ET LES RESULTATS REELS ATTEINTS PAR LA SUITE DE TOUT PROGRAMME PARTICULIER DE TRADING. UNE DES LIMITATIONS DES RÉSULTATS DE PERFORMANCE HYPOTHÉTIQUES EST QU'ILS SONT GÉNÉRALEMENT PRÉPARÉS AVEC LE BÉNÉFICE DE HINDSIGHT. EN OUTRE, LA NÉGOCIATION HYPOTHÉTIQUE N'INVITENT PAS DE RISQUE FINANCIER, ET NON UN EXPOSÉ COMMERCIAL HYPOTHÉTIQUE PEUT COMPTER COMPTE DE L'INCIDENCE DU RISQUE FINANCIER DE LA NÉGOCIATION ACTUELLE. PAR EXEMPLE, LA CAPACITÉ D'ATTÉNUER LES PERTES OU D'ADHÉRER À UN PROGRAMME PARTICULIER DE NÉGOCIATION EN VUE DE PERTES COMMERCIALES EST DES POINTS MATÉRIELS QUI PEUVENT ÉGALEMENT AYER ADVERSEMENT DES RÉSULTATS DE COMMERCE RÉELS. IL EXISTE DE NOMBREUX AUTRES FACTEURS LIÉS AUX MARCHÉS EN GÉNÉRAL OU À LA MISE EN ŒUVRE DE TOUT PROGRAMME DE TRADING SPÉCIFIQUE QUI NE PEUT ÊTRE ENTIÈREMENT CONSOLIDÉES DANS LA PRÉPARATION DES RÉSULTATS HYPOTHETIQUES ET TOUS qui peut nuire RÉSULTATS COMMERCIAUX. CES TABLEAUX DE PERFORMANCE ET LES RÉSULTATS SONT HYPOTHÉTIQUES DE NATURE ET NE REPRÉSENTENT PAS DE TRADING DANS LES COMPTES RÉELS. Copy 2009-2012 Au. Tra. Sy blog 8211 Système de trading automatisé mdash Sitemap mdash Powered by WordpressInteractive Brokers Données de volume en temps réel Tout comme avec les données de prix, les données de volume sont sujettes à des retards et des corrections BF (Backfill). En outre, IB (Interactive Brokers) rapporte des données de volume d'une manière qui pourrait causer des différences importantes de performance entre le backtesting et le trading réel. Ce message décrit des procédures simples pour recueillir des données RT et BF à des fins de comparaison. Aucun effort n'est fait pour expliquer les différences ou effectuer une analyse statistique. Les opinions exprimées ici sont basées sur des expériences personnelles ou peut-être anecdotique pas tout ce qui se passe dans le commerce en temps réel est facile à expliquer. Comme toujours, si vous avez des informations techniques et / ou des inexactitudes, veuillez commenter pour le bénéfice des futurs lecteurs. Comme on pouvait s'y attendre, les données IB sur le volume RT contiennent les mauvaises tiques et les retards habituels qui sont corrigés pendant le remblayage. Cependant, et cela est très important pour le trader RT, IB ajuste les volumes en direct à intervalles d'environ 30 secondes. Cela signifie que les volumes relevés par IB au cours de la négociation RT ne reflètent pas fidèlement l'activité du marché. Cela signifie également que les données de volume peuvent être retardées de 30 secondes au lieu du délai typique d'instantané, soit environ 300 millisecondes pour les données de prix. En comparant le remplissage avec le volume en temps réel, il apparaît que les ajustements de volume périodiques en temps réel sont redistribués à travers des instantanés individuels pendant le remblayage. Ce message est destiné à vous aider à effectuer votre propre analyse des données. Les méthodes décrites ci-dessous sont destinées à vous aider à démarrer. Pour collecter et enregistrer des données en temps réel: Créez une nouvelle base de données dans l'intervalle de 5 secondes. Intégrer RD, pour les données brutes, lors du nom de la base de données. Dans Paramètres de la base de données, sélectionnez le plugin Interactive Brokers. Choisissez un stock de volume élevé, par exemple, AAPL (utilisé dans ce post). Connectez-vous à TWS (Trader Work Station), puis connectez-vous à votre compte Paper Trading. N'utilisez pas le compte eDemo. Collectez environ une heure de données en temps réel. La première chose qui se produira lorsque vous vous connectez au TWS est que AmiBroker remplace environ 2000 barres de données de 5 secondes. Cela ne peut pas être évité et vous devez faire attention à noter l'heure où le remblai se termine et la collecte de données brutes commence. La méthode la plus simple consiste à placer une ligne verticale sur votre graphique et à l'étiqueter Début des données en temps réel. Pour enregistrer la base de données: Déconnectez le plugin IB (voir le menu Plugin en bas du graphique). Ouvrez les paramètres de la base de données et définissez la base de données sur locale. Placez une autre ligne verticale pour indiquer où la collecte de données a cessé. Allez dans le menu Fichier et enregistrez la base de données. Veillez à définir les paramètres de la base de données - gt source de données - gt local avant d'enregistrer. Si vous ne le faites pas, la base de données sera remblayée au prochain démarrage, ce qui risque de corrompre votre échantillon de données RT. L'étape suivante consiste à recueillir un échantillon de données BF qui chevauche l'échantillon en temps réel collecté précédemment. Pour ce faire, vous devez créer une autre base de données. Comme IB ne remplit que 2000 barres de données de 5 secondes, vous devez le faire dès que possible après la collecte des données brutes, sinon les périodes de collecte ne peuvent pas se chevaucher et vous ne pourrez pas comparer les deux types de données. La procédure est la même que ci-dessus sauf que vous souhaitez incorporer BF (pour les données remblayées) au lieu de RD dans le nom de la base de données. Pour comparer visuellement les deux bases de données, vous pouvez ouvrir deux instances d'AmiBroker et charger la base de données RT dans l'une et la base de données BF dans l'autre. Vous pouvez ensuite afficher les deux bases de données en même temps et comparer visuellement les graphiques respectifs. Vous pouvez afficher à la fois un tableau de prix et un diagramme de volume dans des volets distincts, comme indiqué dans les captures ci-dessous. Vous pouvez utiliser le code ci-dessous pour inspecter votre tableau de prix: Et ce code pour inspecter votre graphique de volume: Les formules ci-dessus affichera des graphiques de base plus une valeur cumulative (zone rouge) pour tout paramètre que vous souhaitez tester. Dans le tableau des prix, la plage haute-basse (H-L) est additionnée tandis que dans le diagramme Volume, le volume normal est additionné. La somme commence par la barre sélectionnée par le curseur. Cette fonctionnalité est uniquement fournie pour révéler visuellement les différences de données, il n'a aucune autre signification. Les graphiques ci-dessous ont été créés en utilisant les méthodes ci-dessus, qui révèlent rapidement la différence entre les deux types de données. Pour expliquer pourquoi ces différences se produisent est laissé au lecteur expert (parce que je n'ai pas un indice). Figure 1 8211 Données remblayées Figure 2 8211 Données recueillies en temps réel L'indicateur de volume suivant peut être utilisé pour afficher plus clairement la périodicité du volume RT: Ce code a produit les deux tableaux ci-dessous. Un filtre à pic simple (voir la définition de VSpike dans le code) est utilisé pour identifier les pics de volume et de les faire se démarquer avec un fond noir. Comme ces pointes de volume n'apparaissent pas dans les données remblayées, nous pouvons supposer qu'elles ne reflètent pas l'activité réelle du marché. Les trois numéros en haut des barres d'histogramme montrent le Volume100, le nombre de barres depuis le dernier pic de volume et le Second compte dérivé de l'horodatage des données. Figure 3 Données de volume collectées en temps réel L'application du code sur les données remises à neuf produit le graphique ci-dessous. Notez qu'une grande partie des périodes de faible volume entre les pointes ont été remplies (il semble que les pointes de volume ont été rétroactivement distribuées) et qu'il n'y a plus de périodicité de volume visible. Figure 4 8211 Données de volume remplies Comparaison de données provenant de différentes bases de données Vous pouvez comparer des données provenant de différentes bases de données dans un seul graphique. La superposition de deux tableaux de données révèlera immédiatement des différences et proposera également des analyses plus sophistiquées à effectuer. Le code ci-dessous peut être exécuté par lui-même, ou il peut être ajouté à tout autre programme. Dans ce cas, il est codé pour la comparaison du volume. Cependant, vous pouvez facilement le modifier pour comparer les prix, les indicateurs ou tout autre tableau. L'instruction SetBarsRequired () est nécessaire pour l'alignement des données. Vous devez utiliser le même intervalle de temps pour les graphiques RT et BF et pour la création composite. Tous les tests dans ce poste ont été effectués dans le cadre de 5 secondes. Pour comparer les matrices de volume BF avec RT, vous devez d'abord créer le composite pour le volume BF et le copier dans votre base de données RT pour comparaison. La procédure est la suivante: Chargez la base de données contenant votre échantillon de données BF. Affichez les données et ouvrez la fenêtre Param: Sélectionnez BackFillDataSample pour le nom de la variable statique. Cliquez sur CREER. Dans la barre de menus d'Amibroker, cliquez sur View - gt Refresh All. Dans la fenêtre Indicateur, définissez Overlay Composite sur YES. Les données composites doivent apparaître sous la forme d'un escalier jaune superposé à votre diagramme de volume. Fermer AmiBroker. Utilisez Windows Explorer pour trouver votre base de données BF et copiez le composite pour le volume BF à partir du dossier et collez-le dans le dossier de la base de données RT. Supprimez le fichier Broker. Master de la base de données RT. Ce fichier sera recréé au prochain démarrage. Cette étape est nécessaire pour inclure le nouveau fichier composite dans l'index de base de données. Démarrez AmiBroker et chargez la base de données RT. Affichez le diagramme de volume RT avec lequel vous travailliez. Si les paramètres sont définis comme indiqué dans la capture ci-dessus, vous devriez maintenant voir l'escalier jaune pour les volumes BF superposés à l'histogramme de volume RT. À ce stade, vous pouvez faire défiler en avant et en arrière dans le temps pour voir comment le volume BF diffère du volume collecté RT. Ne cliquez pas sur CREER, sinon vous écraserez le composite BF. Les graphiques ci-dessous montrent ce que vos cartes devraient ressembler. Figure 5 8211 BF composite (jaune) sur BF Histogramme de volume La figure 5 ci-dessus montre une période pendant laquelle le composite a couvert le volume remblayé (par exemple la période de remblai avant la collecte de RT). Parce que le composite a copié ces données BF, ils correspondent parfaitement. La figure 6 ci-dessus est pour une période où le composite (volume remblayé) est superposé au volume recueilli en temps réel (histogramme). Notez la différence entre les deux types de données. Développer un système commercial devrait commencer avec l'apprentissage sur les retards de base et mauvaise qualité des données peut tuer tout système commercial HFAT, peu importe combien de temps vous avez passé à le développer. La meilleure façon de comprendre et de savoir ce que vous travaillez est d'écrire quelques petits programmes, comme ceux qui ont été inclus dans cette série. Conclusion Dans les discussions précédentes, il est devenu évident que le développement d'un système commercial HFAT pourrait ne pas être aussi facile que vous le pensez. En recherchant des informations, vous découvrirez très peu de liens vers des informations pratiques que vous serez le plus souvent seul pour découvrir les pièges. Développer avec des données en direct de votre compte de négociation de papier peut être mieux que l'utilisation de données remblayées. Cependant, étant donné qu'il est très probable que IB exécute des transactions sur papier en fonction du prix et du prix déclarés, les résultats de négociation de papier peuvent ne pas correspondre aux résultats commerciaux réels. À moins que vous soyez parfaitement conscient des différents problèmes et que vous puissiez développer votre système pour les contourner, il semblerait futile d'essayer de développer un système commercial HFAT avec des données IB de 5 secondes. Les profils de volume unique en temps réel se sont également produits dans les données collectées à partir du compte réel. Les données de toutes les sources auront leurs propres problèmes particuliers et il est prudent d'effectuer quelques tests de base pour connaître vos données RT avant de consacrer beaucoup de temps au développement. IB Snapshots et les méthodes de compression de données sont pertinentes à la discussion ci-dessus, même si il isnt beaucoup de détails disponibles, vous pouvez lire les fils suivants pour en savoir plus sur ces sujets. Édité par Al Venosa. Si vous n'êtes pas sûr de ce que HFAT (High Frequency Automated Trading - HFAT) ) Est tout au sujet, svp Google le sujet. Ce post souligne certains des problèmes que vous pouvez rencontrer en s'aventurant dans HFAT de stocks. Les opinions exprimées ici sont basées sur des expériences personnelles ou peut-être anecdotique pas tout ce qui se passe dans le commerce en temps réel est facile à expliquer. Si vous avez un aperçu technique et voir des inexactitudes, veuillez commenter pour le bénéfice des futurs lecteurs. Conception et la mise en œuvre de systèmes de négociation haute fréquence est, du point de vue d'un trader8217s, probablement l'expérience ultime. Pour voir et entendre les transactions exécutées toutes les quelques secondes et voir les profits rouler dans devrait donner à tout trader un haut sans précédent. L'attrait est que pour concevoir un système HFAT qui fonctionne avec de l'argent réel est très différente de la conception d'un en utilisant des données locales. Plus l'intervalle de temps est petit, plus l'impact des petites différences de données est important. Dans les délais de sous-minute, votre système HFAT peut fonctionner très différemment avec des données locales qu'avec des données de marché brut en temps réel. Un problème typique est que les données en temps réel du marché réel sont retardées par plusieurs centaines de millisecondes et que les citations peuvent arriver hors séquence. Ce que vous voyez sur vos cartes peut être plusieurs citations après le commerce a eu lieu. Ces données erronées est ce que votre système commercial est commercial et doit être conçu pour fonctionner. Les graphiques que vous voyez dans AmiBroker sont pour la plupart remplis et / ou mis à jour après les heures de négociation. À la fin d'un jour de négociation, vous disposerez de données dans votre base de données qui contiennent un mélange de données remblayées (les erreurs de temps et de données ont été corrigées) et de données brutes (irrégulières) collectées au cours de la séance de négociation courante. Vous pouvez également avoir plusieurs lacunes de données longues qui ont été introduites lorsque vous arrêtez le système et / ou vous avez perdu votre flux de données. Bien que la procédure puisse varier pour différents fournisseurs de données, les citations reçues en temps réel seront en retard dans le temps. Puisque les périodes de barre pendant la collecte de données en direct sont basées sur votre horloge d'ordinateur, les citations peuvent finir vers le haut dans la barre suivante en raison de leur arrivée différée. Les données utilisées pour remplacer votre base de données proviennent d'un serveur de données différent et seront horodatées. Cela permet à AmiBroker de corriger la position des guillemets reçus hors séquence. Ce processus supprime les délais en temps réel qui étaient présents lors de la réception des données. Comme il n'y a pas de retards avec les données remblayées, vos données remblayées regardent vers l'avant de plusieurs centaines de millisecondes par rapport aux données que vous allez éventuellement négocier. Il n'est pas inhabituel de développer un système avec 5 secondes de données remblayées (où toutes les mauvaises tiques et les erreurs d'horodatage ont été corrigées par le fournisseur de données) et d'obtenir la performance du Saint Graal seulement pour découvrir que, lorsqu'ils sont échangés avec des données en temps réel (Où les données sont retardées, contient de mauvaises tiques et des erreurs d'horodatage), le système est un échec total. Les graphiques suivants illustrent ce problème. Les données à gauche de la ligne rouge sont remblayées et les données à droite de la ligne rouge sont des données collectées en temps réel. Le blanc est l'équité. Vous ne serez pas en mesure de juger visuellement si les données sont remblayées ou brutes. Les différences ne s'afficheront que par l'exécution d'un système de négociation sur les données de votre système commercial peut être le seul moyen de distinguer entre les données remblayées et brutes. Le graphique ci-dessous montre une vue rapprochée du changement de données. Remplir la base de données ci-dessus et effectuer un autre test sur la même période produit une équité très différente: Il n'y a aucune garantie qu'un système développé sur un type de données fonctionnera également bien avec l'autre. Lorsque vous rencontrez pour la première fois un retrait d'actions majeures, vous pouvez supposer que ce n'était que 8220a mauvais day8221 après tout, tous les systèmes de négociation les ont. Vous mai ont développé et backtested votre système sur des milliers de métiers, couvrant une période de six mois ou plus. Vous avez été un bon étudiant et avez utilisé toutes les méthodes recommandées pour valider votre système commercial. Vous avez testé les optimisations intelligentes appliquées et hors échantillon, les tests Walk-Forward utilisés, effectué l'analyse Monte-Carlo et la liste se poursuit. Après avoir été si minutieux, comment pourriez-vous vous tromper Vous êtes prêt à échanger de l'argent réel demain et faire vos 50 premières en un jour Le point est que tout cet effort est perdu de temps si les données utilisées au cours du développement aren8217t 100 identique à ce que vous serez Commerce avec. La meilleure façon de développer un système HFAT est d'utiliser des données réelles sur le marché réel. Plus tôt vous changez de données locales ou d'edemo en données réelles, plus vous économiserez de temps et plus vous serez déçus. Un système HFAT ne peut jamais être complété hors ligne, avec une base de données locale, ou avec des données d'edemo simulées. Sa conception doit toujours inclure une phase significative de négociation de papier et de l'argent réel. Un autre problème lors de la négociation de votre IB papier de négociation (simulée) compte est que l'utilisateur ne connaît pas les règles Interactive Brokers utilise pour décider si un ordre doit être exécuté ou non. Ces critères d'exécution peuvent changer sans avertissement. Cela impose un ordre artificiel à vos exécutions qui est irréel les conditions du marché simulées seront différentes de celles rencontrées dans le commerce réel. Vous pouvez bien développer un système de trading qui exploite la manière IB8217s de traitement pour vous donner des performances irréelles, mais un tel système échouerait dans le commerce réel. En outre, vos métiers de papier ne sont pas perçus par le marché et ne peuvent pas l'influencer. Lorsque vous négociez de l'argent réel, vos commandes pourraient être de définir un nouveau haut ou un faible, ou si vous êtes des sommes importantes de trading, vous pourriez tirer le prix vers le haut ou vers le bas. Cela signifie que même si votre système fonctionne très bien dans le commerce simulé, ce n'est pas une garantie que votre système sera performant de négocier de l'argent réel. L'utilisation de votre compte simulé pour valider votre système ne devrait jamais être votre validation finale avant de négocier pour des bénéfices vous devez toujours inclure une phase d'évaluation en argent réel dans votre plan de développement. Vos premiers métiers réels ne devraient jamais être de faire de l'argent qu'ils devraient être planifiés pour valider votre système dans des conditions variées. Le comportement du marché est très complexe être préparé pour l'inattendu et ne sautez jamais une étape de développement parce que quelque chose fonctionne extrêmement bien. Par exemple, vous pourriez tester votre système en utilisant votre compte de trading de papier simulé de l'IB et voir vos profits monter en flèche trop vite pour suivre, peut-être avec 90 gagnants et des RAR qui sont hors de ce monde. Lorsque cela se produit, il est extrêmement excitant et amusant de le regarder est une expérience rare qui doit être appréciée. Il suggère que les Saint-Grails sont possibles. Mais sont-ils Ces conditions commerciales favorables peuvent durer quelques centaines de métiers, quelques heures, ou peut-être quelques jours. Cela peut se produire lorsque les conditions techniques et le comportement du marché sont tous parfaits pour votre système. Un inconnu facteur juste fait tout fonctionner parfaitement. Lorsque vous rencontrez cela, vous allez analyser vos graphiques, le journal de négociation, le rapport d'exécution, etc pendant des semaines à suivre. Le fait est que cela peut ne jamais se reproduire, et vous ne saurez jamais ce qui s'est réellement passé. État des commandes et des positions IB Le rapport de taille des positions peut être irrégulier, être toujours retardé et inclure des informations transitoires. Si vous négociez rapidement et que vous utilisez la taille de la position de l'IB pour déterminer votre prochaine action, ce sera un problème. C'est particulièrement le cas avec les systèmes d'inversion dans lesquels les couvertures peuvent être traitées avant les achats, et il peut y avoir beaucoup de remplissages partiels. Par exemple, si vous inversez 100 actions, vous pouvez lire des positions de 0, 100, 200 et même 300 actions. Ne pas baser l'action de votre système uniquement sur une seule lecture de la taille de la position de vos mécanismes de protection va fermer votre système plusieurs fois par jour. Si une position n'est pas ce qu'elle est censée être sur 5 requêtes consécutives (à l'intervalle des citations), vous pouvez fermer toutes les positions, suspendre l'opération et continuer plus tard, ou arrêter le système et réessayer plus tard. La déclaration de l'état des commandes apparaît plus fiable et stable. Habituellement, il semble inutile de répéter les requêtes d'état de l'ordre. Non abordé dans ce post est la question de Snapshots cependant il est extrêmement important pour les traders en temps réel à comprendre comment IB compresse et transmet ses données. Ce sujet a été discuté sur plusieurs forums, pour plus d'informations sur les données de l'IB en général, veuillez lire les sujets suivants: Le débit maximal de messages IB IB a une limite au débit maximal de messages transmis par seconde. Le taux de requêtes n'est pas limité. La limite actuelle est de 50 messages par seconde. Si vous dépassez ce taux, IB produira un code d'erreur, et si vous continuez à dépasser le débit de message, IB suspendra votre connexion. Ceci, bien sûr, devrait être évité à tout prix. Les taux de message sont documentés ici. La façon d'introduire des mesures en temps réel des retards en millisecondes est documentée dans l'article sur l'intervalle de haute précision et la temporisation. L'ordre des retards Internet et l'état du poste font l'objet d'un délai Internet de 50 à 400 millisecondes. Ce délai varie en fonction de votre emplacement et du type de connexion Internet à IB. Vous pouvez tester ce délai en envoyant une requête ping au serveur IB. Pour ce faire, tapez ping gw1.ibllc sur commande dans les fenêtres Start-gtRun (pour Windows XP) et cliquez sur le bouton Exécuter. Si vous rencontrez des retards excessifs ou si vous ne parvenez pas à vous connecter, vous pouvez obtenir plus de détails sur la façon dont votre connexion est routée en exécutant tracert gw1.ibllc de la même manière. Vous pouvez consulter les FAQ techniques à IB pour les articles connexes. Édité par Al Venosa. ESignal sur les nouveaux clients une période d'essai de 30 jours: Pour plus d'informations se référer à la Base de Connaissances eSignal: a) Lien vers la page de support esignalcentralsupportdefault. asp b) Puis cliquez sur Support sur la barre d'en-tête pour accéder à un menu déroulant. C) Cliquez sur Base de connaissances dans la liste déroulante. Remarque: en cliquant sur Support gtgt, le service clientèle de la page d'accueil eSignal amènera les lecteurs à la page Support où il y a un second bouton Support (mentionné dans 8216b8217 ci-dessus). Pour faire référence à une liste alphabétique de symboles australiens: a) Allez à la base de connaissances. B) Cliquez sur l'icône Show Nav pour ouvrir un index KB dans la barre latérale gauche. B) Choisir le guide des symboles à partir de l'index et sélectionner l'article 2739 Répertoire des symboles et liste des références (la page du répertoire s'ouvre). C) Ouvrir l'article 2737 AsianPacific Stocks à partir d'un lien vers le haut du répertoire Symbol (le lien est inclus sous la rubrique Europe Afrique Asie Amérique du Sud Pacifique Stocks and Indices). D) Cliquez sur le lien situé en haut de la page qui mène à la liste des symboles d'actions Asie-Pacifique A à Z (cela ouvre une liste indexée de symboles triés alphabétiquement dans leurs regroupements régionaux). E) Faites défiler la page jusqu'à la section australienne de la région AsiePacifique. Données historiques pour les actions ASX (7 ans) et les indices (6 mois) en format CSV.160 Disponible en fichiers quotidiens. Les données historiques sont expédiées sur CD et les mises à jour quotidiennes sont effectuées par téléchargement. Q. Puis-je obtenir un échantillon de données A. Oui, un petit fichier typique est disponible par courrier électronique. Q. Les données sont-elles brutes ou filtrées? Il s'agit de données à cocher brut.160 Toutes les mauvaises tiques sont corrigées par l'ASX avec une annulation.160160 Le fichier comprend160 les annulations. Nous ne faisons pas cette décision 8211 de l'ASX. Q. Puis-je commander en ligne A. Non, les commandes ne sont acceptées que par téléphone, par télécopieur ou par courrier électronique. Q. Est-ce que les données sont dans des fichiers individuels ou un fichier important Il s'agit d'un fichier par jour, selon l'échantillon, avec tous les stocks négociés inclus. Q. Quelle est la taille des fichiers A. Ils ne sont que des fichiers texte donc ils ne sont que des mégaoctets de données 8211 pas les gigaoctets. Q. Comment seront-ils livrés? Les données historiques sont trop volumineuses pour le téléchargement et seront expédiées par CD. Pour les mises à jour quotidiennes, nous fournirons un ID utilisateur et un mot de passe à un site Web où vous pourrez télécharger les fichiers. Vous aurez également accès à un fichier CSV et à une version zip, pour un téléchargement plus petit. Q. Avez-vous des données historiques de tique pour seulement l'index (ASX200 ou les All ordinaries) composants stocks A. Désolé nous don8217t ont un produit pour cela. Données EOD peu coûteuses pour l'ASX, dans les fichiers quotidiens Metastock ou Comma Separated Value (CSV), livrés après les heures. Entièrement ajusté pour les événements corporatifs. Accès gratuit aux données de fin de journée à 10h00 le lendemain. Les données historiques ont été fournies sur CD à un prix raisonnable (à partir de 1992, comme indiqué ci-dessus, les actions désaffectées ont été enlevées, les indices remontant au début des secteurs GIC8217, y compris les warrants et les options échangées. Télécharger après les heures Données EOD utilisant le logiciel Paritech8217s DataDirector pour un ou plusieurs marchés mondiaux: Bourse australienne (ASX) Bourse de Futures de Sydney (SFE) Bourse de New York (NYSE) Bourse américaine (AMEX) Stock Exchange 8211 Domestic Singapore Stock Exchange (SES) Overseas Indices, Foreign Exchange Rates and Futures Format the output files to ASCII, Comma Separated Variable (CSV) or Metastock160 and manage corporate actions (splits, name changes and additions) plus organize sectors (GIC8217s ) and favourites ( data is not dividend adjusted). Historical data CD8217s, with Data Director included, are available for all the supported markets (free with a subscription package): ASX history is typically 14-16 years, plus many of the blue chip stocks and indices go back over 25 years, Australian ETO8217s ( Exchange Traded Options ) and Warrants, the United States (NYSE, NASDAQ, Amex), Europe (LSE) and Singapore (SSX) markets going back over all securities approximately 10 years. Note: US historical data is raw data (not adjusted in anyway). Additional products available from Paritech: a) COT ( Commitment of Traders Reports ) historical databases. b) Unlimited real time data for the Australian markets using Paritech8217s Pulse software, or via DDE functionality, that includes 50 time series live fields (no backfill or history). Exchange Traded Options are160 included. EOD prices from the futures and spot markets worldwide, concentrating on the most liquid markets with 86 contracts in 13 different markets. Data Tools includes sophisticated mechanisms for the automatic creation of spliced continuous and back-adjusted continuous contracts, contract pricing and position sizingrisk management. EOD data for Foreign Exchange 8211 13 spot cross-rates against the U. S. Dollar. EOD data for Forex, Stocks, Commodities and Futures from Australia, Asia, Europe, Africa, North and South America (stock market data from over 90 World Exchanges) Download using JustData8217s BodhiGold software in ASCII, CSV or Metastock formats or access free Yahoo data. The downloader filters and organizes stocks, as required, and also creates Indexes and AdvanceDecline indicators. ASX equity data package includes options, accurate dividend adjustment, GIC8217s sector classification, de-listed stocks, bidask quotes and exportable current fundamental data. Choose to adjust your databases for Structural Events such as Share Splits Distribution events such as Renounceable issues Capital Change and Dividends. Bodhi History includes expired symbols on the ASX since 1990 and on other Exchanges since JustData started disseminating them. Note: most other equity markets are raw (unadjusted) data only. Historical EOD data CD8217s are available with data subscription packages or standalone. They include Equities, Indices, Income, Options, World Indices, Commodities amp Forex for the major currencies (Australia, UnitedStates, Europe, Asia etc). The future and commodity markets include continuous contracts and current contracts for all traded symbols. You can also adjust Overseas Future amp Commodity data at the time of a contract swap. Filed by brianz at 1:04 pm under Data Resources Comments Off on Data Resources 8211 Australia August 19, 2007 This is the first in a series off KISS (keep it simple, stupid) trading ideas for you to play with. All system ideas presented here are unproven, unfinished, and may contain errors. They are intended to show possible patterns for further exploration. As always, you are invited to make comments andor add your own ideas to this series. I prefer real-time systems that trade fast, are automated, and are devoid of traditional indicators. Preferably, they should have no optimizable parameters however, I may not always be able to meet this objective. Not all systems will be that simple there will be some that use simple averaging or HHVLLV type functions. The first system shown below is a copy of the demo system I use to develop Trade-Automation routines elsewhere on this site. Real-Time Gap-Trading . To see how this works, you should Backtest it on 1-minute data with a periodicity in the range of 5-60 minutes. Your first impression may be that these profits are simply due to an up market, however, the fact that Long and Short profits are about equal suggests there is more to it. Because 98 of all trades fall between 9:30 AM and 10:30 AM, this type of system is nice if you just want to trade a short time each day. This reduces risk with respect to market exposure and gives you more time to enjoy other activities. Backtesting this on the NASDAQ-100 watchlist (individual backtests, 15 min. Periodicity) gives the profits shown below for the period of 1 MAR 2007 to 17 AUG 2007. Ticker names are omitted to keep the chart compact the chart simply shows a net profit bar for each ticker tested. Average exposure for this system is about 15 hence, you may be able to trade portfolios to increase profits and smooth the equity curves. Be cautioned that in its raw form the drawdowns are unacceptable and that there may be volume restrictions for many tickers. Since this system has low exposure, it may be a candidate for market scanning and ranked portfolio trading. RARs would be an indication of the absolute maximum profits that could be obtained if one succeeded to increase exposure to near 100. However, price movement from different tickers may be correlated, and trades from different tickers may overlap. If many tickers trade at the same time, it would be difficult to increase system exposure. Filed by Herman at 1:49 pm under Ideas (Experimental) Comments Off on KISS-001: Intraday Gap Trading August 14, 2007 TO BE COMPLETED AT A FUTURE DATE. In the short term here8217s the patch The published date, for a post, is listed in several places. It is used for everything by default 8211 searches, post order, RSS feedstream etc. AmiBroker customized a Page Order property to allow Table Of Contents sorting. It is mainly used where an Author is writing a 8216series8217 of posts on a specialist topic e. g. IO, Automated Trading. The Author is 8216assigned8217 ownership of the category so they can present their posts so that visitors read them 8216like a book8217. Page Order can be set from the WordPress Admin Center . Go to Manage and open the relevant post(s). Change the Page Order setting from the default (zero) to any whole integer between 8211 2,147,483,648 and 2,147,483,648 to position the post in order, relevant to other posts in the category or sub-category (1,2,3,4,5, etc is as good as anything since it aligns to the default bulleted numbers assigned to the TOC view). 1) Change the sort number in the Page Order properties box. Note: This is the Page Order setting for Contributors gtgt UKB Post Formats . which makes it the second post in the Contributors category. 2) Save the post to lock in the changes Note: There8217s no need to worry about editor conflict. Any post property can be reset without conflict, irrespective of what editor was used to publish the post (posts that are written in WLW can have the Page Order reset from the WP Admin Center without problems) Posts can also be reordered by 8216manually8217 changing the published date but. note: changing publish date will change the folder that the post is stored in 8211 if it moves the post to a new month. 8211 server folders are on a (monthly) date basis -(will affect links to it that exist in other posts) need to address the issue of reporting broken links. Filed by brianz at 7:27 am under Using WordPress Comments Off on Ordering Posts August 13, 2007 This page is obsolete. Current versions of AmiBroker feature built-in non-exhaustive, smart multithreaded optimizer and walk-forward engine. The Objectives of an Intelligent Optimizer should include the ability to: Optimize systems that would take too much time or would otherwise not be feasible using an Exhaustive Search approach. Optimize systems based on any user derived combination andor relationship of the performance metrics provided as a result of the AmiBroker optimization process including those that users develop using the custom back tester and it should allow users to define Goals and Constraints that help direct optimization. Perform a sensitivity analysis of the variables that have been optimized and utilize parameter sensitivity as a means of directing the optimization process towards a more robust set of parameters. Perform automated out of sample and walk forward testing i. e. repeated cycles of optimization of in sample data followed by back testing of out of sample data using either a front anchored or rolling window. Utilize distributed computing i. e. multiple machines to spread the optimization load over, thereby facilitating significantly faster run times. Utilize the full capabilities of an Intelligent Optimizer even when the decision is to strictly use AmiBroker8217s Exhaustive Search optimization engine. Set up and solve more advanced problems not initially thought to be in the realm of optimization such as system generation via automated rule creation, selection and combination pattern recognition and data mining. Besides having the above functionality 8230 It should be Easy to Use 8230 It should be noted that if your AFL8217s use constants instead of optimizable parameters that the values of those 8220constants8221 in many situations originated by someone else optimizing something manually or otherwise at some other point in time and as such only appear to be constants. In addition as constants they have a tendency to hide how sensitive they are and as a result how robust or not the corresponding system they are part of is. A shareware version of IO with full documentation can be found in the AmiBroker Files Section 8230 groups. yahoogroupamibrokerfilesIO. zip This page is obsolete. Current versions of AmiBroker feature built-in non-exhaustive, smart multithreaded optimizer and walk-forward engine. As a more thorough verification that a system will perform as anticipated, we should always test the system with out of sample data or in other words with data that has not been seen by the In Sample optimization process graphically represented by: This can be accomplished in AmiBroker by: 8211 Setting the from and to dates for our system to wherever we want 8211 Performing an optimization and choosing the parameter values to use going forward 8211 Changing the default values of the optimization statements 8211 Moving the from and to dates forward in time 8211 Running a back test to see how well the system performs. Besides automating the whole process above, IO also offers more advanced alternatives such as a fully automated calendar or signal based, anchored or rolling Walk Forward optimization and Out of Sample testing which can be made to be very thorough. Graphically the anchored and rolling walk forward processes look like this: Without automated tools such as this almost no one performs Walk Forward testing because of the amount of manual intervention that is required. For example think about the manual steps required to perform a Walk Forward test over a 3 year period 3 months at a time which are: 8211 Set the from and to dates for the original optimization to begin as of some date in time and end as of 3 years ago 8211 Perform the optimization and choose which parameter values to use going forward 8211 Change the default values of the optimization statements 8211 Move the from and to dates forward 8211 Run a back test for the first three months of out of sample data and record the results 8211 Then repeat the whole process eleven times, each time moving the end date ( anchored ) or beginning and ending dates ( rolling ) 3 months closer until you run out of data. Assuming one had the means to manually stitch together the out of sample equity curve this then would provide a real life picture of how the system performed over a 3 year Out of Sample period with reoptimization occurring every 3 months. The above can be accomplished in IO with no manual intervention and a single Walk Forward Directive which is written like this: 8211 WFAuto: Anchored: 3: Months As a result even if it takes 15 minutes to optimize each of the 12 segments to accumulate the data necessary to build and show the tables and the combined equity curves, it can all be done unattended. As a result one only need to set up a run, get it started and then go find something else of interest to do. Besides the tabular results that are produced by IO it is also capable, with an included AFL, of showing an accurate composite of the In and Out of Sample equity curve in AmiBroker that looks like what is below: The middle pane in the template above shows my replacement for the standard AmiBroker equity curve for the current In Sample optimization. The bottom pane shows the full Walk Forward results and is constructed on the fly as each new Walk Forward segment occurs. The section to the left of the thick vertical bar in the lower pane is the original In Sample optimization period. The sections to the right separated by thinner vertical bars are each of the Out of Sample periods in the Walk Forward analysis. IO is also capable, with a slightly different form of the directive, of performing signal based Walk Forward processes which calls for reoptimization every time some user selected signal type ( Buy, Sell, Short, Cover, Entry, Exit, Any ) occurs. By definition this implies a variable length Out of Sample period that is dependent on when signals actually occur. These are advanced features in IO . A shareware version of IO with full documentation can be found in the AmiBroker Files Section 8230 groups. yahoogroupamibrokerfilesIO. zip Filed by Fred at 5:22 am under Intelligent Optimization Comments Off on IO 8211 Out of Sample and Walk Forward Testing
No comments:
Post a Comment