H-Adviser. Hybrydowy system wspomagania decyzji inwestycyjnych

Podobne dokumenty
S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Co to jest grupowanie

Obliczenia inteligentne Zadanie 4

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

System transakcyjny oparty na średnich ruchomych. ś h = gdzie, C cena danego okresu, n liczba okresów uwzględnianych przy kalkulacji.

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Wybrane metody oceny ryzyka w AT i performance. Krzysztof Borowski KBC Securities

Instrukcja użytkownika

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

Lekcja 5: Sieć Kohonena i sieć ART

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

ROC Rate of Charge. gdzie ROC wskaźnik szybkości zmiany w okresie n, x n - cena akcji na n-tej sesji,

Modelowanie glikemii w procesie insulinoterapii

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

Systemy uczące się wykład 2

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Pierwsze kroki w mforex Trader Instrukcja

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Aplikacja do podpisu cyfrowego npodpis

Synchronizator plików (SSC) - dokumentacja

Nowe notowania epromak Professional

Instrukcja obsługi programu Do-Exp

ALGORYTM RANDOM FOREST

Wysyłka wniosko w ZUS - EKS. Instrukcja użytkownika aplikacji Wysyłka wniosków ZUS EKS

Instrukcja Użytkownika (Nauczyciel Akademicki) Akademickiego Systemu Archiwizacji Prac

Jak utworzyć raport kasowy?

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Metody eksploracji danych w odkrywaniu wiedzy (MED) projekt, dokumentacja końcowa

Podstawy inwestowania na rynku Forex, rynku towarowym oraz kontraktów CFD

Dokumentacja Końcowa

Silent setup SAS Enterprise Guide (v 3.x)

Nowe notowania epromak Professional

System imed24 Instrukcja Moduł Analizy i raporty

Skrócona instrukcja obsługi programu EndymionKOL

Uczenie sieci typu MLP

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Uniwersytet Ekonomiczny we Wrocławiu Wydział Zarządzania, Informatyki i Finansów. Krzysztof Drelczuk. Praca magisterska

Instrukcja użytkownika WYKŁADOWCY AKADEMICKIEGO SYSTEMU ARCHIWIZACJI PRAC

Jak nadać dokumentowi żądany numer?

Algorytm grupowania danych typu kwantyzacji wektorów

Bioinformatyka. Program UGENE

Programy LeftHand - Obsługa plików JPK. Wrzesień 2016

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

Instrukcja użytkownika NAUCZYCIELA AKADEMICKIEGO SYSTEMU ARCHIWIZACJI PRAC

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

ING BusinessOnLine FAQ. systemu bankowości internetowej dla firm

Projekt Sieci neuronowe

Wprowadzenie. SOM jest skrótem od Self Organizing Maps, czyli Samoorganizujące się mapy.

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Transformacja współrzędnych geodezyjnych mapy w programie GEOPLAN

1. Pobieranie i instalacja FotoSendera

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Manual konfiguracji aplikacji softphone dla usługi Biznes Pakiet

Sztuczna inteligencja

Opracowanie systemu monitorowania zmian cen na rynku nieruchomości

Spis treści. Wstęp. Pierwsze logowanie. Wygląd platformy po zalogowaniu. Składnianie zleceń. Widok nowego zlecenia na wykresie oraz w zakładce handel

Poradnik Inwestora część 3. Podstawy inwestowania na rynku Forex, rynku towarowym oraz kontraktach indeksowych

Testowanie modeli predykcyjnych

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change

Sieci Kohonena Grupowanie

Instrukcja obsługi systemu komputerowego Rejestru Świadectw Pochodzenia

Aplikacja kliencka na Tablety z systemem Android. Instrukcja instalacji

INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

UWAGA BARDZO WAŻNE PROSIMY O ZWRÓCENIE NA TO SZCZEGÓLNEJ UWAGI

Część 2. Teoretyczne i praktyczne aspekty wybranych metod analiz ilościowych w ekonomii i zarządzaniu

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

Metody sztucznej inteligencji Zadanie 3: (1) klasteryzacja samoorganizująca się mapa Kohonena, (2) aproksymacja sieć RBF.

MANUAL KOLEJKI OCZEKUJĄCYCH

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Algorytmy genetyczne w interpolacji wielomianowej

Instalacja i opis podstawowych funkcji programu Dev-C++

Aproksymacja funkcji a regresja symboliczna

Instrukcja użytkownika ARSoft-WZ3

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Aby uruchomić Multibooka, należy podłączyć nośnik USB do gniazda USB w komputerze, na którym program ma być używany.

Wprowadzenie do analizy dyskryminacyjnej

Sage Migrator 2018.c Migracja do wersji Sage Kadry i Płace 2018.b

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

Analiza zależności liniowych

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

Przewodnik instalacji i rozpoczynania pracy. dla DataPage+ 2012

1. Opis. 2. Wymagania sprzętowe:

Oprogramowanie Xesar V (opublikowano dnia ) 1 Sieć wirtualna Podłączenie maks. 14 czytników Xesar z modułem aktualizującym

Gdzie znaleźć aplikację

Optymalizacja optymalizacji

Instrukcja instalacji nos niko w USB w bankowos ci Alior Banku

Podstawowa instrukcja obsługi STRON stron internetowych serwisu zrealizowanych w systemie zarządzania treścią Wordpress.

Agnieszka Nowak Brzezińska

Opis modułu pl.id w programie Komornik SQL-VAT

Przypomnienie: Ćwiczenie 1.

Ewidencja Opłat za Korzystanie ze Środowiska

Site Installer v2.4.xx

Transkrypt:

H-Adviser Hybrydowy system wspomagania decyzji inwestycyjnych

Projekt H-ADVISER Dokument Autor Cel, założenia oraz obsługa hybrydowego systemu wspomagania decyzji inwestycyjny H-Adviser Krzysztof Drelczuk Data utworzenia 2008-09-22 Wersja Data Autor Opis 0.1 2008-09-22 Krzysztof Drelczuk Dotyczy wersji alpha 1.0

1. CEL PROGRAMU... 4 2. PODSTAWOWE ZAŁOŻENIA WYSZUKIWANIA WZORCÓW.... 4 3. APLIKACJA H-ADVISER... 6 3.1 ZAŁOŻENIA OGÓLNE... 6 3.2. DANE WEJŚCIOWE... 6 3.3. APLIKACJA H-ADVISER... 7 3.3.1. Obsługa podstawowa... 7 3.3.2. Gaz neuronowy... 8 3.3.3. Stop-loss/stop-gain... 9 3.3.4. Komunikaty systemu... 9

1. Cel programu. Program powstał, jako narzędzie do zweryfikowania następującej hipotezy: Finansowe szeregi czasowe posiadają charakterystyczne wzorce, po których następują wzrosty lub spadki ich wartości. W celu weryfikacji powyższej hipotezy został stworzony automatyczny system transakcyjny oparty na znalezionych wzorcach. Hipotezę uzna się za prawdziwą, gdy dla danego szeregu czasowego konsekwentne podążanie za sygnałami płynącymi z programu przyniesie stopę zwrotu większą niż strategia buy-and-hold. 2. Podstawowe założenia wyszukiwania wzorców. Do wyszukiwania wzorców w szeregach czasowych wykorzystano klasteryzację, (czyli bez wzorcową klasyfikację) szeregów czasowych. Klasyfikacja szeregów czasowych przyciąga uwagę coraz większej rzeszy naukowców i praktyków. Szczególnie widoczne jest to przy przetwarzaniu długich szeregów czasowych jakie występują na przykład w bioinformatyce czy też w sferze finansowej. Klasteryzacja jest jedną z najczęściej używanych technik pozyskiwania informacji z dużej ilości danych, o których charakterze ze względu na bardzo dużą wielowymiarowość mamy nie wielkie pojęcie. Podstawowym celem klasteryzacji jest transformacja danych źródłowych do postaci bardziej kompaktowej, która jest w stanie w pełni je odzwierciedlić. Polega na podziale zbioru danych na odpowiednie klasy abstrakcji, czyli mniejsze podgrupy, gdzie elementy danego klastra są podobne do siebie a mocno odmienne od innych. Rozwój technologii informatycznej w ostatnich latach spowodował duży postęp w wykorzystywaniu narzędzi sztucznej inteligencji w metodach pozyskiwania wiedzy z dużych wielowymiarowych struktur danych. Problem klasteryzacji jest złożoność obliczeniowa. Jest ona równoważna z optymalizacją globalną nieliniowych funkcji wielomodalnych tak więc zalicza się do problemów NP-trudnych. Pomimo tego metody eksploracji danych finansowych mające na celu predykcje czy też klasyfikacje potrafią osiągać bardzo dużą skuteczność mierzoną tak w wskaźnikach statystycznych jak i realnych korzyściach

