Scarab Diagnostic Field Test #032: Granica wyceny docelowej opcji
QuantConnect Lean miał poważny błąd w wyznaczaniu docelowej wielkości pozycji opcyjnych.
Jeśli poprosiłeś o 10% docelowej wielkości pozycji opcyjnej, silnik mógł dostarczyć więcej, niż zakładałeś.
Działo się tak, ponieważ system używał niewłaściwej ceny do obliczania wielkości pozycji. Używał ceny średniej (mid) lub ostatniej (last) zamiast faktycznej ceny, którą musisz zapłacić, aby kupić opcję.
Gdy spread bid/ask jest szeroki, błąd ten się powiększa.
Silnik używał security.Price do obliczeń depozytu zabezpieczającego (margin). W przypadku długiej pozycji opcyjnej (long option) musisz kupić po cenie ask. Jeśli silnik oblicza wielkość pozycji na podstawie niższej ceny średniej (mid-price), Twoja końcowa pozycja przekroczy docelową wagę po realizacji zlecenia.
Zidentyfikowaliśmy dokładną granicę naprawy.
Nie przepisywaliśmy całego silnika budowy portfela. Nie zmienialiśmy sposobu działania każdego typu instrumentu. Nie zmienialiśmy warstwy egzekucji.
Zamiast tego naprawiliśmy ścieżkę wyceny depozytu zabezpieczającego specyficzną dla opcji.
Poprawka opiera się na następujących zasadach:
- Dla docelowych długich pozycji opcyjnych: Użyj ceny ask, jeśli jest dostępna.
- Dla docelowych krótkich pozycji opcyjnych: Użyj ceny bid, jeśli jest dostępna.
- Jeśli żadna oferta nie jest dostępna: Skorzystaj z istniejącej ceny last/mark.
Dzięki temu naprawa pozostaje lokalna i bezpieczna. Wykorzystuje lepsze dane, gdy są dostępne, ale zachowuje stare zachowanie, gdy ich brakuje.
Wyniki walidacji:
- Build wydawniczy przeszedł pomyślnie.
- Skupione testy depozytu opcyjnego: 41/41 zaliczonych.
- Dodano pokrycie regresyjne zarówno dla wyceny ask po stronie długiej, jak i wyceny bid po stronie krótkiej.
Ta poprawka zapewnia, że silnik przestrzega Twoich zasad zarządzania ryzykiem, używając cen wykonalnych do określania wielkości pozycji.
Optional learning community: https://t.me/GyaanSetuAi