Eksperymentalny system obsługi zleceń oparty na strumieniowym przetwarzaniu danych Październik 2009
Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte WARSET Zasady funkcjonowania GPW Aplikacja
Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte Podział strumieni danych 1. Transakcyjne strumienie danych - informacje o użytkownikach stron internetowych (gromadzone w celu personalizacji ustawień) - informacje o wykorzystaniu kart bankomatowych (zbierane w celu wykrycia prób defraudacji) 2. Pomiarowe strumienie danych - monitorowanie żołnierzy podczas bitwy, natężenia ruchu, temperatury, etc - śledzenie natężenie ruchu w Internecie (diagnozowanie ataków)
Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte Najważniejsze cechy aplikacji strumieniowych 1. Brak możliwości wielokrotnego przeglądania strumienia informacji 2. Zmienność danych w czasie 3. Rozproszenie źródeł informacji 4. Niepewność danych 5. Automatyczna reakacja 6. Ciągłość w wykonywaniu kwerend 7. Nowy atrybut - czas
Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte Timestamp Implicit timestamp Numer dodawany do każdej krotki informacji przybywającej w strumieniu przez system zarządzania bazą. Może to być numer sekwencyjny oznaczający kolejno odczytywane krotki. Explicit timestamp Własność strumienia informacji. W tym przypadku atrybut timestamp oznacza rzeczywisty czas odczytania informacji.
Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte Okna Okna fizyczne Podział danych oparty na czasie ich przychodzenia. Okna logiczne Okno zawiera z góry określoną liczbę krotek. Sliding windows Rozmiar okna pozostaje stały, zmianie ulega początek i koniec okna. Landmark windows Okna, w których jeden koniec pozostaje ustalony, a drugi przesuwa się.
Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte Ograniczenia implementacyjne Bezstanowość Brak możliwości implementacji operacji stanowych uniemożliwia np. wykonanie rzutowania lub selekcji z eliminacją duplikatów, czy grupowania danych. Brak blokad Brak blokad uniemożliwia prostą implementację operacji agregujących. Działanie w czasie rzeczywistym Ze względu na konieczność ciągłego działania, automatycznej reakcji i ilości przetwarzanych danych nie jest możliwe wielokrotne przeglądanie danych.
Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte Mierniki jakości DSMS Czas odpowiedzi Jest to czas oczekiwania na wykonanie kwerendy. Dokładność W przypadku, gdy w strumieniu informacji znajduje się zbyt wiele danych, których system nie jest w stanie przetworzyć, dopuszczamy odpowiedzi przybliżone. Wówczas można zapytać o dokładność obliczeń na zadanym strumieniu danych. Skalowalność Skalowalność określa jak wiele zasobów potrzebuje system, by z zadaną dokładnością i zadanym czasem odpowiedzi wykonać daną kwerendę na określonym strumieniu informacji.
Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte Prototypowe DSMS 1. Aurora (2002) 2. COUGAR 3. Gigascope 4. Hancock 5. NiagaraCQ 6. StatStream 7. STREAM 8. TelegraphCQ 9. Tapestry
Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte Problemy otwarte 1. Klastrowanie w strumieniu danych 2. Klasyfikacja w strumieniu danych 3. Poszukiwanie wzorca w strumieniu danych 4. Wykrywanie zmiany w strumieniu danych 5. Obliczenia na danych strumieniowych z wykorzystaniem techniki przesuwających się okien 6. Indeksowanie w strumieniach danych
WARSET Zasady funkcjonowania GPW Aplikacja Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte WARSET Zasady funkcjonowania GPW Aplikacja
WARSET Zasady funkcjonowania GPW Aplikacja WARsaw Stock Exchange Trading System system informatyczny, obsługujący Giełdę Papierów Wartościowych w Warszawie, opracowany przez firmę Hewlett-Packard i działa nieprzerwanie od 17 listopada 2000 roku, początkowo przetwarzał maksymalnie 40 zleceń na sekundę, od czerwca 2007, dzięki wymianie głównego komputera - Tandem firmy Compaq na HP Integrity NonStop NS16000, limit ten został zwiększony do 180 zleceń na sekundę, podobny sprzęt i oprogramowanie jest wykorzystywane przez inne giełdy na świecie (m.in. w Nowym Jorku, Toronto, Paryżu, Brukseli, Amsterdamie).
WARSET Zasady funkcjonowania GPW Aplikacja WARsaw Stock Exchange Trading System Rysunek: Schemat systemu WARSET
WARSET Zasady funkcjonowania GPW Aplikacja Zasady funkcjonowania GPW Giełda jest miejscem, gdzie spotyka się podaż z popytem, czyli sprzedający z kupującym. Na giełdach papierów wartościowych handluje się: Inwestorzy przekazują zlecenia kupna lub sprzedaży instrumentów finansowych do giełdy papierów wartościowych za pośrednictwem biur maklerskich.
WARSET Zasady funkcjonowania GPW Aplikacja Zasady funkcjonowania GPW Giełda jest miejscem, gdzie spotyka się podaż z popytem, czyli sprzedający z kupującym. Na giełdach papierów wartościowych handluje się: akcjami, Inwestorzy przekazują zlecenia kupna lub sprzedaży instrumentów finansowych do giełdy papierów wartościowych za pośrednictwem biur maklerskich.
WARSET Zasady funkcjonowania GPW Aplikacja Zasady funkcjonowania GPW Giełda jest miejscem, gdzie spotyka się podaż z popytem, czyli sprzedający z kupującym. Na giełdach papierów wartościowych handluje się: akcjami, obligacjami, Inwestorzy przekazują zlecenia kupna lub sprzedaży instrumentów finansowych do giełdy papierów wartościowych za pośrednictwem biur maklerskich.
WARSET Zasady funkcjonowania GPW Aplikacja Zasady funkcjonowania GPW Giełda jest miejscem, gdzie spotyka się podaż z popytem, czyli sprzedający z kupującym. Na giełdach papierów wartościowych handluje się: akcjami, obligacjami, kontraktami terminowymi, Inwestorzy przekazują zlecenia kupna lub sprzedaży instrumentów finansowych do giełdy papierów wartościowych za pośrednictwem biur maklerskich.
WARSET Zasady funkcjonowania GPW Aplikacja Zasady funkcjonowania GPW Giełda jest miejscem, gdzie spotyka się podaż z popytem, czyli sprzedający z kupującym. Na giełdach papierów wartościowych handluje się: akcjami, obligacjami, kontraktami terminowymi, opcjami. Inwestorzy przekazują zlecenia kupna lub sprzedaży instrumentów finansowych do giełdy papierów wartościowych za pośrednictwem biur maklerskich.
WARSET Zasady funkcjonowania GPW Aplikacja Systemy notowań Na GPW instrumenty finansowe mogą być notowane na jednym z dwóch systemów notowań: 1. systemie notowań jednolitych 2. systemie notowań ciągłych Decyzje o tym, w jakim systemie są notowane poszczególne instrumenty finansowe podejmuje Zarząd Giełdy na podstawie analizy płynności danego instrumentu.
WARSET Zasady funkcjonowania GPW Aplikacja Priorytety ceny i czasu Wszystkie zlecenia są realizowane przy zachowaniu dwóch priorytetów: 1. Priorytet ceny Zlecenia kupna z wyższym kursem realizowane są przed zleceniami kupna z niższym kursem. Zlecenia sprzedaży z niższym kursem realizowane są przed zleceniami sprzedaży z wyższym kursem. 2. Priorytet czasu W przypadku, gdy dwa złożone zlecenia mają taki sam kurs, jako pierwsze jest realizowane to zlecenie, które zostało złożone wcześniej.
WARSET Zasady funkcjonowania GPW Aplikacja Składowe zlecenia 1. rodzaj oferty (kupno/sprzedaż) 2. limit ceny (lub informacje o jego braku) 3. termin ważności zlecenia 4. nazwę instrumentu finansowego, który chce kupić/sprzedać 5. wolumen, czyli liczbę papierów wartościowych 6. ewentualne, dodatkowe warunki zlecenia
WARSET Zasady funkcjonowania GPW Aplikacja Najważniejsze cechy Aplikacji innowacyjność Aplikacja jest pierwszą strumieniową aplikacją przetwarzającą dane giełdowe. efektywność Dzięki zastosowaniu specjalnych struktur danych do gromadzenia zleceń zminimalizowano złożoność obliczeniową wykonywanych instrukcji. połączenie z dodatkową bazą danych Aplikacja symuluje system notowań GPW na dwa sposoby: z wykorzystaniem dedykowanych struktur danych, z wykorzystaniem zewnętrznej strumieniowej bazy danych.
WARSET Zasady funkcjonowania GPW Aplikacja Funkcjonalności Aplikacji Generator zleceń Symulacja w jednym z dwóch trybów (dedykowanym lub strumieniowym) Analiza regresji
Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte WARSET Zasady funkcjonowania GPW Aplikacja
Wykres ramkowy Agenda Rysunek: Przykładowy wykres ramkowy
Analiza regresji Agenda Celem analizy regresji było znalezienie liniowej zależności czasu obsługi puli zleceń od ilości zleceń (przy różnych parametryzacjach pozostałych czynników): czas.obslugi = b 0 + b 1 liczba.zlecen Współczynnik b 1 nasi nazwę współczynnika kierunkowego, współczynnik b 0 wyrazu wolnego.
Analiza regresji Agenda Jeśli przyjmiemy, że prosta regresji ma postać y = b 0 + b 1 x, wartość y i = b 0 + b 1 x i można interpretować jako wartość y przewidywaną na podstawie rozpatrywanej prostej dla wartości zmiennej objaśniającej x równej x i. Błąd oszacowania, czyli tzw. wartość resztowa lub rezyduum wynosi y i y i.
Analiza regresji Agenda Chcielibyśmy, aby wszystkie wartości rezyduów były jak najmniejsze, co nie jest niestety w praktyce możliwe. W metodzie najmniejszych kwadratów minimalizuje się sumę kwadratów wartości wszystkich odchyleń, czyli rezyduów n (y i y i ) 2 = i=1 n (y i (b 0 + b 1 x i )) 2 i=1 Metodę tę zastosował po raz pierwszy F. Gauss przy analizie danych astronomicznych.
Analiza regresji Agenda Prostą regresji opartą na metodzie najmniejszych kwadratów nazywa się w skrócie prostą regresji MNK lub prostą MNK. Wartości współczynników b 0 i b 1 prostej MNK wynoszą: gdzie: x = 1 n ni=1 x i y = 1 n ni=1 y i b 0 = y b 1 x ni=1 (x i xy i ) b 1 = ni=1 (x i x) 2
Analiza regresji Agenda W celu oceny dobroci dopasowania prostej MNK oblicza się współczynnik SST (ang. total sum of squares): SST = n (y i y) 2 Okazuje się, że zmienność opisana przez SST jest sumą dwóch składników, które też mają interpretację zmienności: SST = n (y i y) 2 = i=1 i=1 n (y i y i ) 2 + i=1 n (y i y) 2 = SSE + SSR Pierwszy ze składników nazywany jest sumą kwadratów błędów (ang. error sum of squares), drugi - regresyjną sumą kwadratów (ang. regression sum of squares). i=1
Analiza regresji Agenda Stosunek SSR/SST = 1 - SSE/SST zwany współczynnikiem determinacji (dopasowania) określa stopień, w jakim zależność liniowa między zmienną objaśnianą a objaśniającą tłumaczy zmienność wykresu rozproszenia.
Analiza regresji Agenda Okazuje się, że wartość współczynnika determinacji (dopasowania) jest ściśle związana z wartością współczynnika korelacji próbkowej R: R 2 = SSR/SST = zmienność wyjaśniana przez model zmienność całkowita Wartość R 2 stanowi bardziej adekwatny wskaźnik stopnia zależności liniowej niż sama wartość współczynnika korelacji próbkowej R.
Celem analizy regresji liniowej jest znalezienie funkcji, która opisuje zależność cechy objaśnianej od cech objaśniających. Podobnie jak w przypadku jednej zmiennej objaśniającej, odpowiedniej funkcji poszukuje się minimalizując sumę kwadratów błędów predykcji. W bieżącym podrozdziale estymujemy współczynniki funkcji: czas.obslugi = b 0 + b 1 liczba.akacji + b 2 zapelnienie.bufora + b 3 stosunek.k.s
Podczas analizy regresji wielokrotnej sprawdzono każdy z 14 możliwych modeli: czas.obslugi czas.obslugi czas.obslugi czas.obslugi czas.obslugi czas.obslugi czas.obslugi liczba.akcji + zapelnienie.bufora + stosunek.k.s liczba.akcji + zapelnienie.bufora liczba.akcji + stosunek.k.s zapelnienie.bufora + stosunek.k.s liczba.akcji zapelnienie.bufora stosunek.k.s analogiczne modele dla log.czas.obslugi.
Najlepszy współczynnik dopasowania otrzymano dla modelu: log(czas.obslugi) = b 0 + b 1 liczba.akacji + b 2 zapelnienie.bufora + b 3 stosunek.k.s
Test Wilcoxona Agenda Średni czas obsługi puli 1000 zleceń dla systemu dedykowanego wynosi ok 400 milisekund, podczas gdy dla strumieniowej bazy danych osiąga wartość 500 milisekund, co sugeruje większą efektywność rozwiązania dedykowanego. Jednakże, dla części obserwacji czas obsługi jest krótszy w przypadku połączenia z zewnętrzną bazą danych.
Test Wilcoxona Agenda W ramach testów porównawczych testowano hipotezę zerową: H 0 : µ D = µ S przeciwko hipotezie alternatywnej: H 1 : µ D < µ S gdzie: µ D - średni czas obsługi dla systemu dedykowanego µ S - średni czas obsługi dla komercyjnej, strumieniowej bazy danych
Test Wilcoxona Agenda Ze względu na brak założenia o normalności prób testowych, test Wilcoxona ma szerokie zastosowania. Jedynym założeniem jest symetryczność rozkładów (próby pochodzą z tych samych rozkładów przesuniętych względem siebie). Powyższy warunek spełniają wyniki symulacji oparte na systemie dedykowanym i strumieniowej bazie danych.
Pełna pula testowa Agenda Rysunek: Wykres rozproszenia i wykresy rezyduów dla standardowej parametryzacji
Pełna pula testowa Agenda Rysunek: Wydruk z pakietu R z wynikami analizy regresji dla standardowej parametryzacji
Liczba instrumentów Agenda Rysunek: Wykresy rozproszenia i wykresy rezyduów dla zmiennej liczby instrumentów
Liczba instrumentów Agenda Rysunek: Diagramy ramkowe dla zmiennej liczby instrumentów
Zróżnicowanie typów zleceń Rysunek: Wykresy rozproszenia i wykresy rezyduów dla zmiennego zróżnicowania typów zleceń
Zróżnicowanie typów zleceń Rysunek: Diagramy ramkowe dla zmiennego zróżnicowania typów zleceń
Zapełnienie bufora zleceń Rysunek: Wykresy rozproszenia i wykresy rezyduów dla zmiennego zapełnienia bufora
Zapełnienie bufora zleceń Rysunek: Diagramy ramkowe dla zmiennego zapełnienia bufora
System dedykowany Agenda Rysunek: Wykresy rozproszenia i wykresy rezyduów dla modelu systemu dedykowanego
System dedykowany Agenda Rysunek: Wydruk z pakietu R z wynikami analizy regresji dla modelu systemu dedykowanego
System dedykowany Agenda logczas liczba akcji zapelnienie bufora stosunek K:S logczas 1.00 0.27 0.20-0.17 liczba akcji 0.27 1.00 0.00 0.00 zapełnienie bufora 0.20 0.00 1.00 0.00 stosunek K:S -0.17 0.00 0.00 1.00 Tabela: Współczynniki korelacji dla modelu systemu dedykowanego
Zewnętrzna bazy danych Rysunek: Wykresy rozproszenia i wykresy rezyduów dla modelu systemu strumieniowego
Zewnętrzna bazy danych Rysunek: Wydruk z pakietu R z wynikami analizy regresji dla modelu systemu strumieniowego
Zewnętrzna bazy danych logczas liczba akcji zapelnienie bufora stosunek K:S logczas 1.00 0.28 0.57 0.14 liczba akcji 0.28 1.00 0.00 0.00 zapełnienie bufora 0.57 0.00 1.00 0.00 stosunek K:S 0.14 0.00 0.00 1.00 Tabela: Współczynniki korelacji dla modelu systemu strumieniowego
Pełna pula testowa Agenda Rysunek: Wydruk z R z wynikami testu Wilcoxona dla pełnej puli danych
Pełna pula testowa Agenda Rysunek: Diagram ramkowy różnicy czasu obsługi dla pełnej puli danych
Liczba instrumentów Agenda Rysunek: Wydruk z R z wynikami testu Wilcoxona dla zmienniej liczby akcji
Liczba instrumentów Agenda Rysunek: Diagram ramkowy różnicy czasu obsługi dla zmienniej liczby akcji
Zróżnicowanie typów zleceń Rysunek: Wydruk z R z wynikami testu Wilcoxona dla zmiennego zróżnicowania typów zleceń
Zróżnicowanie typów zleceń Rysunek: Diagram ramkowy różnicy czasu obsługi dla zmiennego zróżnicowania typów zleceń
Zapełnienie bufora zleceń Rysunek: Wydruk z R z wynikami testu Wilcoxona dla zmiennego zapełnienia bufora
Zapełnienie bufora zleceń Rysunek: Diagram ramkowy różnicy czasu obsługi dla zmiennego zapełnienia bufora
Koniec Agenda Dziękuje za uwagę.