• Nie Znaleziono Wyników

Konstrukcja modeli decyzyjnych dla krótkoterminowych inwestycji walutowych przy zastosowaniu systemu neuroagentowego

N/A
N/A
Protected

Academic year: 2021

Share "Konstrukcja modeli decyzyjnych dla krótkoterminowych inwestycji walutowych przy zastosowaniu systemu neuroagentowego"

Copied!
14
0
0

Pełen tekst

(1)Zeszyty Naukowe nr. 770. Uniwersytetu Ekonomicznego w Krakowie. 2009. Janusz Morajda Katedra Informatyki. Konstrukcja modeli decyzyjnych dla krótkoterminowych inwestycji walutowych przy zastosowaniu systemu neuroagentowego Streszczenie. W artykule zaprezentowano koncepcję ewolucyjnie konstruowanego systemu złożonego z pojedynczych modeli neuronowych (systemu neuroagentowego), którego idea oparta jest na metodologii wywodzącej się z sieci neuronowych, algorytmów ewolucyjnych oraz systemów multiagentowych. Następnie zaprezentowano możliwości wykorzystania tego systemu w procesie wspomagania decyzji dla krótkoterminowych inwestycji walutowych. Badania przeprowadzono, opierając się na szeregu czasowym dziennych notowań euro w NBP. Słowa kluczowe: model decyzyjny, sieci neuronowe, systemy neuroagentowe, finansowe szeregi czasowe, inwestycje walutowe.. 1. Wstęp Problematyka wspomagania decyzji inwestycyjnych związanych z prowadzeniem operacji na współczesnych rynkach finansowych wymaga stosowania zaawansowanych technik komputerowych pozwalających na budowę efektywnych modeli decyzyjnych. Coraz częściej wykorzystywana jest w tego typu zagadnieniach metodologia opierająca się na różnych dziedzinach sztucznej inteligencji, takich jak sieci neuronowe (SN), algorytmy ewolucyjne, zbiory rozmyte czy systemy multiagentowe. Metody te stosowane są często jako narzędzia alternatywne lub uzupełniające w stosunku do klasycznych modeli ekonometrycznych. Zarówno przesłanki użycia metod sztucznej inteligencji na rynkach finansowych, jak i efekty ich praktycznego zastosowania zaprezentowano w licznych publikacjach.

(2) Janusz Morajda. 58. (zob. np. [Azoff 1994]), [Bauer 1994], [Lula 1999], [Morajda 2000], [Neural…, 1995], [Inteligentne systemy…, 2000]). Obecne tendencje badawcze zmierzają głównie w kierunku prób łączenia poszczególnych metod i konstruowania systemów hybrydowych, wykorzystujących potencjał wynikający ze współpracy poszczególnych narzędzi. Tego typu podejście zaprezentowano również w niniejszej pracy: zaproponowany tu wieloelementowy system, dla którego przyjęto nazwę „system neuroagentowy”, łączy w sobie koncepcje przetwarzania danych przez sieć neuronową, ideę współpracy agentów w systemie multiagentowym oraz optymalizację genetyczną. System ten zastosowano w zagadnieniu wspomagania krótkoterminowych decyzji inwestycyjnych dla waluty euro. 2. Koncepcja systemu neuroagentowego Poniżej zaprezentowano ideę systemu złożonego z dużej liczby elementarnych modeli, realizującego określone zadanie generowania decyzji. Przedstawiona koncepcja oparta została na modelach neuronowych, symulujących przetwarzanie informacji przez biologiczną komórkę nerwową i znajdujących zastosowanie do konstrukcji sztucznych sieci neuronowych. Nic nie stoi jednak na przeszkodzie, aby zamieszczone tu rozważania uogólnić na system złożony z dowolnych modeli matematycznych realizujących agregację sygnałów wejściowych i ich przetwarzanie w celu wygenerowania określonego sygnału wyjściowego (np. decyzji lub prognozy). W zaproponowanej metodzie modele są wzajemnie połączone tak, że tworzą jednokierunkowy1 system przepływu informacji (połączenia są tworzone w trakcie konstrukcji systemu na podstawie zbioru danych uczących, z wykorzystaniem metod ewolucyjnych opisanych w dalszej części pracy). Poszczególne modele, generując sygnały decyzyjne lub prognostyczne, są zatem od siebie wzajemnie zależne i poprzez istniejące połączenia przekazują sobie wzajemnie użyteczną informację. Z punktu widzenia teorii systemów multiagentowych2 stanowią więc właśnie taki system (por. [Ferber 1999], [Kisiel-Dorohinicki, Dobrowolski, Nawarecki 2003], 1   Możliwe jest uogólnienie metody na przypadek posiadający możliwość tworzenia sprzężeń zwrotnych (tzn. dwukierunkowego przepływu informacji – w przód i wstecz), nie będzie ono jednak tutaj rozważane i stanowić będzie przedmiot dalszych badań..   Z punktu widzenia systemów multiagentowych: – na system składa się stosunkowo liczny zbiór agentów (modeli) oraz podsystem zwany środowiskiem, – agenty realizują działania mające wpływ na zmianę stanu zainteresowanego agenta (np. ocenę efektywności jego funkcjonowania w zakresie generowania prawidłowych prognoz/decyzji), – agenty posiadają możliwości komunikacji (wymiany informacji, obserwacji działań) z innymi agentami, 2.

(3) Konstrukcja modeli decyzyjnych…. 59. (Intelligent…, 2001], [Jain, Chen, Ichalkaranje 2002], [Luck i in. 2001]). Jeżeli przy tym poszczególne modele (agenty) oparte są na sposobie przetwarzania informacji występującym w komórkach nerwowych (i ich modelach), całość można nazwać systemem neuroagentowym. System taki można też rozpatrywać jako specyficzną sieć neuronową (strukturę złożoną z wielu odpowiednio połączonych neuronów – agentów, nazywanych dalej neuroagentami), której architektura jest dynamicznie konstruowana poprzez dodawanie nowych neuroagentów i tworzeniu nowych połączeń pomiędzy nimi przy wykorzystaniu metod opierających się na algorytmach ewolucyjnych [Morajda 2002]. Należy przy tym podkreślić, że to system jako całość (podobnie jak sieć neuronowa) generuje ostateczne sygnały decyzyjne (lub prognostyczne), chociaż sygnały te mogą pojawiać się na wyjściach różnych (nie wyznaczonych a priori) neuroagentów. Tego typu systemy mogą stanowić podejście alternatywne (konkurencyjne) w stosunku do klasycznych sieci neuronowych uczonych np. metodą wstecznej propagacji błędu. Zaprezentowany tutaj system neuroagentowy jako całość realizuje proces przetwarzania danych analogiczny do tego, który ma miejsce w klasycznych jednokierunkowych sieciach neuronowych typu perceptron, pojawiają się jednak w stosunku do perceptronowych sieci neuronowych (SN) pewne zasadnicze różnice. Podstawowe założenia koncepcji systemu neuroagentowego: 1) model neuronu (agenta) – klasyczny, bazujący na strukturze sztucznego neuronu zaproponowanej przez McCullocha i Pittsa, jako funkcję aktywacji neuronu przyjęto tutaj funkcję tangens hiperboliczny; 2) przetwarzanie strumienia informacji – jednokierunkowe; przepływ informacji zaczyna się od elementów wejściowych (por. rys. 1), których zadaniem jest wyłącznie dostarczenie wzorca wejściowego i jego dystrybucja w systemie (elementy te nie przetwarzają danych i pełnią rolę analogiczną do neuronów warstwy wejściowej w klasycznej sieci neuronowej); 3) akumulacja wiedzy w systemie odbywa się w procesie tworzenia połączeń pomiędzy neuroagentami oraz przyporządkowywania tym połączeniom określonych współczynników wagowych 3. Wartości współczynników wagowych są determinowane tylko raz w chwili generowania związanego z nimi neuroagenta i nie podlegają dalszym modyfikacjom, chociaż można też rozważyć (nie uwzględnioną tutaj) możliwość ich późniejszego dostrojenia przy wykorzystaniu metod gradientowych analogicznych do procedur uczenia klasycznych SN. Połączenia pomiędzy neuroagentami i ich współczynniki wagowe są wyznaczane z wykorzystaniem specyficznego algorytmu ewolucyjnego, który z kolei – agenty, postrzegane jako „czarne skrzynki”, wykazują cechy inteligentnych zachowań (np. zdolność prognozowania)..   Metoda wyznaczania współczynników wagowych określona jest w podanym dalej algorytmie konstrukcji systemu (zob. krok 1 i krok 6 algorytmu). 3.

(4) Janusz Morajda. 60. wykorzystuje dane zawarte w zbiorze uczącym, zawierającym zestaw przykładów (wzorców) uczących, opisujących poszczególne przypadki analizowanego zjawiska. Zgromadzona w systemie wiedza pochodzi więc de facto ze zbioru uczącego. Należy jednak podkreślić, że nie zachodzi tu proces uczenia stosowany w klasycznych sieciach neuronowych; 4) struktura systemu neuroagentowego – neuroagenty w systemie uporządkowane są według architektury warstwowej: obejmuje ona warstwę tzw. bazową, zawierającą uporządkowany zbiór neuroagentów kolejno generowanych jeszcze bez wykorzystania metod ewolucyjnych oraz pewną liczbę warstw „roboczych”, które można traktować jako kolejne populacje neuroagentów tworzonych jedna po drugiej w wyniku realizacji określonego algorytmu ewolucyjnego służącego do konstrukcji systemu. Połączenia między generowanym kolejno przez algorytm neuroagentem, a już istniejącymi w systemie neuroagentami nie są znane a priori, są natomiast determinowane przez operator genetycznej selekcji (określony w algorytmie ewolucyjnym) w chwili tworzenia danego neuroagenta. Warto podkreślić, że liczba funkcjonujących w systemie elementów (neuroagentów) jest znacznie większa niż liczba neuronów w typowej SN; 5) procedura konstrukcji systemu neuroagentowego jest następująca: najpierw tworzona jest warstwa bazowa zawierająca losowo wyznaczone wartości wag połączeń pomiędzy danym neuroagentem a poprzednimi (wcześniej utworzonymi) elementami w tej warstwie. Kolejne warstwy (zawierające zadaną liczbę neuroagentów) są tworzone kolejno jedna po drugiej przy zastosowaniu algorytmu ewolucyjnego do tworzenia połączeń i wyznaczania wag, wykorzystującego informacje zawarte w zbiorze uczącym. W chwili tworzenia danego neuroagenta z określonej warstwy, zostaje on połączony z pewną zadaną liczbą najbardziej efektywnych neuroagentów należących do warstw poprzednich. Z kolei ów utworzony nowy neuroagent zostaje poddawany ocenie efektywności według przyjętego kryterium dokładności prognoz lub trafności decyzji. Ocena ta jest dokonywana na podstawie wszystkich wzorców ze zbioru uczącego (lub walidacyjnego); 6) kryterium oceny neuroagenta – nie ma konieczności wykorzystania funkcji błędu (jak to ma miejsce w klasycznych SN), można zastosować dowolne kryterium oparte na głównym celu, dla którego system jest stworzony, np. jeśli system będzie użyty do wspomagania decyzji inwestycyjnych na rynku finansowym, celem tym może być maksymalizacja stopy zysku SZ (wzór (1)) uzyskanej w okresie inwestycji jako efekt wykorzystania strategii opartej na sygnałach decyzyjnych systemu, wygenerowanych przez danego neuroagenta;. SZ =. Kk − K p Kp. . (1).

(5) Konstrukcja modeli decyzyjnych…. 61. gdzie: Kp – stan aktywów na początku okresu inwestycji, Kk – stan aktywów na końcu okresu inwestycji. Jako cel funkcjonowania systemu (miarę efektywności) można też przyjąć dowolny inny (wybrany przez inwestora) wskaźnik finansowy, uwzględniający zarówno zysk, jak i ryzyko (np. wskaźnika Sharpe’a); 7) wyjście systemu neuroagentowego nie jest określone a priori (jak to ma miejsce dla sieci neuronowych) – każdy element systemu (neuroagent) realizuje jednocześnie przetwarzanie danych i generuje potencjalne sygnały wyjściowe (decyzyjne lub predykcyjne); jednakże w chwili, gdy konstrukcja systemu zostanie zakończona, jako sygnały wyjściowe całego systemu przyjmowane są sygnały pochodzące od najlepszych (najlepiej ocenionych) neuroagentów; 8) możliwość rozbudowy i dynamicznej rekonfiguracji systemu oraz zmiany elementów wyjściowych istnieje4, gdy do systemu napływają nowe wzorce pochodzące z modelowanego obiektu (np. rynku finansowego). W takiej sytuacji wartości oceny efektywności poszczególnych neuroagentów mogą się dynamicznie zmieniać, mogą też być tworzone nowe elementy systemu (neuroagenty), przy jednoczesnej eliminacji elementów bezużytecznych. Zmianom mogą też wówczas podlegać punkty wyjścia całego systemu.. Wejście. …. …. …. Rys. 1. Struktura systemu neuroagentowego Źródło: opracowanie własne..   W niniejszym opracowaniu opcji tej nie uwzględniono, stanowić będzie ona jeden z kierunków dalszych badań. 4.

(6) 62. Janusz Morajda. Struktura zaproponowanego systemu neuroagentowego została zobrazowana na rys. 1. W lewej części diagramu widoczna jest warstwa podstawowa, zawierająca elementy wejściowe i pewną liczbę neuroagentów kolejno przetwarzających informacje. Kolejne warstwy położone na prawo to warstwy „ewolucyjne” zawierające neuroagenty, dla których połączenia odbierające informacje są determinowane przez algorytm ewolucyjny. Przepływ strumienia informacji (strzałki pogrubione) zaczyna się od elementów wejściowych, przebiega w dół wzdłuż warstwy podstawowej, a następnie w prawo poprzez kolejne warstwy „ewolucyjne”. Strzałki cienkie pokazują przykładowe połączenia neuroagentów. Ponizej przedstawiono formalny algorytm konstrukcji i funkcjonowania tego systemu. Niech j oznacza numer aktualnie rozważanego neuroagenta w systemie, zaś l(j) – numer warstwy, w której element j jest zlokalizowany. Ponadto oznaczmy parametry algorytmu konstrukcji systemu w sposób następujący: I – liczba wejść; elementy wejściowe j = 1, 2, …, I należą do warstwy podstawowej (bazowej), tzn. warstwy o numerze 1 (na rys. 1 elementy te objęto klamrą opisaną „wejście”), L – liczba wszystkich elementów w warstwie podstawowej (bazowej), v – rozmiar okna połączeń w warstwie podstawowej, b – liczba neuroagentów wybranych przez operator selekcji algorytmu ewolucyjnego (spośród najlepiej ocenionych do danej chwili elementów systemu), t – liczba połączeń (stała), którymi napływają informacje do danego neuroagenta położonego w warstwie „ewolucyjnej” (o numerze 2, 3, …), m – liczba elementów w każdej z warstw „ewolucyjnych”, N – liczba wszystkich elementów w systemie. Algorytm konstrukcji systemu neuroagentowego składa się z następujących kroków: Krok 1. Dla każdego elementu j w warstwie podstawowej (kolejno dla j = I + 1, …, L): – utwórz połączenia elementu j z poprzedzającymi v elementami (j – 1, …, j – v), albo z elementami j – 1, j – 2, …, 1, jeżeli j – v < 1, – wyznacz dla tych połączeń współczynniki wagowe jako liczby losowe z przyjętego przedziału [–a, a] (gdzie a > 0), a następnie przeskaluj wszystkie wagi proporcjonalnie (analizując zbiór uczący) tak, aby obszar roboczy dla funkcji aktywacji w modelu neuronu zlokalizowany był w pobliżu wartości 0,5 i –0,5 (dla funkcji typu tangens hiperboliczny); taka operacja zapobiega występowaniu zjawiska zanikania albo nadmiernego narastania sygnałów pomiędzy neuroagentami. Krok 2. Dokonaj oceny efektywności (poprawności prognoz/decyzji) wszystkich elementów w warstwie podstawowej (j = I + 1, …, L) według przyjętego kryterium (np. określonego wzorem 1), a następnie dokonaj podstawień: j ← L + 1 , l(j) ← 2.

(7) Konstrukcja modeli decyzyjnych…. 63. Krok 3. Znajdź zbiór B złożony z b najlepiej ocenionych neuroagentów w warstwach 1, …, l(j) – 1 Krok 4. Dokonaj probabilistycznej selekcji t elementów ze zbioru B, wykorzystując regułę ruletki (tzn. metody, w której prawdopodobieństwo wyboru jest proporcjonalne do miary oceny efektywności elementu); taka procedura jest ekwiwalentna z klasycznym operatorem selekcji w algorytmach genetycznych. Krok 5. Utwórz kolejnego neuroagenta j, umieszczając go w warstwie l(j) i wygeneruj dla niego połączenia z t neuroagentami wyselekcjonowanymi w kroku 4. Taka procedura jest ekwiwalentna z genetycznym operatorem krzyżowania (z liczbą t „rodziców”), gdyż można przyjąć, że t neuroagentów tworzy element j i przekazuje mu swoje informacje (sygnały). Krok 6. Ustal współczynniki wagowe dla utworzonych połączeń jako liczby dodatnie o wartościach wprost proporcjonalnych do miar oceny efektywności poszczególnych wybranych t elementów. Następnie przeskaluj wszystkie wagi analogicznie jak w kroku 1. Należy zauważyć, że ponieważ oceny efektywności wybranych do utworzenia połączeń t elementów oparte są na danych uczących, więc wygenerowane wartości wag tych połączeń również zależą od tych danych i w efekcie służą do kodowania wiedzy pochodzącej z przykładów (wzorców) zawartych w ciągu uczącym. Krok 7. Dokonaj oceny efektywności neuroagenta j, stosując przyjęte kryterium efektywności (w zastosowaniach finansowych por. wzór (1)). Krok 8. Podstaw j ← j + 1 , jeżeli ((j – L) mod m) = 1 to l(j) ← l(j) + 1. Krok 9. Jeżeli j > N, to wybierz wyjścia systemu jako wyjścia najlepiej ocenionych neuroagentów w całym systemie i STOP, w przeciwnym wypadku przejdź do kroku 3. Na rys. 2 zademonstrowano zasadę generowania połączeń tworzonego neuroagenta z elementami wyselekcjonowanymi (z zastosowaniem przyjętego kryterium efektywności) przez operator selekcji algorytmu ewolucyjnego. Elementy wypełnione (szarość lub czerń) należą do zbioru B (krok 3), jednak w wyniku procedury selekcji (krok 4), ze zbioru B wybrano jedynie t elementów (zaczernione), z którymi zostaje połączony wygenerowany neuroagent. Chociaż podanie formalnego dowodu zbieżności zaprezentowanego algorytmu jest trudne (o ile w ogóle możliwe) i z pewnością wykracza poza ramy niniejszego opracowania, łatwo można podać intuicyjne uzasadnienie faktu, że algorytm jest zbieżny do optymalnego (a przynajmniej do suboptymalnego) rozwiązania. Po pierwsze należy zauważyć, że utworzenie (według podanych reguł) nowego neuroagenta na pewno nie pogorszy efektywności całego systemu, gdyż istniejące neuroagenty nie są eliminowane i w „najgorszym” wypadku zbiór B najlepiej ocenionych elementów pozostanie bez zmian. Nowo generowany neuroagent, otrzymując poprzez utworzone ważone połączenia zagregowaną wiedzę (w postaci.

(8) Janusz Morajda. 64. sygnałów decyzyjnych) od grupy B najlepiej dotychczas ocenianych elementów systemu, będzie w ujęciu przeciętnym funkcjonować lepiej niż przeciętny element z grupy B. Tworząc w ten sposób dużą liczbę (nową warstwę) nowych neuroagentów, otrzymamy w niej (podobnie jak w klasycznym algorytmie genetycznym) pewną liczbę ponadprzeciętnie efektywnych elementów (lepiej ocenionych niż najlepsze dotychczas utworzone neuroagenty), które z kolei wejdą w skład nowego zbioru B.. Rys. 2. Tworzenie połączeń dla nowego neuroagenta (kroki 3, 4, 5, 6 algorytmu) Źródło: opracowanie własne.. W ten sposób, generując warstwy przeciętnie coraz lepiej ocenianych elementów, analogicznie jak w klasycznych algorytmach ewolucyjnych, system będzie zmierzał w kierunku optymalnego (lub suboptymalnego) rozwiązania (fakt ten eksperymentalnie potwierdzono w sekcji 3 niniejszego opracowania). Etap eksploatacji skonstruowanego systemu neuroagentowego rozpoczyna się od aktywacji elementów wejściowych sygnałami wejściowymi (wartościami zmiennych wejściowych opisującymi analizowany przypadek), a następnie obliczane są po kolei sygnały wyjściowe (decyzje lub prognozy) wszystkich neuroagentów (w kolejności według której były one tworzone). Sygnały najlepiej ocenionych (krok 9) neuroagentów5 stanowią ostateczne decyzje (lub prognozy) systemu.   Jeżeli elementów wyjściowych jest więcej niż 1, stanowią one tzw. komitet decyzyjny, którego odpowiedź jest średnią (ew. ważoną) poszczególnych jego składników. 5.

(9) Konstrukcja modeli decyzyjnych…. 65. Należy zauważyć, że połączenia w systemie i ich wagi są dobierane z wykorzystaniem informacji zawartych w zbiorze uczącym, występuje więc ryzyko nadmiernego dopasowania wiedzy zgromadzonej w systemie do danych uczących. Temu zjawisku można zapobiec poprzez staranny dobór parametrów systemu, ale możliwe jest także zastosowanie procedury niezależnej walidacji (jak w klasycznych SN). Należy też podkreślić konieczność rzetelnego przetestowania systemu (opierając się na niezależnym zbiorze testowym) przed jego zastosowaniem w praktyce. 3. Badania efektywności systemu neuroagentowego w zagadnieniu wspomagania walutowych decyzji inwestycyjnych Sformułowanie problemu Rozważone tu zagadnienie dotyczy wspomagania decyzji inwestycyjnych na rynku walutowym, związanych z kupnem i sprzedażą waluty euro (w praktyce może to być inwestycja w odpowiedni walutowy kontrakt terminowy). Dysponując prognozą zmiany notowań euro w stosunku do złotówki pomiędzy dniem bieżącym a następnym, można zastosować strategię inwestycyjną polegającą na realizacji krótkoterminowych transakcji: kupna waluty w wypadku, gdy taka prognoza wiąże się ze wzrostem jej notowań, oraz sprzedaży waluty w przeciwnym wypadku. W celu generowania prognoz zmian notowań euro i realizacji opisanej wyżej strategii inwestycyjnej zastosowano scharakteryzowany w poprzedniej sekcji system neuroagentowy. Badania przeprowadzono przy założeniu istnienia tzw. krótkiej sprzedaży, co w praktyce ma miejsce, gdy zamiast rzeczywistej inwestycji walutowej dokonujemy odpowiednich transakcji (kupna lub sprzedaży) dla walutowych kontraktów terminowych (walory takie są notowane na giełdzie papierów wartościowych w Warszawie)6. Przyjęto, że dodatni sygnał wyjściowy systemu stanowi rekomendację kupna waluty euro (kontraktu terminowego), zaś sygnał ujemny generuje decyzję sprzedaży kontraktu terminowego dla euro. W badaniach zastosowano pięć arbitralnie przyjętych zmiennych wejściowych: – ostatnia dzienna stopa zwrotu z inwestycji w euro, – różnica dwóch ostatnich stóp zwrotu, – współczynnik kierunkowy trendu liniowego dla ostatnich sześciu dni, – współczynnik kierunkowy trendu liniowego dla ostatnich dwunastu dni, – odchylenie standardowe 10 ostatnich stóp zwrotu.   Kurs kontraktów terminowych jest w praktyce bardzo silnie skorelowany z kursem instrumentu bazowego (w tym przypadku euro). 6.

(10) Janusz Morajda. 66. Wszystkie zmienne wejściowe poddano procesowi normalizacji. W badaniach wykorzystano notowania NBP euro/złoty z 6 lat, tzn. od 1 stycznia 1999 do 3 stycznia 2005. Zbiór danych zawierał 1508 przypadków (dni notowań), każdy z nich zawierał wartości 5 zmiennych wejściowych oraz właściwą przyszłą stopę zwrotu jako wielkość niezbędną w procedurze oceny neuroagentów. Dane podzielono (według przybliżonej proporcji 2/3 : 1/3) na zbiór uczący obejmujący okres do 17 stycznia 2003 i zawierający 1010 przypadków oraz zbiór testowy zawierający pozostałe 498 wzorców i obejmujący okres około dwóch ostatnich lat. Parametry systemu neuroagentowego (zob. poprzednia sekcja) zostały przyjęte następująco: I = 5, L = 2000, v = 200, b = 50, t = 20, m = 200, N = 6000. W konsekwencji system zawierał 21 warstw, 2000 elementów w warstwie podstawowej, oraz 4000 neuroagentów w 20 warstwach „ewolucyjnych”. Jako kryterium oceny neuroagentów przyjęto skumulowaną stopę zwrotu (zob. wzór 1) osiągniętą przez dany element dla okresu obejmującego dane uczące, uzyskaną w rezultacie zastosowania aktywnej strategii inwestycyjnej bazującej na sygnałach decyzyjnych rozważanego neuroagenta7. Do badań użyto specjalnie stworzonego przez autora programu komputerowego8 w języku C. Rezultaty badań Na rys. 3 przedstawiono proces konstrukcji systemu neuroagentowego. Zamieszczony wykres, dla kolejno powstających warstw, prezentuje uśrednione miary oceny (stopy zysku) kolejno tworzonych neuroagentów dla okresu obejmującego dane uczące oraz odpowiednie wartości stóp zysku wygenerowanych przez te elementy w okresie testowym. W celu lepszej wizualizacji procesu poszczególne punkty wykresu reprezentują uśrednione wartości oceny dla zbioru 20 kolejnych elementów. Oś pozioma reprezentuje kolejnych neuroagentów w systemie (należących do kolejno tworzonych warstw), przedział przed liczbą 2 odwzorowuje warstwę pierwszą (bazową). Z analizy procesu konstrukcji systemu na podstawie wzorców uczących (rys. 3, linia pogrubiona) wynika, że miara oceny systemu (stopa zysku) wzrasta (w drugiej warstwie gwałtownie, w kolejnych warstwach stopniowo coraz wolniej), osiągając koniec istotnego przyrostu (stabilizację) około 8 warstwy. Analogiczna miara oceny dla okresu testowego wzrasta podobnie, jednak osiąga maksimum w czwartej warstwie, później (warstwa 6) wykazując niewielki spadek   W procesie generowania połączeń w systemie można uwzględniać także „złych” neuroagentów przynoszących ekstremalne straty, jednak wtedy połączenia z takimi elementami muszą posiadać ujemne wartości wag. 7.   Program ten jest realizacją podanego w niniejszym opracowaniu algorytmu konstrukcji systemu neuroagentowego. 8.

