𝗦𝗰𝗮𝗿𝗮𝗯 𝗗𝗶𝗮𝗴𝗻𝗼𝘀𝘁𝗶𝗰 𝗙𝗶𝗲𝗹𝗱 𝗧𝗲𝘀𝘁 #𝟬𝟯𝟭
QuantConnect Lean avait besoin d'un meilleur contrôle sur les rolls de futures continus.
Les utilisateurs étaient confrontés à deux problèmes principaux :
- Ils ne pouvaient pas définir le moment du roll avant l'expiration.
- Ils ne pouvaient pas sélectionner de cycles de mois de contrat spécifiques.
Il ne s'agit pas d'un simple bug. C'est un problème de politique de mapping.
Si vous essayez de corriger cela en créant un nouveau calendrier de roll, vous cassez le moteur. Si vous dupliquez les données de mapping, vous créez des erreurs. Un correctif mal conçu peut entraîner un décalage entre ce qu'une stratégie souhaite et ce que le moteur exécute.
L'objectif était de trouver une voie de réparation chirurgicale.
La solution reste à l'intérieur de la limite de mapping existante. Nous ne réécrivons pas le moteur de futures. Au lieu de cela, nous étendons la manière dont Lean gère le mapping des futures continus.
Ce qui a changé dans la PR :
- Ajout d'un mode de mapping
TradingDaysBeforeExpiry. - Cela permet aux utilisateurs de définir le moment du roll sous forme de décalage en jours de négociation.
- Le décalage du roll circule désormais à travers les chemins de souscription, d'historique, d'univers et d'événements de mapping.
- Ajout d'un parcours optionnel par cycle de mois de contrat.
- Cela permet de prendre en charge des cycles de détention spécifiques au lieu d'une séquence générique.
- Réutilisation des lignes de la table
LastTradingDayexistantes pour maintenir une source de données unique et fiable.
En maintenant la réparation à l'intérieur de la politique de mapping, nous garantissons que toutes les parties du moteur s'accordent sur le contrat actif.
Le résultat : Une réparation délimitée qui ajoute de nouvelles capacités sans inventer de nouveaux systèmes. La validation de la construction locale a réussi avec zéro erreur. La PR est maintenant prête pour une revue en amont.
Communauté d'apprentissage optionnelle : https://t.me/GyaanSetuAi