Automatyczne anulowanie zleceń w wyniku odłączenia od CCG Specyfikacja techniczna wersja: 1.0 data:2013.08.06
OPIS DOKUMENTU Cel Dokument zawiera techniczny opis automatycznego anulowania zleceń w wyniku odłączenia serwera klienta od CCG. Dokument opisuje również kinematykę komunikatów dla aplikacji klienckich. Protokoły wykorzystywane do obsługi zleceń: UTP-Direct i UTP-FIX 4.2. Zakres Automatyczne anulowanie zleceń może zostać aktywowane na CCG dla dowolnego serwera Klienta, tylko po uprzednim zamówieniu usługi. Domyślnie usługa ta jest wyłączona dla wszystkich zdefiniowanych na CCG serwerów zleceń. Funkcja automatycznego anulowania zleceń nie jest stosowana w przypadku zleceń wprowadzonych poprzedniego dnia. Dlatego anulowane zostaną tylko aktywne zlecenia wprowadzone bieżącego dnia przez aplikacje klienckie. Anulowanie jest przeprowadzane niezależnie od rodzaju ważności zlecenia. Automatyczne anulowanie zleceń stosowane jest zarówno w przypadku utraty połączenia (i również zwykłego wylogowania na UTP FIX 4.2) pomiędzy aplikacją klienta, a CCG jak i w przypadku wewnętrznych rozłączeń na Giełdzie. Giełda Papierów Wartościowych w Warszawie S.A. 2013.09.09 Strona 2 z 10
HISTORIA ZMIAN wersja data autor opis status 1.0 2013.08.06 Automatyczne anulowanie zleceń w wyniku rozłączenia CCG initial Giełda Papierów Wartościowych w Warszawie S.A. 2013.09.09 Strona 3 z 10
SPIS TREŚCI Opis Dokumentu... 2 Historia Zmian... 3 Spis Treści... 4 1. OPIS ARCHITEKTURY... 5 1.1. Opis Architektury... 5 2. OPIS AUTOMATYCZNEGO ANULOWANIA ZLECEŃ W WYNIKU ROZŁĄCZENIA... 6 2.1. Rozłączenie aplikacji klienckiej od CCG... 6 2.2. Wewnętrzne rozłączenie na Giełdzie... 7 3. KINEMATYKA AUTOMATYCZNEGO ANULOWANIA W WYNIKU ROZŁĄCZENIA... 8 3.1. Kinematyka komunikatów przy automatycznym anulowaniu - rozłączenie aplikacji klienckiej... 8 3.2. Kinematyka komunikatów przy automatycznym anulowaniu wewnętrzne rozłączenie na Giełdzie... 9 4. OGRANICZENIA AUTOMATYCZNEGO ANULOWANIA W WYNIKU ROZŁĄCZENIA... 10 Giełda Papierów Wartościowych w Warszawie S.A. 2013.09.09 Strona 4 z 10
1. OPIS ARCHITEKTURY 1.1. Opis Architektury CCG czyli Common Customer Gateway moduł obsługujący interfejsy klienta UTP-Direct lub UTP-FIX 4.2. Interfejsy: UTP-Direct i UTP-FIX 4.2 wykorzystują łącza TCP/IP. Każde połączenie klienta wysyła komunikat do swojego przydzielonego IP i portu. Następnie CCG przekazuje komunikat do odpowiedniej instancji systemu notującego.
2. OPIS AUTOMATYCZNEGO ANULOWANIA ZLECEŃ W WYNIKU ROZŁĄCZENIA Włączenie funkcji automatycznego anulowania zleceń w wyniku rozłączenia jest możliwe tylko po zamówieniu usługi przez klienta. Jeśli funkcja jest włączona dla danego serwera (SenderLocationID) wszystkie aktywne zlecenia zostają automatycznie anulowane w wyniku rozłączenia. 2.1. Rozłączenie aplikacji klienckiej od CCG Jeśli aplikacja kliencka utraci połączenie z CCG, wówczas wszystkie aktywne zlecenia przekazane bieżącego dnia są anulowane niezależnie od rodzaju ważności zlecenia. Nie dotyczy to zleceń przekazanych w poprzednich dniach. Jeżeli CCG zidentyfikuje rozłączenie aplikacji klienckiej, aktywowana zostaje usługa automatycznego anulowania zleceń i CCG wysyła komunikat do systemu notującego UTP z żądaniem usunięcia wszystkich aktywnych zleceń przekazanych bieżącego dnia przez aplikacje kliencką. Nie dotyczy to aktywnych zleceń przekazanych dnia poprzedniego. Usługa automatycznego anulowania zleceń powoduje wysłanie pary komunikatów 'K' ('r' w FIX 4.2) ( Ack i Summary) przez każdą z instancji systemu notującego do aplikacji klienckiej, niezależnie od tego czy na danej instancji systemu notującego znajdują się obecnie aktywne zlecenia. Tym samym klienci otrzymają tyle par komunikatów 'K' ile jest w/w instancji. W chwili uruchomienia usługi na GPW, w UTP istnieją 2 instancje systemu notującego. Jeżeli obecnie znajdują się aktywne zlecenia, dla każdego z nich wysyłany jest komunikat '4' ('8' w FIX 4.2) (Order Killed). Komunikaty te wysyłane są pomiędzy parą komunikatów 'K' ('r' w FIX 4.2) (Ack i Summary) dla każdej instancji system notującego. Giełda Papierów Wartościowych w Warszawie S.A. 2013.09.09 Strona 6 z 10
2.2. Wewnętrzne rozłączenie na Giełdzie Wewnętrzne rozłączenie na Giełdzie odnosi się do sytuacji kiedy rozłączenie następuje pomiędzy CCG i jednym, albo kilkoma instancjami systemu notującego. Uwaga: W przypadku takiego scenariusza może to nie dotyczyć połączenia aplikacji klienckiej. Jeśli aplikacja kliencka utraci połączenie z CCG, wówczas wszystkie aktywne zlecenia przekazane bieżącego dnia są anulowane niezależnie od rodzaju ważności zlecenia. Nie dotyczy zleceń przekazanych poprzedniego dnia. Jeżeli jedna lub wszystkie instancje systemu notującego zidentyfikują utratę połączenia z CCG, usługa automatycznego anulowania zleceń w wyniku rozłączenia zostaje aktywowana i aktywne zlecenia przekazane w ramach instancji podczas bieżącego dnia są usuwane niezależnie od rodzaju ważności zlecenia złożonego w danym dniu sesyjnym. Nie dotyczy to aktywnych zleceń przekazanych dnia poprzedniego. Jeżeli obecnie są aktywne zlecenia, dla każdego anulowanego zlecenia wysyłany jest komunikat '4' ('8' w FIX 4.2) (Order Killed). Komunikaty te wysyłane są pomiędzy parą komunikatów 'K' ('r' w FIX 4.2) ( Ack i Summary) dla każdej instancji system notującego. Giełda Papierów Wartościowych w Warszawie S.A. 2013.09.09 Strona 7 z 10
3. KINEMATYKA AUTOMATYCZNEGO ANULOWANIA W WYNIKU ROZŁĄCZENIA W poniższym rozdziale przedstawiony został schemat protokołów oraz kinematyka strumienia danych w przypadku rozłączenia. 3.1. Kinematyka komunikatów przy automatycznym anulowaniu - rozłączenie aplikacji klienckiej Zdarzeniem, które uruchamia proces jest rozłączenie sesji klienta na CCG w wyniku utraty połączenia lub braku heartbeat'ów. Kiedy klient połączy się ponownie tego samego dnia, otrzyma następującą sekwencję komunikatów z każdej instancji systemu notującego: Wszystkie oczekujące, wychodzące komunikaty wygenerowane przed automatycznym anulowaniem zleceń w wyniku rozłączenia na CCG: ack, fill notice. Jeden potwierdzający komunikat 'K' ('r' w FIX 4.2) (z polem OrderId = -777 i polem TotalAffectedOrders = -1) z każdej instancji systemu notującego. Komunikat '4' ('8' w FIX 4.2) «Order killed» dla każdego usuniętego zlecenia Jeden komunikat podsumowujący K (r w FIX 4.2) (z OrderId = -777 i TotalAffectedOrders= liczba anulowanych zleceń). Uwaga: nawet wówczas kiedy każda instancja systemu notującego wysyła komunikaty w sekwencji opisanej powyżej, to wysyłka tych komunikatów ze wszystkich instancji odbywa się równolegle. W konsekwencji, aplikacja kliencka może otrzymać równolegle komunikaty z obu instancji z numerami sekwencyjnymi różnymi, pochodzą one bowiem z różnych instancji systemu notującego. Giełda Papierów Wartościowych w Warszawie S.A. 2013.09.09 Strona 8 z 10
3.2. Kinematyka komunikatów przy automatycznym anulowaniu wewnętrzne rozłączenie na Giełdzie Zdarzeniem, które uruchamia proces jest rozłączenie CCG od instancji systemu notującego, w wyniku utraty połączenia lub braku heartbeat'ów. Kiedy CCG połączy się ponownie, wysłana zostanie następująca sekwencja komunikatów z każdej instancji systemu notującego: Wszystkie oczekujące, wychodzące komunikaty wygenerowane przed automatycznym anulowaniem zleceń w wyniku rozłączenia na CCG: ack, fill notice. Komunikat '4' ('8' w FIX 4.2) «Order killed» dla każdego usuniętego zlecenia. Giełda Papierów Wartościowych w Warszawie S.A. 2013.09.09 Strona 9 z 10
4. OGRANICZENIA AUTOMATYCZNEGO ANULOWANIA W WYNIKU ROZŁĄCZENIA Funkcja ta nie gwarantuje, że wszystkie zlecenia zostaną pomyślnie usunięte. Istnieje możliwość, że żądanie automatycznego anulowania nie zadziała z powodu problemów systemu Giełdy skutkując tym, że kilka (lub wszystkie) zleceń pozostanie aktywnych i oczekujących na realizacje. Istnieje również możliwość, że może zostać zawarta transakcja tuż przed rozłączeniem sesji klienta i wówczas taka transakcja nie zostanie przekazana do klienta dopóki nie połączy się on ponownie lub nie skontaktuje się z Zespołem Sesji Giełdowych. Usługa ta ma pomóc klientom w sytuacjach awaryjnych. Dlatego, nie mogą oni polegać na automatycznym anulowaniu jak na standardowym działaniu ( praktyce biznesowej) czy unikać odpowiedzialności. Usługa ta nie powinna być alternatywą dla kontaktów z Zespołem Sesji Giełdowych(w celu zweryfikowania, czy wszystkie zlecenia zostały faktycznie anulowane i czy klient otrzymał wszystkie transakcje). Giełda Papierów Wartościowych w Warszawie S.A. 2013.09.09 Strona 10 z 10