Un lecteur de commentaires sur le commerce en utilisant Excel VBA et Factor Model Commentaires réfléchis d'un lecteur John S. du Royaume-Uni sur son expérience avec la technologie de négoce et les modèles: J'ai développé mes propres systèmes automatiques de trading automatique en utilisant Excel VBA et basé sur les règles que j'ai Développé au fil des ans en tant qu'investisseur actif négociant privé en utilisant à la fois l'analyse technique et fondamentale des données. L'un des principaux avantages de l'adoption d'une approche de système de négociation automatique qui m'a aidé est d'éviter la tentation des interférences manuelles et donc d'améliorer la rentabilité en maintenant la cohérence. J'ai trouvé le défi de développer un système réussi très enrichissant d'un point de vue personnel que je reconnais qu'il ya beaucoup qui ont essayé et a échoué. Toutefois, un problème que j'ai rencontré est mon désir constant de modifier régulièrement et d'améliorer le système que j'ai trouvé peut devenir contre-productive car il ya un réel danger que le développement du système devient une fin en soi, je ne peux pas semblent cesser de bricoler dès que je Viennent avec une nouvelle idée ou fonctionnalité Un avantage d'utiliser Excel VBA que j'ai trouvé est qu'il est intrinsèquement flexible, car il facilite le traitement des données qui peuvent être importants, surtout lorsque l'utilisation de données fondamentales dans le cadre du système. À cet égard, je reconnais que chaque commerçant essaie de construire dans un avantage qui rendra le système plus rentable. J'ai remarqué que de nombreux commerçants semblent se concentrer uniquement sur le prix en essayant de chercher un avantage en regardant les indicateurs spéciaux ou la combinaison d'indicateurs, etc Combiner l'analyse des données de prix avec une approche modèle factoriel est un défi qui est idéalement adapté VBA Excel comme il peut Être facilement utilisées pour traiter les données fondamentales et macroéconomiques sous une forme qui peut être intégrée à l'analyse des données de prix. Je reconnais de votre livre que Matlab est plus puissant que Excel VBA et peut être tout aussi flexible dans l'intégration des données fondamentales et macroéconomiques, mais je voulais juste attirer votre attention sur les avantages que j'ai trouvé en utilisant Excel VBA qui peuvent convenir à ceux qui comme moi sont plus Confortable en utilisant Excel VBA et sont réticents à changer. D'autres fonctionnalités qui peuvent être exploitées que j'ai trouvé utile lorsque les tests en arrière sont automatiquement la production de graphiques de prix qui intègrent les points d'entrée et de sortie qui fournit la réassurance visuelle que le système fonctionne comme prévu ainsi que générer des rapports automatiques Word enregistrement clé de sortie pour référence future. Je suis désolé si je sonne trop comme une annonce pour Microsoft 7 commentaires: Je compte les principales raisons derrière une popularité d'ExcelVBA dans un monde quantitatif et commercial quantitatif sont: 1. Beaucoup de gens l'utilisent déjà - donc tout le monde pense thats le Chemin à parcourir. 2. Simplicité de VBA (pas sûr si elle est en corrélation avec sa flexibilité) - qui permet d'utiliser efficacement par quiconque - qu'il soit un commerçant, quant ou un développeur de bureau. 3. VBA et Excel peuvent être facilement étendus (pour améliorer une performance, intégrer un logiciel tiers ou simplement à des fins d'utilisation de modularizere) en déplaçant la logique du modèle réel en C, COM ou. NET En ce qui concerne le dernier Quelle est la raison pour laquelle la stratégie d'investissement ou les systèmes seraient en jeu? Je pense que le facteur de bande passante est en jeu, nous sommes souvent comme des moutons et je ne vois aucune raison pour laquelle la stratégie d'investissement ou les systèmes seraient Différent. Un peu de chance ne sera pas interférer dans le forex Toutefois, un problème que j'ai rencontré est mon désir constant de modifier régulièrement et d'améliorer le système que j'ai trouvé peut devenir contre-productive car il ya un réel danger que le développement du système devient une fin en soi Point intéressant. Je pense que la meilleure façon de traiter cela est d'accepter (ou de refuser) le type de ratio WinLoss votre méthode de négociation produit. Ce que je veux dire, c'est que si vous trade counter tendance et, psychologiquement, vous vous sentez confortable avec un haut niveau de métiers gagnants, vous aurez du mal à faire face à un système qui génère autant de victoires ou de pertes. Dans ces circonstances, peut-être que vous (et le système) vous serez mieux placé en mettant en place des critères plus stricts et sacrifiant certaines configurations - mais pas trop - afin d'atteindre un niveau supérieur de métiers gagnants (même si, dans le processus, vous aussi Pourrait réduire votre ratio de pertes moyennes moyennes). Mais je suis d'accord: son problème délicat qui burn out événement les commerçants les plus chevronnés. Cependant, un problème que j'ai rencontré est mon désir constant de modifier régulièrement et d'améliorer le système que j'ai trouvé peut devenir contre-productive car il ya un réel danger que le développement du système devient une fin en soi J'ai été très surpris par votre post. Dans le monde des analystes quantitatifs (conception de dérivés de modèles et de la mise en œuvre, etc pour les banques d'investissement de premier rang, j'ai passé 6 ans faisant cela) Excel VBA est considéré comme le langage de programmation le moins flexible et durable que nous avons à traiter avec les systèmes écrits en utilisant ces Les langues sont sur le point d'être retirées. Je comprends que maintenant vous êtes toujours heureux avec elle, mais pensé que vous pourriez vouloir étudier les alternatives. À un prix d'entrée relativement modeste, vous pouvez obtenir des performances et une durabilité qui vous surprendraient. Les problèmes VBA qui viennent à l'esprit sont: mauvaise performance, mauvaise gestion de la mémoire (cela peut rendre la performance encore pire), vous ne pouvez pas utiliser le système de contrôle de version qui vous permettra de suivre les changements (qui-quoi-pourquoi-quand) et faciliterait la collaboration (Voir par exemple svnbook. red-beannightlyensvn. intro. whatis. htmlsvn. intro. righttool et tortoisesvn. tigris. org il devrait y avoir quelques outils de contrôle de version de Microsoft). Basé sur mon expérience, à partir d'un volume de code VBA devenu ingérable, une des raisons pour lesquelles vous ne pouvez pas utiliser le contrôle de version. Manque de flexibilité (par rapport aux alternatives je serai absence de classes (méthodes de structure de classe qui peuvent accéder et modifier le contenu de la structure) absence virtuelle de mécanismes d'abstraction (Variant est très sujet à l'erreur) Vous pourriez en avoir besoin si vous voulez Utiliser le même algorithme pour un stock et pour une courbe de rendement (même action, des objets différents).Les autres langages de programmation faciles à utiliser seraient Matlab et Python. Les deux langues sont SVN-friendly (voir la troisième puce), Excel-friendly, mais Matlab est très coûteux (1K - 10K, selon les forfaits dont vous avez besoin et sur votre site), beaucoup plus agréable et plus conviviale, l'équipe de support est à portée de main. Et matrices plutôt que élément par élément, par exemple vecteur où l'élément i serait un prix du stock X à la date d'observation de la date i jours ou matrice où l'élément ij serait un rendement de la monnaie Y à la date i pour l'échéance j). Une autre façon d'accélérer Matlab est d'acheter un paquet qui peut convertir le code de code Matlab en code C, qui peut être compilé dans une DLL que vous pouvez utiliser dans Excel. Une telle DLL fonctionnerait beaucoup plus rapidement (peut être cent fois plus rapide, dépend de votre tâche). Python est un freeware, assez austère, il faut un peu de temps pour y entrer, mais ça en valait la peine. Il est plus flexible, plus d'un langage de programmation approprié. D'autres langues que vous pourriez envisager sont C, VB. NET et stand-alone VB (tous par Microsoft, tout à un prix raisonnable). Je voudrais les positionner entre C (voir ci-dessous) et Excel VBA C serait le plus puissant, VB serait le plus simple pour vous d'utiliser - il est presque identique à VBA. Encore une fois, il ya un compromis entre performanceflexibility et straight-forwardnesssimilarity à Excel VBA. C-écrit à la main est le meilleur du point de vue de la performance, c'est un langage assez polyvalent, mais il faut beaucoup plus de temps pour l'apprendre. J'espère que vous le trouverez intéressant. Salut Dr Ernie Chan J'ai lu votre livre sur le commerce quantitatif. Il est dit que MATLAB est un bon outil pour développer des stratégies complexes. Mais il n'y a pas d'API bien approuvée pour cela. Il y en a un récemment trouvé MATLAB2IB. Mais est-il assez bon et bien testé Il est dit dans votre livre que ExcelVBA est lent par rapport à C. Je suis intéressé à développer un système automatisé de négociation. Dois-je utiliser ce nouveau MATLAB2IB et de continuer à développer des stratégies dans Matlab Je suis bon dans Matlab et je l'ai utilisé beaucoup pendant mon doctorat et d'autres travaux. Je n'ai pas utilisé C beaucoup et je l'ai trouvé plus difficile par rapport à MATLAB. Étant donné un choix, je vais toujours faire le codage dans MATLAB. Mais est-il nécessaire de développer des stratégies en C, si je veux développer un système de trading automatique Hi Vinay, j'ai utilisé matlab2ibapi depuis plusieurs mois et je l'ai trouvé très utile et fiable pour automatiser mes stratégies. En fait, je vais publier un article illustrant comment l'utiliser. ErnieMany populaires stratégies de négociation quantitative sont publics depuis un certain temps. Maintenant, si vous souhaitez utiliser une telle stratégie avec de l'argent réel, vous devez vous assurer que votre stratégie fonctionne bien. Pour des stratégies simples, MS Excel est parfait pour cette tâche. Mais, puisque nous aimerions utiliser une optimisation et une visualisation spécifique plus tard, nous utilisons Theta Suite et Matlab. Cela permet également d'analyser des stratégies plus complexes si vous le souhaitez. Mettre en place une stratégie de négociation quantitative: MACD 8211 signal L'un des indicateurs techniques les plus populaires est la mobilité moyenne ConvergenceDivergence (MACD), qui est essentiellement la différence entre deux moyennes mobiles. La littérature dit, le passage à zéro d'une ligne MACD serait une bonne indication pour l'achat de stock de vente. Parfois, ils ajoutent un signal de déclenchement et de réclamation, ce serait encore mieux. Voyons si c'est vrai. Plus précisément le commerce MACD est généralement défini comme resp. Dans une boucle au fil du temps, cela ressemble à l'endroit où EMA12 et EMA26 sont deux moyennes mobiles exponentielles différentes avec des constantes 8220constl128221 et 82208221constl268221. L'EMA est définie comme suit: Le système commercial approprié avec une période de signal de 8220constl 98221 ressemble à Test de la stratégie avec des données historiques réelles Cette partie est très importante. Je ne peux pas trop insister sur ce fait: dans un post plus tard, nous allons parler de back-testing beaucoup plus. L'attribution de ces données à un processus ThetaML permet d'estimer la performance de la stratégie commerciale basée sur MACD. Voici un graphique des cours des actions d'IBM à partir de 2000-01-01 à 2011-12-31: Matlab parcelle du prix des actions IBM Backtesting la stratégie de négociation MACD Nous pouvons exécuter les modèles ThetaML ci-dessus en utilisant Theta Suite Orchestrator et le relier à l'historique Données IBM dans Matlab dans le Configurateur. Ensuite, dans l'Explorateur de résultats, nous obtenons la performance de la stratégie de négociation MACD-signal correspondant sans courte vente Plot de performance de la stratégie de négociation MACD et avec la vente à découvert, il ressemble Performance de la stratégie commerciale MACD avec vente à découvert Notez que pendant la plupart des années , La stratégie de signal MACD ne fonctionne pas mieux que le sous-jacent lui-même. En tenant compte des coûts de transaction, cela semble encore pire. Fait intéressant, l'année 2000 a livré une grande performance de la stratégie MACD, mais toutes les années plus tard n'a pas performé aussi bien. Conclusion Il est facile de vérifier si une stratégie aurait bien fonctionné en utilisant des données historiques. ThetaML et Matlab sont d'excellents outils pour cette tâche. La stratégie commerciale de MACD que nous avons analysée n'est pas significativement meilleure que la tenue du sous-jacent lui-même. D'autres paramètres de la stratégie de négociation pourraient conduire à de meilleurs résultats, de sorte que nous pouvons effectuer une optimisation. Nous allons voir que la semaine prochaine. Beginner39s Guide de négociation quantitative Dans cet article, je vais vous présenter quelques-uns des concepts de base qui accompagnent un système de commerce quantitatif de bout en bout. Ce post servira espérons deux publics. Le premier sera les individus qui tentent d'obtenir un emploi dans un fonds en tant que commerçant quantitatif. Le deuxième seront les individus qui souhaitent essayer de mettre en place leur propre commerce de détail trading algorithmique. Le commerce quantitatif est un domaine extrêmement sophistiqué de financement quantique. Il peut prendre une quantité importante de temps pour acquérir les connaissances nécessaires pour passer une entrevue ou de construire vos propres stratégies de négociation. Non seulement cela, mais il nécessite une vaste expertise en programmation, à tout le moins dans une langue comme MATLAB, R ou Python. Cependant, à mesure que la fréquence de négociation de la stratégie augmente, les aspects technologiques deviennent beaucoup plus pertinents. Ainsi, être familier avec CC sera d'une importance primordiale. Un système de négociation quantitatif se compose de quatre composantes principales: Stratégie d'identification - Trouver une stratégie, exploiter une arête et de décider de la fréquence de négociation Backtesting Stratégie - Obtenir des données, l'analyse des performances de la stratégie et l'élimination des biais Système d'exécution - Liaison à un courtage, Les coûts de transaction Gestion des risques - allocation optimale du capital, le critère de la taille de betKelly et la psychologie commerciale Bien commencer par jeter un oeil à la façon d'identifier une stratégie de négociation. Identification de la stratégie Tous les processus de négociation quantitative commencent par une période initiale de recherche. Ce processus de recherche englobe la recherche d'une stratégie, la vérification de la pertinence de la stratégie dans un portefeuille d'autres stratégies que vous pouvez exécuter, l'obtention de toutes les données nécessaires pour tester la stratégie et essayer d'optimiser la stratégie pour des rendements plus élevés ou un risque plus faible. Vous devrez tenir compte de vos propres exigences de capital si vous exécutez la stratégie en tant que commerçant de détail et comment les coûts de transaction affecteront la stratégie. Contrairement à la croyance populaire, il est en fait assez simple de trouver des stratégies rentables par le biais de diverses sources publiques. Les universitaires publient régulièrement des résultats de négociation théoriques (bien que la plupart du temps bruts des coûts de transaction). Les blogs financiers quantitatifs discuteront des stratégies en détail. Les revues spécialisées exposeront quelques-unes des stratégies employées par les fonds. Vous pourriez vous demander pourquoi les particuliers et les entreprises sont désireux de discuter de leurs stratégies rentables, surtout quand ils savent que d'autres surcharger le commerce peut arrêter la stratégie de travailler à long terme. La raison réside dans le fait qu'ils ne discuteront pas souvent les paramètres exacts et les méthodes de réglage qu'ils ont effectué. Ces optimisations sont la clé pour transformer une stratégie relativement médiocre en une stratégie très rentable. En fait, l'une des meilleures façons de créer vos propres stratégies uniques est de trouver des méthodes similaires et ensuite effectuer votre propre procédure d'optimisation. Voici une petite liste d'endroits pour commencer à chercher des idées de stratégie: Beaucoup des stratégies que vous regarderez tomberont dans les catégories de la réversion moyenne et du trendmomentum de tendance. Une stratégie de renversement moyen est celle qui tente d'exploiter le fait qu'une moyenne à long terme sur une série de prix (telle que l'écart entre deux actifs corrélés) existe et que les écarts à court terme de cette moyenne finiront par revenir. Une stratégie de dynamisme tente d'exploiter à la fois la psychologie des investisseurs et la structure de gros fonds en attelant un tour sur une tendance du marché, qui peut recueillir l'élan dans une direction, et suivre la tendance jusqu'à ce qu'il inverse. Un autre aspect extrêmement important de la négociation quantitative est la fréquence de la stratégie de négociation. La négociation basse fréquence (LFT) se réfère généralement à toute stratégie qui détient des actifs plus longtemps qu'un jour de bourse. En conséquence, la négociation à haute fréquence (HFT) se réfère généralement à une stratégie qui détient des actifs intraday. La négociation à fréquence ultra-haute (UHFT) fait référence aux stratégies qui détiennent des actifs de l'ordre de secondes et de millisecondes. En tant que praticien de vente au détail HFT et UHFT sont certainement possible, mais seulement avec une connaissance détaillée de la pile de la technologie de négociation et la dynamique du carnet de commandes. Nous ne discuterons pas ces aspects dans une grande mesure dans cet article introductif. Une fois qu'une stratégie, ou un ensemble de stratégies, a été identifié, il doit maintenant être testé pour la rentabilité sur les données historiques. C'est le domaine du backtesting. Stratégie Backtesting L'objectif du backtesting est de fournir la preuve que la stratégie identifiée via le processus ci-dessus est rentable lorsqu'il est appliqué aux données historiques et hors de l'échantillon. Cela définit l'attente de la façon dont la stratégie va fonctionner dans le monde réel. Cependant, le backtesting n'est PAS une garantie de succès, pour diverses raisons. C'est peut-être le domaine le plus subtil du commerce quantitatif, car il comporte de nombreux biais, qui doivent être soigneusement considérés et éliminés autant que possible. Nous discuterons des types communs de biais, y compris le biais prospectif. Le biais de survie et le biais d'optimisation (également connu sous le nom de biais de snooping). D'autres domaines d'importance dans le backtesting incluent la disponibilité et la propreté des données historiques, en tenant compte des coûts de transaction réalistes et en décidant d'une solide plate-forme de backtesting. Eh bien discuter des coûts de transaction plus loin dans la section Systèmes d'exécution ci-dessous. Une fois qu'une stratégie a été identifiée, il est nécessaire d'obtenir les données historiques à travers lesquelles effectuer des tests et, peut-être, le raffinement. Il existe un nombre important de fournisseurs de données dans toutes les classes d'actifs. Leurs coûts s'alignent généralement sur la qualité, la profondeur et l'actualité des données. Le point de départ traditionnel pour les commerçants débutants (au moins au niveau du détail) est d'utiliser l'ensemble de données gratuit de Yahoo Finance. Je ne m'attarderai pas trop sur les prestataires, mais j'aimerais plutôt me concentrer sur les questions générales concernant les ensembles de données historiques. Les principales préoccupations concernant les données historiques comprennent la précision de la propreté, le biais de survie et l'ajustement pour les actions de l'entreprise telles que les dividendes et les divisions d'actions: l'exactitude concerne la qualité globale des données - si elle contient des erreurs. Les erreurs peuvent parfois être faciles à identifier, par exemple avec un filtre à pic. Qui choisira des pics incorrects dans les données de séries chronologiques et les corrigera. D'autres fois, ils peuvent être très difficiles à repérer. Il est souvent nécessaire d'avoir deux ou plusieurs fournisseurs et ensuite vérifier toutes leurs données les uns contre les autres. Le biais de survie est souvent une caractéristique des ensembles de données gratuits ou bon marché. Un ensemble de données avec biais de survie signifie qu'il ne contient pas d'actifs qui ne sont plus de négociation. Dans le cas des actions, cela signifie des actions délistedbankrupt. Ce biais signifie que toute stratégie de négociation d'actions testé sur un tel ensemble de données sera probablement mieux performant que dans le monde réel que les gagnants historiques ont déjà été présélectionnés. Les actions de la société comprennent les activités logistiques réalisées par la société qui entraînent habituellement une modification du prix brut qui ne devrait pas être incluse dans le calcul des rendements du prix. Les ajustements pour les dividendes et les divisions d'actions sont les coupables communs. Un processus dit de rétro-ajustement est nécessaire pour être réalisé à chacune de ces actions. Il faut être très prudent de ne pas confondre un partage de stock avec un ajustement de retour vrai. Beaucoup d'un commerçant a été pris au piège par une action d'entreprise Afin de mener à bien une procédure de backtest, il est nécessaire d'utiliser une plate-forme logicielle. Vous avez le choix entre un logiciel de backtest dédié, comme Tradestation, une plate-forme numérique telle que Excel ou MATLAB ou une implémentation personnalisée complète dans un langage de programmation tel que Python ou C. Je n'habiterai pas trop sur Tradestation (ou similaire), Excel ou MATLAB, car je crois en la création d'une pile complète de la technologie interne (pour les raisons énoncées ci-dessous). L'un des avantages de cela est que le logiciel de backtest et le système d'exécution peuvent être étroitement intégrés, même avec des stratégies statistiques extrêmement avancées. Pour les stratégies HFT en particulier, il est essentiel d'utiliser une implémentation personnalisée. Lors du backtesting d'un système, il faut être en mesure de quantifier son rendement. Les mesures standard de l'industrie pour les stratégies quantitatives sont le retrait maximal et le ratio de Sharpe. Le tirage maximal caractérise la baisse la plus importante de la courbe des capitaux propres au cours d'une période donnée (habituellement annuelle). C'est le plus souvent cité comme un pourcentage. Les stratégies LFT auront tendance à avoir des tirages plus importants que les stratégies HFT, en raison d'un certain nombre de facteurs statistiques. Un backtest historique montrera le tirage maximal passé, qui est un bon guide pour la performance de tirage futur de la stratégie. La deuxième mesure est le ratio de Sharpe, qui est défini de façon heuristique comme la moyenne des rendements excédentaires divisée par l'écart-type de ces rendements excédentaires. Ici, les rendements excédentaires renvoient au retour de la stratégie au-dessus d'un indice de référence prédéterminé. Tels que le SP500 ou un projet de loi du Trésor à 3 mois. Il est à noter que le rendement annualisé n'est pas une mesure habituellement utilisée, car il ne tient pas compte de la volatilité de la stratégie (contrairement au ratio de Sharpe). Une fois qu'une stratégie a été testée et est réputée être exempte de biais (autant que cela est possible), avec un bon Sharpe et réduit les tirages, il est temps de construire un système d'exécution. Systèmes d'exécution Un système d'exécution est le moyen par lequel la liste des métiers générés par la stratégie est envoyée et exécutée par le courtier. En dépit du fait que la génération commerciale peut être semi - ou même entièrement automatisée, le mécanisme d'exécution peut être manuel, semi-manuel (c'est-à-dire un clic) ou entièrement automatisé. Pour les stratégies LFT, les techniques manuelles et semi-manuelles sont courantes. Pour les stratégies HFT, il est nécessaire de créer un mécanisme d'exécution entièrement automatisé, qui sera souvent étroitement couplé avec le générateur de commerce (en raison de l'interdépendance de la stratégie et de la technologie). Les principales considérations lors de la création d'un système d'exécution sont l'interface avec le courtage. La minimisation des coûts de transaction (y compris la commission, le glissement et l'écart) et la divergence des performances du système en direct par rapport aux performances testées. Il existe de nombreuses façons d'interface avec une maison de courtage. Ils vont de l'appel de votre courtier sur le téléphone à droite à une entièrement automatisée haute performance Application Programming Interface (API). Idéalement, vous voulez automatiser l'exécution de vos métiers autant que possible. Cela vous libère pour se concentrer sur de nouvelles recherches, ainsi que vous permettre d'exécuter des stratégies multiples ou même des stratégies de plus haute fréquence (en fait, HFT est essentiellement impossible sans exécution automatisée). Les logiciels communs de backtesting décrits ci-dessus, tels que MATLAB, Excel et Tradestation sont bons pour des stratégies plus simples et plus simples. Cependant, il sera nécessaire de construire un système d'exécution interne écrit dans un langage de haute performance comme C afin de faire tout vrai HFT. Comme une anecdote, dans le fonds que j'avais l'habitude d'être employé à, nous avons eu une boucle de 10 minutes de négociation où nous téléchargeons de nouvelles données sur le marché toutes les 10 minutes, puis exécuter des opérations basées sur ces informations dans le même laps de temps. C'était utiliser un script Python optimisé. Pour tout ce qui s'approche de la minute ou des données de deuxième fréquence, je crois que CC serait plus idéal. Dans un fonds plus important, ce n'est pas souvent le domaine du négociant quantique d'optimiser l'exécution. Toutefois, dans les petits magasins ou les entreprises HFT, les commerçants sont les exécuteurs et donc une compétence beaucoup plus large est souvent souhaitable. Gardez cela à l'esprit si vous souhaitez être employé par un fonds. Vos compétences en programmation seront aussi importantes, voire plus, que vos talents statistiques et économétriques Un autre problème majeur qui tombe sous le signe de l'exécution est celui de la minimisation des coûts de transaction. Il y a généralement trois composantes des coûts de transaction: Les commissions (ou taxes), qui sont les frais facturés par la maison de courtage, l'échange et le dérapage de la SEC (ou d'un organisme de réglementation similaire), qui est la différence entre ce que vous vouliez que votre commande soit Rempli à l'égard de ce qu'il a été réellement rempli à l'écart, qui est la différence entre le prix bidask de la valeur marchande. Notez que l'écart n'est PAS constant et dépend de la liquidité actuelle (c'est-à-dire la disponibilité des ordres d'achat) sur le marché. Les coûts de transaction peuvent faire la différence entre une stratégie extrêmement rentable avec un bon ratio Sharpe et une stratégie extrêmement peu rentable avec un terrible ratio de Sharpe. Il peut être difficile de prédire correctement les coûts de transaction à partir d'un backtest. Selon la fréquence de la stratégie, vous aurez besoin d'accéder à des données d'échange historiques, qui incluront des données de tick pour les prix bidask. Des équipes entières de quants sont dédiées à l'optimisation de l'exécution dans les fonds plus importants, pour ces raisons. Considérons le scénario dans lequel un fonds doit décharger une quantité importante de métiers (dont les raisons sont nombreuses et variées). En déversant autant d'actions sur le marché, elles dépriment rapidement le prix et peuvent ne pas obtenir une exécution optimale. D'où les algorithmes qui gouttent les ordres d'alimentation sur le marché existent, bien que le fonds court alors le risque de glissement. De plus, d'autres stratégies envahissent ces nécessités et peuvent exploiter les inefficacités. C'est le domaine de l'arbitrage de la structure du fonds. Le dernier problème majeur pour les systèmes d'exécution concerne la divergence des performances de la stratégie par rapport aux performances testées. Cela peut se produire pour plusieurs raisons. Nous avons déjà discuté du biais prospectif et du biais d'optimisation en profondeur, lors de l'examen de backtests. Cependant, certaines stratégies ne permettent pas de tester facilement ces biais avant le déploiement. Cela se produit dans HFT plus prédominante. Il peut y avoir des bugs dans le système d'exécution ainsi que la stratégie de négociation elle-même qui ne s'affichent pas sur un backtest, mais ne se présentent dans le commerce en direct. Le marché a peut-être fait l'objet d'un changement de régime après le déploiement de votre stratégie. De nouveaux environnements réglementaires, l'évolution du sentiment des investisseurs et des phénomènes macroéconomiques peuvent tous conduire à des divergences dans la façon dont le marché se comporte et donc la rentabilité de votre stratégie. Gestion des risques La dernière pièce du puzzle de négociation quantitative est le processus de gestion des risques. Le risque inclut tous les biais précédents dont nous avons discuté. Il comprend le risque technologique, tels que les serveurs co-situé à l'échange de soudainement développer un dysfonctionnement du disque dur. Il inclut le risque de courtage, comme le courtier faillite (pas aussi fou que cela semble, étant donné le récent effroi avec MF Global). En bref, il couvre presque tout ce qui pourrait interférer avec la mise en œuvre de négociation, dont il existe de nombreuses sources. Tous les livres sont consacrés à la gestion des risques pour les stratégies quantitatives, donc je ne vais pas essayer d'élucider sur toutes les sources possibles de risque ici. La gestion des risques englobe également ce que l'on appelle l'allocation optimale du capital. Qui est une branche de la théorie du portefeuille. C'est le moyen par lequel le capital est alloué à un ensemble de stratégies différentes et aux métiers au sein de ces stratégies. C'est un domaine complexe et repose sur des mathématiques non triviales. La norme de l'industrie par laquelle l'allocation optimale du capital et l'effet de levier des stratégies sont liées est appelée le critère de Kelly. Comme il s'agit d'un article introductif, je n'insisterai pas sur son calcul. Le critère de Kelly fait certaines hypothèses sur la nature statistique des rendements, qui ne sont pas souvent vrai dans les marchés financiers, donc les commerçants sont souvent conservateurs quand il s'agit de la mise en œuvre. Une autre composante essentielle de la gestion des risques est le traitement de son propre profil psychologique. Il existe de nombreux biais cognitifs qui peuvent s'introduire dans le commerce. Bien que cela soit certes moins problématique avec trading algorithmique si la stratégie est laissé seul Un préjugé commun est celui de l'aversion à la perte où une position perdante ne sera pas fermé en raison de la douleur d'avoir à réaliser une perte. De même, les bénéfices peuvent être pris trop tôt parce que la peur de perdre un bénéfice déjà gagné peut être trop grande. Un autre biais commun est connu comme biais récence. Cela se manifeste lorsque les traders mettent trop l'accent sur les événements récents et non sur le long terme. Ensuite, bien sûr, il ya la paire classique de préjugés émotionnels - la peur et la cupidité. Ceux-ci peuvent souvent conduire à un sous - ou un surendettement, ce qui peut provoquer un gonflement (c'est-à-dire l'équité du compte à zéro ou pire) ou des bénéfices réduits. Comme on peut le constater, le commerce quantitatif est un domaine de financement quantitatif extrêmement complexe, quoique très intéressant. J'ai littéralement rayé la surface du sujet dans cet article et il est déjà assez long Livres entiers et des documents ont été écrits sur des questions que je n'ai donné qu'une phrase ou deux vers. Pour cette raison, avant de demander des emplois de négociation de fonds quantitatifs, il est nécessaire d'effectuer une quantité importante de l'étude de terrain. À tout le moins, vous aurez besoin d'un vaste bagage en statistiques et économétrie, avec beaucoup d'expérience dans la mise en œuvre, via un langage de programmation comme MATLAB, Python ou R. Pour des stratégies plus sophistiquées à la fin de fréquence plus élevée, votre ensemble de compétences est probable Pour inclure la modification du noyau Linux, le CC, la programmation d'assemblage et l'optimisation de la latence du réseau. Si vous êtes intéressé à essayer de créer vos propres stratégies de trading algorithmique, ma première suggestion serait d'obtenir de bons programmes. Ma préférence est de construire autant de données grabber, backtestter stratégie et le système d'exécution par vous-même que possible. Si votre propre capital est sur la ligne, wouldnt vous dormez mieux la nuit sachant que vous avez pleinement testé votre système et sont conscients de ses pièges et des questions particulières Externaliser cela à un vendeur, tout en économisant potentiellement du temps à court terme, pourrait être extrêmement Coûteux à long terme.
No comments:
Post a Comment