Ingénierie Economique et Financière

Codage VBA d'une stratégie de trading :
un screening de titres sur les moyennes mobiles

L'objet de ce projet est de coder une stratégie de trading en VBA. La stratégie repose sur l'utilisation classique de moyennes mobiles pour générer des signaux d'achat et de vente, et une méthode de screening pour sélectionner dans un univers les titres qui ont les signaux relatifs d'achat et de vente les plus élevés. Avec 2 plus : un mécanisme de stop loss et une normalisation des différences des moyennes mobiles par le cours à la cloture intermédiaire (premier cours commmun aux deux moyennes mobiles). Rien de révolutionnaire!!!

La procédure repose sur un certain nombre de paramètres et de règles. Non seulement les paramètres des moyennes mobiles, les limites sur l'endettement, sur les positions à découverte, mais aussi le pas avec lequel les investissements et les désinvestissements sont réalisés.

La procédure d'investissement (bouton screening_mm) définit les positions, les portefeuilles, les valorisations à la fin de chaque période, i.e. ici à la fin de chaque semaine. Sur la page performance sont enfin résumées les performances de la stratégie. Non seulement par les ratios de performance classiques (et par leurs comparaisons à celles des placements indiciel et monétaire) mais aussi par des statistiques sur les transactions. Les résultats et les données utilisées sont récupérées dans un nouveau fichier.

Les figures ci-dessous contiennent les 3 types d'information contenues sur la feuille "performance" : les paramètres de la stratégie, les performances, les transactions. Il convient de ne pas trop attacher d'importance à la qualité des résultats obtenus, ceux-ci étant sans doute peu robustes à des modifications des paramètres et de l'univers.

Les paramètres utilisées

Le tableau des performances Les transactions

Pour évaluer les paramètres de la stratégie, il existe aussi une procédure (bouton Backtest des paramètres). Celle-ci consiste simplement de balayer des intervalles de valeur pour les paramètres de la stratégie (paramètres des moyennes mobiles mais aussi des stop loss, des coûts de transaction, etc.), et de récupérer les performances obtenues. Tout l'historique est utilisée sans distinguer d'in-sample et d'out-of-sample.

Le mode d'emploi est très simple. Il suffit de renseigner la feuille "titres" (en listant les titres utilisés et leurs caractéristiques et de déposer les données sur la feuille "cours" en respectant la mise en page : dates dans la colonne 1, les noms des titres sur la ligne 1, les séries des cours en colonne. Pour chaque période, chaque titre doit disposer d'un cours.

Fichier



vbaTrading zip
test zip