(11) Konstrukcja modeli decyzyjnych…. 67. Stopa zwrotu w okresie obejmującym dane uczące (w %). 350. 250. 150. 50. –50. –150. 42 39 36 33 30 27 24 21 18 15 12 9 6 3 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 –3 Numer warstwy systemu neuroagentowegp –6 –9 –12 –15 Okres uczący się (lewa oś) Okres testowy (prawa oś). Stopa zwrotu w okresie testowym (w %). (świadczący o pewnym stopniu nadmiernego dopasowania wiedzy w systemie do danych uczących), a następnie stabilizację. Fakt ten wskazywać może na przydatność stosowania niezależnej walidacji (podobnie jak dla sieci neuronowych), w celu eliminacji pojawiającego się tego niekorzystnego zjawiska (zwanego efektem „przeuczenia”).. Rys. 3. Miara oceny kolejno generowanych elementów systemu (skumulowana stopa zysku) otrzymana dla danych uczących i testowych. Źródło: obliczenia własne na podstawie własnego programu zaimplementowanego w języku C.. Najefektywniejsze neuroagenty wygenerowały w okresie obejmującym dane uczące (około 4 lat) skumulowany zysk rzędu 400%. W okresie testowym (około 2 lat) skumulowany zysk osiągnięty w wyniku realizacji aktywnej strategii decyzyjnej systemu okazał się znacznie niższy (co wynika z nieuniknionej zmienności rynków finansowych w czasie), jednak dodatni – dla najlepiej (w okresie uczącym) ocenionego neuroagenta9 zysk ten wyniósł 31,2%. Na rys. 4 zaprezentowano porównanie aktywnej strategii inwestycyjnej wygenerowanej przez system neuroagentowy (najlepiej ocenionego neuroagenta) ze strategią pasywną (tzn. stałą inwestycją w euro, bez dokonywania żadnych transakcji). Osiągnięty wynik realizacji aktywnej strategii inwestycyjnej przedstawionego systemu należy uznać za obiecujący i wskazujący na znaczące możliwości 9.   Element ten generuje w tym wypadku ostateczny sygnał wyjściowy całego systemu..

(12) Janusz Morajda. 68. praktycznego wykorzystania rozważanej metody w zagadnieniach wspomagania walutowych decyzji inwestycyjnych. 1,40 1,35 1,30 1,25 1,20 1,15 1,10 1,05 1,00 0,95. 0. 50. 100. 150. 200. Strategia pasywna (euro). 250. 300. 350. 400. 450. 500. Strategia aktywna najlepszego neuroagenta. Rys. 4. Przyrost w czasie (dla kolejnych dni z okresu testowego) wartości portfela „zarządzanego” przez aktywną strategię decyzyjną systemu neuroagentowego wraz z porównaniem do analogicznych zmian wartości portfela związanego z pasywną inwestycją w euro Źródło: obliczenia własne.. W celach porównania analizowanej metody z klasycznymi modelami neuronowymi, przeprowadzono analogiczne badania dla tego samego problemu i tych samych danych, ale przy zastosowaniu sieci neuronowych typu perceptron (uczonych algorytmem wstecznej propagacji błędu), oraz sieci neuronowych typu RBF. Efektywność klasycznych sieci neuronowych, wyrażona jako skumulowany zysk w okresie testowym osiągnięty w wyniku realizacji decyzji inwestycyjnych generowanych przez sieć, zwykle nie przekraczała 10%, a po dokonaniu optymalizacji struktury i parametrów procesu uczenia – najlepsza sieć10 wygenerowała zysk wynoszący 16,3%. Rozważany system neuroagentowy osiągnął zatem w rozwa  Sieć typu RBF posiadająca gaussowską funkcję aktywacji, z warstwą ukrytą rozbudowywaną podczas uczenia. Analiza przeprowadzona przy użyciu programu Neural Connection. 10.

