Definicja i to, co tak naprawdę oceniasz
Cena realizacji to efektywna cena, po której realizowane jest zlecenie. W praktyce często interesuje Cię to, co zapłaciłeś/otrzymałeś za zrealizowaną ilość, po uwzględnieniu konwencji notowań rynkowych oraz wszelkich kosztów związanych z realizacją, które są określane przez samą realizację.
Aby dokładnie ocenić cenę realizacji bez zakładania jakichkolwiek danych w czasie rzeczywistym, potrzebujesz jasnego zestawu danych wejściowych, ich pochodzenia (skąd się wzięły) oraz tego, jak aktualne lub przestarzałe mogą być.
Dane wejściowe, których potrzebujesz (podstawowa „checklista danych”)
- Mechanika zlecenia (stabilne dane wejściowe)
- Identyfikacja instrumentu: para walutowa (np. EUR/USD), aby konwencja notowań była jednoznaczna.
- Strona i typ zlecenia: kupno vs sprzedaż oraz to, czy zlecenie ma zostać zrealizowane po aktualnie obowiązującym notowaniu rynkowym, czy w ramach określonych ograniczeń.
- Wnioskowana ilość: wielkość, którą zlecenie próbuje zrealizować, ponieważ częściowe realizacje mogą zmienić efektywny wynik.
- Oczekiwany kierunek wyceny: dla FX wyniki realizacji zależą od tego, czy płacisz ask (kupno) czy otrzymujesz bid (sprzedaż). Zdefiniuj to przed połączeniem jakichkolwiek liczb.
- Dane referencyjne rynku (zmienne dane wejściowe)
- Notowania bid/ask użyte do rozumowania o realizacji: albo strumień notowań, który traktujesz jako odniesienie, albo pola „execution report” brokera/platformy, które opisują, jakiego notowania użył system.
- Odniesienie czasowe: znacznik czasu powiązany z realizacją (lub z notowaniem, które modelujesz). Cena realizacji zależy od czasu, więc dokładny moment odniesienia ma znaczenie.
- Kontekst płynności i zmienności (jako dane wejściowe, nie prognozy): nie musisz prognozować, ale musisz wiedzieć, że w danym okresie mogły występować szersze spready lub mniejsza głębokość.
- Koszty związane z realizacją (często źle rozumiane składowe)
- Składowa spreadu: różnica między bid i ask w odpowiednim momencie.
- Prowizje/opłaty: wszelkie stałe lub naliczane za transakcję koszty, które wpływają na efektywną cenę, którą powinieneś porównać z Twoim odniesieniem.
- Finansowanie/dostosowania (tylko jeśli dotyczy Twojego porównania): jeśli oceniasz „efektywną” cenę ekonomiczną w okresie utrzymania, opisz reguły, których używasz; w przeciwnym razie skup się na samej cenie realizacji.
Pochodzenie: skąd pochodzi każda z danych wejściowych
Dla każdego elementu danych powyżej zapisz pochodzenie:
- Źródło pól zlecenia: log biletu zlecenia/zlecenia vs widok podsumowujący.
- Źródło bid/ask lub notowania realizacji: czy pochodziło z kontrolowanego przez Ciebie feedu danych rynkowych, czy z execution report dostarczonych przez dostawcę/platformę.
- Źródło znaczników czasu: potwierdź strefę czasową/format oraz to, czy znaczniki czasu odzwierciedlają „kiedy notowanie zostało wygenerowane”, czy „kiedy realizacja została zapisana”.
Jeśli mieszasz źródła o różnych konwencjach (na przykład jedno źródło ma znaczniki czasu w UTC, a drugie w czasie lokalnym), nadal możesz coś policzyć, ale może to nie odpowiadać prawdziwemu momentowi realizacji.
Sprawdzanie aktualności i jakości (jak weryfikować dane wejściowe)
W minimalnym zakresie zastosuj te sprawdzenia:
- Sprawdzenie kompletności: musisz mieć (a) instrument, (b) stronę, (c) ilość realizacji, (d) podstawę notowania (bid lub ask) oraz (e) odpowiedni znacznik czasu.
- Sprawdzenie spójności: zweryfikuj, że logika kupna/sprzedaży pasuje do użycia bid/ask. Jeśli strona to „buy”, upewnij się, że Twoje odniesienie używa ask; jeśli strona to „sell”, upewnij się, że używa bid.
- Sprawdzenie przestarzałości: jeśli notowania pochodzą z wcześniejszego czasu niż znacznik czasu realizacji, potraktuj to jako założenie i oznacz wynikową cenę realizacji jako oszacowanie na podstawie przestarzałych danych.
- Sprawdzenie agregacji: jeśli występuje wiele realizacji (częściowe realizacje), oblicz cenę realizacji jako wynik ważony ilością (quantity-weighted), i podaj, czy Twoje porównanie używa łącznej zrealizowanej ilości.
Dowód lub przykład (z jawnymi założeniami)
Załóż uproszczony scenariusz z dwiema realizacjami dla tego samego instrumentu i zlecenia:
- Realizacja 1: kupno ilości 1,000 jednostek po ask referencyjnym 1.0950.
- Realizacja 2: kupno ilości 2,000 jednostek po ask referencyjnym 1.0960.
- Przyjmij brak prowizji i zdefiniuj cenę realizacji jako średnią ważoną ilości zrealizowanych transakcji, używając ask dla kupna.
Wtedy cena realizacji ważona ilością wynosi:
- (1,000 × 1.0950 + 2,000 × 1.0960) / 3,000
- = (1.0950 + 2 × 1.0960) / 3
- = (1.0950 + 2.1920) / 3
- = 3.2870 / 3
- = 1.095666…
Kluczowa uwaga: ten przykład jest ważny tylko przy założeniach podanych powyżej dotyczących konwencji bid/ask, obsługi opłat oraz używania poziomów notowań przypisanych do każdego momentu realizacji.