ekonomicznych. Teoria błądzenia losowego rynków finansowych, która przekreślałaby skuteczność powyższej analizy szeregów czasowych również była i jest szeroko dyskutowana w wielu pracach. Jednakże w większości przypadku nie dało się jednoznacznie dowieść hipotezy o słabej efektywności rynku według Famy. W szczególności nie udało się tego ustalić dla polskich rynków kapitałowych. Problem postawiony w celu weryfikacji przez system H-Adviser brzmi: Czy można tak podzielić szeregi czasowe, aby jeden klaster zawierał te, które w przyszłości wykażą tendencje wzrostowe, a drugi tendencje zniżkowe? Jednym z kluczowych problemów podczas procesu klasteryzacji jest wielowymiarowość danych wejściowych. Przestrzeń rozwiązań, którą system będzie dzielić na klastry ma taką wymiarowość jak wektory do niej wprowadzane. W przypadku gdy będą brane dane z sześćdziesięciu (dane z jednej minuty w odstępach jednosekundowych) ostatnich obserwacji, przestrzeń jaką będzie musiał podzielić będzie przestrzenią 60-wymiarową. Klasyfikacja polega na przypisywaniu elementów do odpowiednich klastrów za pomocą z góry założonej normy (na przykład Euklidesowej). Przy dużej liczbie wymiarów różnica pomiędzy najbliższym i najdalszym sąsiadem staje się coraz mniej istotna, co znacznie utrudnia podział przestrzeni na znaczące klastry. W systemie H-Adviser zostawano falkową redukcję wymiarów. Dyskretna transformacja falkowa jest bardzo częstą techniką wykorzystywaną we wstępnej analizie danych. Dzięki niej można zarówno zredukować ilość wymiarów wektora wejściowego, do docelowego systemu analizującego dane (np. klasyfikującego albo predykcyjnego), jak i usunąć część informacji uznanych przez transformacje, jako szum lub redundancje danych, jednakże pozostawiając w sygnale informacje oryginalne (w sensie Shanon a). Do systemu wprowadzane są wektory utworzone na podstawie podłączonego strumienia danych za pomocą okien przesuwnych. Długość okna jest ustalona na 56 obserwacji. Do budowy systemu wspomagania decyzji na drodze eksperymentów został wybrany następujący model falkowej kompresji danych: wektor przekazany do systemu zostanie poddany dyskretnej transformacji wejściowej (DTF) za pomocą falki D2 w sposób następujący:

1. Pierwsze osiem elementów zostanie zredukowanych do dwóch; 2. Kolejne szesnaście elementów zostanie zredukowane do czterech; 3. Trzydzieści dwa następne elementy zostanie zredukowane do ośmiu. Uzyska się w ten sposób redukcję z przestrzeni 56-wymiarowej do 14-wymiarowej. 3. Aplikacja H-Adviser 3.1 Założenia ogólne H-Adviser został napisany w języku C# i działa na platformie.net. Została ona utworzona przez Microsoft i zapewnie niezależność kodu od systemu, na którym będzie on wykonywany. Uruchomienie jego wymaga jednak zainstalowania środowiska wykonawczego, które można pobrać bezpośrednio ze strony www.micriosoft.com (Microsoft.NET Framework Version 2.0 Redistributable Package Bezpośredni odnośnik: http://www.microsoft.com/downloads/details.aspx? FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en). W sytuacji, gdy używanym systemem jest MS Vista wtedy nie jest to koniecznie. System ten ma standartowo zainstalowane wyżej wymienione środowisko uruchomieniowe. Aplikacja jest wielojęzyczna. W tej chwili obsługiwane języki to: polski, francuski i angielski. 3.2. Dane wejściowe Dane wejściowe powinny być plikiem tekstowych o następującym formacie: <ticker>,<per>,<date>,<time>,<open>,<high>,<low>,<close>,<vol> WIG20_I,1,20030220,100100,1106.53,1106.53,1106.53,1106.53,0 WIG20_I,1,20030220,100200,1107.23,1107.34,1107.23,1107.34,0 WIG20_I,1,20030220,100300,1107.93,1107.93,1107.93,1107.93,0 WIG20_I,1,20030220,100400,1108.30,1108.30,1108.30,1108.30,0 WIG20_I,1,20030220,100500,1108.05,1108.90,1108.05,1108.90,0 WIG20_I,1,20030220,100600,1109.33,1109.91,1109.33,1109.91,0 WIG20_I,1,20030220,100700,1110.50,1110.50,1110.50,1110.50,0 WIG20_I,1,20030220,100800,1110.50,1110.50,1110.17,1110.17,0 WIG20_I,1,20030220,100900,1110.08,1110.08,1109.40,1109.40,0 WIG20_I,1,20030220,101000,1108.88,1108.88,1108.47,1108.47,0 Pierwsza kolumna <ticker> oznacza nazwę waloru, w tym przypadku indeks WIG 20. Kolumna <date> określa datę nadejścia tiku w formacie rrrr-mm-dd, natomiast kolumna <time> okręśla czas w formacie hhmmss. Kolejne cztery kolumny

określają odpowiednio cenę otwarcia, najwyższą i najwyższą w okresie agregacji czasowej oraz cenę zamknięcia. W przypadku minutowych danych tikowych wszystkie te wartości są równe. Ostatnia kolumna oznacza wolumen transakcji. 3.3. Aplikacja H-Adviser 3.3.1. Obsługa podstawowa 1 Start systemu aktywne po wczytaniu danych 2 Rozpoczęcie klasyfikacji od początku 3 Zatrzymanie klasyfikacji 4 Chwilowe wstrzymanie klasyfikacji 5 Wskaźnik postępu klasyfikacji dla szeregów czasowych wczytanych z pliku.

3.3.2. Gaz neuronowy Ilość wektorów uczących: nie istnieje idealna recepta na dobór tego parametru. Każdy neuron reprezentuje odpowiedni obszar w przestrzeni rozwiązań. Zbyt mała liczba będzie powodowała problem błędnej klasyfikacji wektorów, zbyt duża natomiast stworzy klasy bez reprezentantów, co spowoduje błędy przy uogólnianiu wiedzy. Ilość wektorów uczących: ilość wektorów, które będą przekazane do procesu uczenia. Współczynnik sąsiedztwa: Funkcja sąsiedztwa przyjmuje postać (3.3.2.a). Jako λ i oznaczone jest sąsiedztwo początkowe a jako λ f końcowe. Parametry t oznacza numer wykonywanej iteracji uczenia, natomiast t max jest ustaloną ilością iteracji. t λ t f max λ ( t) = λi (3.3.2.a) λi Przy λ = 0 mamy do czynienia z zerowym sąsiedztwem i regułą WTA (winner takes all). Przy λ > 0 są aktualizowane wagi wszystkich neuronów, (czyli również tych, które są dalekimi sąsiadami), lecz współczynnik uczenia odległych sąsiadów szybko dąży do zera. Jest to sytuacja podobna do tej, z jaką

mamy do czynienia w klasycznym algorytmie SOM z gaussowską funkcją sąsiedztwa. Współczynnik uczenia: na ogół przyjmuje się, że współczynnik ten maleje ze wzrostem numeru iteracji algorytmu od wartości początkowej ε i do końcowej ε f osiąganej w ostatnim przejściu. W systemie przyjmuje się że współczynnik ten maleje zgodnie z funkcją potęgową (3.3.2.b). t ε t f max ε ( t) = ε i, 3.3.2.b ε i Ilość iteracji: oznacza ile razy wektory kodowe będą wprowadzone do systemu. Promień podjęcia decyzji: jak blisko centrum klastra musi znaleźć się wektor, aby był do niego zaklasyfikowany. 3.3.3. Stop-loss/stop-gain Wartości stop są ustalane dynamicznie zgodnie z regułą trailing-stop. Edycja ich następuje poprzez podanie wartości procentowej (1=100%). 3.3.4. Komunikaty systemu Zapis systemu przechowuje informacje o zdarzeniach wygenerowanych przez moduł klasteryzujący. W tej wersji system komunikuje się za pomocą czterech komunikatów: 2008-05-30 17:53:14 > Otrzymano wartość: 12,25 Przygotowano wektor do wstępnej analizy: 12,3 12,3 12,3 12,3 12,25 12,25 12,25 12,25 12,2 12,2 12,2 12,25 12,2 12,2 12,2 12,2 12,25 12,25 12,25 12,25 12,25 12,25 12,2

12,25 12,25 12,25 12,25 12,25 12,25 12,25 12,25 12,3 12,25 12,25 12,25 12,25 12,25 12,25 12,25 12,25 12,25 12,25 12,25 12,25 12,2 12,25 12,2 12,25 12,2 12,2 12,2 12,25 12,25 12,3 12,25 12,25 Przygotowano wektor do klasyfikacji: 0,353-1 0,795-0,03 0,353 1 0,353 0,294 0,795-0,03 0,353 0,353 0,353 Wektor przyjęto (klasa: 0,39) Pierwsza linijka określa czas, w którym nadeszła wartość (składowana szeregu czasowego) oraz jej wielkość. Po uzyskaniu wystarczającej ilości danych tworzony jest wektor wejściowy i przekazywany jest on do wstępnej analizy danych, co prezentuje linia druga linia (z powodów edycyjnych w pracy została przedstawiona w siedmiu wierszach). Trzecie linijka (tutaj zapisana w trzech wierszach) przedstawia znormalizowany wektor po wstępnej analizie danych. Widać tutaj wyraźnie redukcje wymiarów wektora wejściowego. Ostatnia linia informuje, do jakiej klasy należy wektor oraz czy został on przyjęty czy odrzucony. System przyjmuje, iż dla wartości ujemnych wektor koduje wzorzec sprzedaży a dla wartości dodatnich kupno wzorzec kupna. Zapis transakcji przechowuje informacje o transakcjach hipotetycznie przeprowadzonych przez inwestora, który konsekwentnie podążałby za sygnałami systemu. Logi można zapisać do pliku tekstowego klikając na nim prawym klawiszem myszy i wybierając opcje Zapisz do pliku.