La première génération de systèmes de négociation CTA est apparue dans les années 1960 et 1970. Les stratégies de négociation CTA ont obtenu des gains considérables à l'époque en raison des fortes tendances du marché des produits à l'époque. La forte tendance du marché des produits à cette époque est attribuable à la croissance économique continue et à l'inflation qui a augmenté après la Seconde Guerre mondiale. Les marchés de tendance puissants permettent aux systèmes de suivi des tendances simples d'obtenir de meilleurs rendements.
Les stratégies utilisées dans les systèmes de trading de première génération sont celles qui sont maintenant familières avec les stratégies de suivi des tendances, telles que les systèmes de moyennes mobiles (avec des conditions de filtrage simples, par exemple lorsque les moyennes mobiles à court terme dépassent les moyennes mobiles à long terme ou vice versa), une stratégie de suivi des tendances simple peut jouer efficacement sur la continuité des tendances fondamentales de l'objectif de transaction. La croissance économique continue, l'inflation et la crise pétrolière sont à l'origine de cette continuité. Cependant, lorsque de nombreux traders utilisent les mêmes stratégies et que la continuité des opérations fondamentales n'existe plus, la stratégie de première génération doit être développée pour s'adapter au nouvel environnement.
En raison de la dévaluation du dollar et de l'or, le marché des futures financières s'est développé rapidement entre 1970 et 1980, ce qui a permis aux fonds de gestion de futures de participer à de nombreux marchés à terme, y compris les marchés monétaires, les marchés des obligations, les futures d'indices et les dérivés financiers des actions. En outre, les progrès de l'informatique et les faibles coûts ont rendu les données facilement accessibles pendant la journée. L'augmentation de la taille des fonds et la concurrence accrue des fonds CTA ont rendu les stratégies des CTA plus complexes et plus adaptables.
Sur la base des caractéristiques du marché ci-dessus, la deuxième génération de systèmes et stratégies de négociation CTA présente les caractéristiques suivantes par rapport à la première génération de stratégies CTA:
Les thèmes de négociation sont plus diversifiés. L'inclusion des marchés financiers à terme rend les variétés de transactions et les marchés plus diversifiés.
En plus de la stratégie de négociation, la stratégie des systèmes de négociation CTA de la deuxième génération ne se limite pas au suivi des tendances et des ruptures de prix purement; l'application de plus de modèles mathématiques pour surveiller plusieurs marchés; l'utilisation de stratégies de suivi des tendances en fonction de conditions de marché différentes ou de réponses moyennes; les périodes de faible volatilité persistante du marché des futures ont également été observées en raison de la liquidité de nombreuses institutions impliquées dans le marché des futures. Dans ce cas, les systèmes CTA de la première génération traditionnels ont du mal à être rentables et à s'adapter aux changements du marché. Cette stratégie est devenue importante.
Les stratégies de deuxième génération CTA permettent des transactions à court terme dans les fenêtres de négociation et les détentions. Contrairement aux stratégies de première génération CTA, les stratégies de deuxième génération ont commencé à surveiller les modes de négociation journalière pour les transactions à court terme et à haute fréquence. Cette caractéristique est due à l'évolution des technologies informatiques qui rendent la fourniture de données financières plus rapide et plus fréquente.
La troisième génération de systèmes de négociation CTA est une diversification, une décentralisation et une plus grande adaptabilité des systèmes de négociation de la deuxième génération. La troisième génération de systèmes de négociation CTA utilise plus de systèmes de négociation pour négocier plus de marchés et de variétés. Sur le plan stratégique, elle utilise des modèles de marché plus rentables.
Compte tenu de l'ampleur de l'utilisation de la stratégie CTA, ainsi que de sa sédentarité au fil du temps et de sa maturité, le modèle de stratégie classique est largement utilisé par de nombreux traders (en particulier pour les débutants), les plateformes de quantification ont développé très tôt une bibliothèque de stratégies CTA standard. Les lecteurs peuvent appliquer la stratégie CTA en copiant simplement le code passé ou en faisant directement référence à cette bibliothèque.
L'extensibilité est également très pratique, l'annotation du code est très claire et simple à comprendre, et si vous souhaitez effectuer une personnalisation ou une extension en profondeur, il suffit de le faire directement dans le cadre existant.
Le code source (version JavaScript) est le suivant:
function main() {
$.CTA(exchanges[0], 0.01, function(r, mp, pair){ // 第一个参数是要做的交易所对象,第二个参数0.01是交易所要求的最小下单数量,第三个匿名函数function(){...}是回调函数,交易逻辑就写在这个函数中,该回调函数第一个参数r接收最新的K线数据,第二个参数接收持仓数,第三个参数接收交易对名称
if (r.length < 20) { // 判断K线柱数量
return
}
var emaSlow = TA.EMA(r, 20)
var emaFast = TA.EMA(r, 5)
var cross = _Cross(emaFast, emaSlow); // 判断指标相交状态,_Cross参看:https://www.fmz.com/bbs-topic/1140
if (mp <= 0 && cross > 1) {
Log(pair, "买, 金叉周期", cross, "mp:", mp);
return 0.1 * (mp < 0 ? 2 : 1) // 返回的数值就是要开仓的数量,正数是 开多,负数是开空,0是全部平掉。
} else if (mp >= 0 && cross < -1) {
Log(pair, "卖, 死叉周期", cross, "mp:", mp);
return -0.1 * (mp > 0 ? 2 : 1)
}
})
}
Pour plus d'informations sur le code source et la bibliothèque de classes, voir:https://www.fmz.com/strategy/57267