(13) Konstrukcja modeli decyzyjnych…. 69. żanym zagadnieniu lepsze rezultaty (w sensie skumulowanogo zysku dla okresu testowego), można zatem uznać tę metodę za stosunkowo efektywną oraz konkurencyjną w stosunku do klasycznych modeli neuronowych. 4. Wnioski końcowe Analizowany w niniejszej pracy system neuroagentowy okazał się skutecznym narzędziem do wspomagania decyzji na rynkach finansowych. W analizowanym problemie wspomagania decyzji wykazał lepszą efektywność w stosunku do klasycznych sieci neuronowych, ponadto pozwala na pokonanie pewnych istotnych ograniczeń dotyczących struktury SN i metody uczenia, umożliwiając wykorzystanie właściwego kryterium celu, dla którego system został skonstruowany (np. maksymalizacji stopy zysku). Dokonana analiza wskazuje potrzebę kontynuacji badań dotyczących zaprezentowanej metody, zwłaszcza w kontekście możliwości wprowadzenia dynamicznej rekonfiguracji (lub rozbudowy) systemu w trakcie jego funkcjonowania, optymalizacji jego parametrów, a także doboru zmiennych wejściowych. Realizacja takich prac badawczych niewątpliwie może przyczynić się do poprawy efektywności metody i do bliższego zainteresowania nią praktyków (np. dealerów walutowych w bankach). Literatura Azoff E.M. [1994], Neural Network Time Series Forecasting of Financial Markets, Wiley, New York. Bauer R. [1994], Genetic Algorithms and Investment Strategies, Wiley, New York. Ferber J. [1999], Multi-Agent Systems. An Introduction to Distributed Artificial Intelligence, Addison-Wesley, Boston. Intelligent Agents: Specification, Modeling and Application [2001], eds S.T. Yuan, M. Yokoo, Springer, New York. Inteligentne systemy w zarządzaniu – teoria i praktyka [2000], red. J.S. Zieliński, Wydawnictwo Naukowe PWN, Warszawa. Jain L., Chen Z., Ichalkaranje N. [2002], Intelligent Agents and Their Applications, Physica-Verlag, New York. Kisiel-Dorohinicki M., Dobrowolski G., Nawarecki E. [2003], Agent Populations as Computational Intelligence [w:] Neural Networks and Soft Computing, Physica Verlag, Heidelberg. Luck M. i in. [2001], Multi-Agent Systems and Applications, Springer, New York. Lula P. [1999], Jednokierunkowe sieci neuronowe w modelowaniu zjawisk ekonomicznych, Wydawnictwo AE w Krakowie, Kraków. Morajda J. [2000], Neural Networks as Predictive Models in Financial Futures Trading, Proc. of the 5-th Conference „Neural Networks and Soft Computing”, Zakopane..

(14) 70. Janusz Morajda. Morajda J. [2002], Evolutionarily Developed Neural Networks for Investment Strategies Construction, Proc. of the 6-th Conference „Neural Networks and Soft Computing”, Zakopane. Neural Networks in the Capital Markets [1995], ed. A.P. Refenes, Wiley, Chichester. Decision Models Construction for Short-term Currency Investments with Application of a Neuro-agent System The article submits a concept of an evolutionary constructed system that consists of a number of single neural models and can be regarded as a neuro-agent system. Its architecture and performance is based on methodology connected with neural networks, evolutionary algorithms and multi-agent systems. Next, the system capabilities to support decisions for short-term currency investments have been presented. The research has been performed with the use of a time series of daily Euro quotations in Polish National Bank (NBP). Key words: decision model, neural networks, neuro-agent systems, financial time series, currency investments..

(15)

Cytaty

Powiązane dokumenty

Na potrzeby procesu oceny systemu analiz danych giełdowych wykorzysta- no dane z sesji giełdowych pomiędzy 01.01.2009 r.. Dane te ob- razowały zachowania akcji polskich

Artykuł przedstawia przegląd zastosowań sieci neuronowych w systemach zarządzania ruchem miejskim oraz propozycję systemu zarządzania, wykorzystującego sieci neuronowe.. Opisane

W celu usprawnienia ruchu turystycznego Ministerstwo Turystyki i Rekreacji postanowiło stworzyć centralną bazę informacji o miejscach noclegowych, atrakcjach turystycznych

Słabą jej stroną jest jednak możliwość wykorzystywania funduszów własnych przedsiębiorstw i zjednoczeń na spłatę kredytu i od­ setek w przypadku wydłużenia

Oczywiście, samo przechowywanie rejestrów wprowadza do systemu do- datkowy element wymagający ochrony, gdyż dostęp do tych informacji osób nieuprawnionych także może

Kwota przeznaczona na reali- zację ustawy nie załatwia problemu wierzytelno- ści szpitali, tym bardziej, że jest to tylko pożycz- ka.. Ustawodawca bazuje na pewnych

1 Rozporządzenia Prezesa Rady Ministrów w sprawie sposobu sporządzania i przekazywania informacji oraz wymagań technicznych dla dokumentów elektronicznych oraz środków

Do znaczących teologów moralistów, którzy niewątpliwie przy­ czynili się do odnowy teologii w duchu Soboru Watykańskiego II, i podjęli się opracowania