𝗦𝗰𝗮𝗿𝗮𝗯 𝗗𝗶𝗮𝗴𝗻𝗼𝘀𝘁𝗶𝗰 𝗙𝗶𝗲𝗹𝗱 𝗧𝗲𝘀𝘁 #𝟬𝟯𝟭
QuantConnect Lean wymagał lepszej kontroli nad przewijaniem ciągłych kontraktów futures.
Użytkownicy napotykali dwa główne problemy:
- Nie mogli ustawić momentu przewijania przed wygaśnięciem.
- Nie mogli wybierać konkretnych cykli miesięcy kontraktowych.
To nie jest zwykły błąd. To problem z polityką mapowania.
Jeśli spróbujesz naprawić to poprzez stworzenie nowego kalendarza przewijania, uszkodzisz silnik. Jeśli zduplikujesz dane mapowania, stworzysz błędy. Zła poprawka może spowodować rozbieżność między tym, czego oczekuje strategia, a tym, co robi silnik.
Celem było znalezienie precyzyjnej ścieżki naprawy.
Rozwiązanie pozostaje w obrębie istniejących granic mapowania. Nie przepisujemy silnika futures. Zamiast tego rozszerzamy sposób, w jaki Lean obsługuje mapowanie ciągłych kontraktów futures.
Co zmieniło się w PR:
- Dodano tryb mapowania TradingDaysBeforeExpiry.
- Pozwala to użytkownikom ustawić moment przewijania jako przesunięcie o dni handlowe.
- Przesunięcie przewijania przepływa teraz przez ścieżki subskrypcji, historii, uniwersum i zdarzeń mapowania.
- Dodano opcjonalne przechodzenie przez cykle miesięcy kontraktowych.
- Obsługuje to konkretne cykle trzymania pozycji zamiast ogólnej sekwencji.
- Ponownie wykorzystano istniejące wiersze mapy LastTradingDay, aby zachować pojedyncze i prawdziwe źródło danych.
Dzięki utrzymaniu naprawy w ramach polityki mapowania, zapewniamy, że wszystkie części silnika zgadzają się co do tego, który kontrakt jest aktywny.
Wynik: Ograniczona naprawa, która dodaje nowe możliwości bez wymyślania nowych systemów. Lokalna walidacja buildu zakończyła się sukcesem bez błędów. PR jest teraz gotowy do przeglądu upstream.
Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi