𝗦𝗰𝗮𝗿𝗮𝗯 𝗗𝗶𝗮𝗴𝗻𝗼𝘀𝘁𝗶𝗰 𝗙𝗶𝗲𝗹𝗱 𝗧𝗲𝘀𝘁 #𝟬𝟯𝟭
QuantConnect Lean, sürekli vadeli işlem (futures) devirleri üzerinde daha iyi bir kontrole ihtiyaç duyuyordu.
Kullanıcılar iki ana sorunla karşılaştı:
- Vade sonundan önce devir zamanlamasını ayarlayamıyorlardı.
- Belirli sözleşme ayı döngülerini seçemiyorlardı.
Bu basit bir hata değil. Bu bir eşleme politikası (mapping policy) sorunudur.
Bunu yeni bir devir takvimi oluşturarak düzeltmeye çalışırsanız motoru bozarsınız. Eşleme verilerini kopyalarsanız hatalar oluşturursunuz. Kötü bir yama, bir stratejinin istediği ile motorun yaptığı arasında sapmaya (drift) neden olabilir.
Amaç, cerrahi bir onarım yolu bulmaktı.
Çözüm, mevcut eşleme sınırları içinde kalıyor. Vadeli işlem motorunu yeniden yazmıyoruz. Bunun yerine, Lean'in sürekli vadeli işlem eşlemesini nasıl yönettiğini genişletiyoruz.
PR'da neler değişti:
- TradingDaysBeforeExpiry eşleme modu eklendi.
- Bu, kullanıcıların devir zamanlamasını işlem yapılabilir gün farkı (tradeable-day offset) olarak ayarlamasına olanak tanır.
- Devir farkı (roll offset) artık abonelik (subscription), geçmiş (history), evren (universe) ve eşleme olayı (mapping-event) yolları üzerinden akıyor.
- İsteğe bağlı sözleşme ayı döngüsü yürütme (contract-month-cycle walking) eklendi.
- Bu, genel bir dizi yerine belirli elde tutma döngülerini destekler.
- Veri kaynağını tek ve doğru tutmak için mevcut LastTradingDay harita satırları yeniden kullanıldı.
Onarımı eşleme politikası içinde tutarak, tüm motor parçalarının hangi sözleşmenin aktif olduğu konusunda hemfikir olmasını sağlıyoruz.
Sonuç: Yeni sistemler icat etmeden yeni yetenekler ekleyen sınırlı bir onarım. Yerel derleme doğrulaması sıfır hata ile geçti. PR artık üst akış (upstream) incelemesi için hazır.
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi