Mo˝liwoĘci zastosowania modelu jednokierunkowej sieci
Transkrypt
Mo˝liwoĘci zastosowania modelu jednokierunkowej sieci
Zeszyty Naukowe nr 740 2007 Akademii Ekonomicznej w Krakowie Joanna Palczewska Studium Doktoranckie Wydzia∏u Zarzàdzania Mo˝liwoÊci zastosowania modelu jednokierunkowej sieci neuronowej do prognozowania sygna∏ów kupna i sprzeda˝y akcji w Êwietle uj´ç w literaturze przedmiotu 1. Wprowadzenie W 1943 r. W. McCullock i W. Pitts opublikowali pracę zatytułowaną A Logical Calculus of Ideas Immancnt in Nervous Activity. Praca ta stała się teoretycznym fundamentem późniejszego rozwoju sztucznych sieci neuronowych [Gately 1999, s. 3]. Pod koniec lat czterdziestych wyjaśniono mechanizm pamiętania informacji przez biologiczne sieci neuronowe. Był to istotny element na drodze budowy sztucznych sieci neuronowych, tj. zestawu wzajemnie połączonych sztucznych neuronów [Korbicz, Obuchowicz, Uciński 1994, s. 18]. W 1951 r. student MIT M. Minsky zbudował neuronowy komputer i zaprogramował go tak, by uczył się rozkładu labiryntu. Były to narodziny badań nad sztuczną inteligencją, a Minskyʼego, który nadal pracuje w MIT, często określa się mianem ojca systemów ekspertowych [Gately 1999, s. 3]. Istotnym krokiem w rozwoju sieci neuronowych były prace F. Rosenblatta, w których zostało wprowadzone pojęcie jednokierunkowej sieci wielowarstwowej, gdzie neurony są zorganizowane w kolejno po sobie następujących warstwach. Warstwą pierwszą jest wejście, a ostatnią wyjście. Były to sieci typu perceptron [Rymarczyk 1997, s. 32–33]. Pod koniec lat siedemdziesiątych komputery dysponowały już wystarczającą mocą obliczeniową, by można było rozpocząć praktyczne badania nad sztucznymi Joanna Palczewska 148 sieciami neuronowymi (SSN). Jednak dopiero, datujący się od 1986 r., rozwój sieci opartych na algorytmie wstecznej propagacji błędu (back-propagation networks) sprawił, że sieci neuronowe zaczęto stosować do rozwiązywania konkretnych problemów ekonomicznych, naukowych i przemysłowych. Ponieważ sieci neuronowe są dostępne, praktycznie rzecz biorąc, dopiero od lat siedemdziesiątych i ponieważ ich rozwój związany jest m.in. z mocą obliczeniową komputerów, nadal znajdują się one we wczesnej fazie rozwoju. Szybkość rozwiązywania problemu oraz sama możliwość zastosowania sieci neuronowych zależą od rozmiarów sieci będących pochodną złożoności problemu i liczby zaprezentowanych przypadków, jak również mocy obliczeniowej komputera [Gately 1999, s. 3–4]. Pierwowzorem sztucznych sieci neuronowych jest mózg ludzki, który składa się z ok. 1010 komórek nerwowych, przetwarzających dane w sposób równoległy w trybie równoczesnej pracy wielu połączonych ze sobą neuronów [Witkowska 2002, s. 2]. Każdy z neuronów jest wyspecjalizowaną komórką biologiczną mogącą przenosić i przetwarzać złożone sygnały elektrochemiczne. Neuron na ogół posiada rozgałęzioną strukturę wielu wejść informacyjnych (dendryty), scalające sygnały ze wszystkich tych wejść ciało (perikarion) oraz opuszczający komórkę jako pojedyncze włókno nośnik informacji wyjściowej (akson), powielający potem przewodzony przez siebie wynik pracy neuronu i rozsyłający go do różnych neuronów odbiorczych poprzez rozgałęzioną strukturę wyjściową (telodendron) [Nałęcz 2000, s. 11]. Budowę tej komórki przedstawia rys. 1. Dendryty Korpus komórki nerwowej Akson Rys. 1. Budowa biologicznego neuronu Źródło: opracowanie własne na podstawie: [Tadeusiewicz 1998, s. 9]. Możliwości zastosowania modelu… 149 Sztuczna sieć neuronowa składa się z nieporównywalnie mniejszej liczby elementów, które w dodatku są skrajnie uproszczone w stosunku do swoich pierwowzorów, a sposób połączeń i struktura sieci znacznie odbiegają od biologicznego oryginału. Stosowane w praktyce sieci najczęściej złożone są z pewnej liczby, połączonych miedzy sobą, warstw neuronów. Mimo wielu uproszczeń, sztuczne sieci neuronowe charakteryzują się cechami zarezerwowanymi dotychczas dla organizmów żywych. Najważniejszymi cechami są: – zdolność do „uczenia się”, dzięki której sieć neuronowa potrafi nauczyć się prawidłowych reakcji na określony zespół bodźców, – umiejętność operowania abstrakcją; sieć neuronowa może bowiem uogólniać wiedzę zdobytą w procesie trenowania, – odporność na uszkodzenia, gdyż sieć neuronowa potrafi działać poprawnie, nawet gdy część jej elementów jest uszkodzona, połączenia zerwane, a informacje stracone. Dzięki możliwości uczenia się oraz swoistej strukturze sztuczne sieci neuronowe wykazują pewne właściwości podobne do procesów myślowych zachodzących u człowieka. Cechuje je mianowicie: – zdolność przetwarzania informacji rozmytych, chaotycznych, niekompletnych, a nawet sprzecznych, – szybkie i efektywne przetwarzanie dużej liczby danych, – przetwarzanie równoległe, rozproszone, – skojarzeniowy dostęp do informacji zawartej w sieci (tzw. pamięć skojarzeniowa). Sztuczne sieci neuronowe konstruowane są bądź jako programy emulujące neurony i ich połączenia na konwencjonalnym komputerze, bądź jako neurokomputery [Witkowska 2002, s. 2]. Uczenie i stosowanie sztucznych sieci neuronowych wymaga postępowania według specjalnego schematu działania złożonego z wielu etapów. Realizacja każdego z nich wpływa na powodzenie całej operacji. Etap 1 – określenie prognozowanej zmiennej. Etap 2 – gromadzenie zbiorów danych lub szeregów liczbowych związanych z prognozowanym zjawiskiem. Etap 3 – wstępne przetworzenie danych (preprocessing) tak, by łączyły informacje lub przedstawiały je w bardziej użyteczny sposób. Etap 4 – ustalenie wartości minimalnych i maksymalnych. Etap 5 – wyodrębnienie testowego zbioru danych. Etap 6 – wybór odpowiedniej architektury sieci. Etap 7 – wybór odpowiedniego algorytmu uczenia (algorytmu treningowego). Etap 8 – uczenie sieci. Etap 9 – zastosowanie sieci. Joanna Palczewska 150 Pomimo dużych możliwości, jakie oferują sieci neuronowe, nie nadają się one do rozwiązywania wszystkich problemów. Sieci neuronowe najlepiej sprawdzają się tam, gdzie trzeba dopasowywać wzory, wykrywać złożone współzależności lub korzystać z danych w sposób selektywny. Często wzory zachowań, które odkrywa sieć, nie są dla człowieka-obserwatora oczywiste. To, że rynek akcji podąża za rynkiem obligacji, jest w finansach zjawiskiem powszechnie znanym. Jednak zależność między ceną złota a rynkiem akcji nie jest już tak oczywista. Działanie sieci neuronowych prognozujących zachowanie rynku akcji można często usprawnić, włączając do zmiennych wejściowych cenę złota. W ten sposób, uwzględniając ukrytą zależność między ceną złota a zachowaniem rynku akcji, zwiększamy trafność przewidywań, nawet jeśli jako ludzie nie jesteśmy w stanie tej zależności określić [Gately 1999, s. 10–12]. 2. Budowa neuronu Sztuczny neuron, będący podstawowym elementem budującym każdą sieć neuronową, jest układem mającym wiele wejść (czyli odbierającym i przetwarzającym wiele sygnałów wejściowych z różnych źródeł) i jedno wyjście (rys. 2). x0 w0 x1 w1 y xn wn Rys. 2. Model sztucznego neuronu Źródło: opracowanie własne na podstawie: [Krawiec, Stefanowski 2003, s. 84]. Forma przetwarzania informacji wejściowych na informację wyjściową uzależniona jest od mogących się zmieniać współczynników wn nazywanych wagami. W rzeczywistości w biologicznym neuronie odpowiednikiem wagi jest złożony twór o skomplikowanych właściwościach bioelektrycznych i biochemicznych, tzw. synapsa (rys. 3). Neurony te można łączyć ze sobą w różny sposób, tworząc sieć [Tadeusiewicz 1998, s. 9–10]. Możliwości zastosowania modelu… 151 Zakończenie aksonu neurona wysyłającego informacje „Waga synapsy” Ciało neuronu odbierającego informacje Rys. 3. Schemat budowy synapsy Źródło: opracowanie własne na podstawie: [Nałęcz 2000, s. 13]. Każdy z nich przetwarza skończoną liczbę sygnałów wejściowych xi (i = l, …, n) na jedno wyjście y. Na podstawie danych, wprowadzonych na wejścia sieci, oblicza się całkowite pobudzenie neuronu e najczęściej jako kombinację liniową wejść, często uzupełniona wyrazem wolnym (bias), co można zapisać w postaci: n e = w0 + ∑ wi xi = w0 + wT x , (1) i =1 gdzie: x = [xi] – wektor [n x 1] sygnałów wejściowych, w = [wi] – wektor [n x 1] wag, które z jednej strony wyrażają stopień ważności informacji przekazywanej i-tym wejściem, a z drugiej, stanowią swego rodzaju pamięć neuronu, zapamiętują bowiem związki – relacje zachodzące między sygnałami wejściowymi i sygnałem wyjściowym. Aby uprościć wszystkie występujące dalej wzory, przyjmiemy, że obok sygnałów wejściowych xi (i = 1, 2, …, n) występować będzie zmienna x0 = l, co pozwala zapisać wzór na łączne pobudzenie neuronu e w postaci: n e = ∑ wi xi = wT x . i =1 (2) Sygnał wyjściowy neuronu y zależy od jego całkowitego pobudzenia, co można zapisać jako: y = ϕ (e) , (3) Joanna Palczewska 152 gdzie ϕ jest tzw. funkcją aktywacji neuronu, a jej postać określa typ neuronu i obszar jego zastosowań. Funkcja aktywacji może przybierać zarówno postać liniową, jak i postacie nieliniowe, w których charakter zależności wiążącej sygnał wyjściowy z sygnałami wejściowymi może być praktycznie dowolny. W najprostszym neuronie liniowym jest to funkcja tożsamościowa: ϕ (e) = e . (4) Możliwości sieci neuronowych, budowanych wyłącznie z elementów liniowych, tj. o funkcji aktywacji (4), są ograniczone. Dlatego we współcześnie używanych sieciach oprócz neuronów liniowych występują również neurony o nieliniowych funkcjach aktywacji. Sieci nieliniowe charakteryzują się znacznie szerszym zakresem zastosowań w porównaniu z sieciami liniowymi [Witkowska 2002, s. 2–5]. 3. Rodzaje sieci neuronowych Sposoby połączenia neuronów miedzy sobą i ich wzajemnego współdziałania wpłynęły na powstanie różnych typów sieci, każdy typ sieci jest z kolei ściśle powiązany z odpowiednią metodą doboru wag (uczenia) [Osowski 1996, s. 18]. Możliwości gromadzenia i przetwarzania informacji, jakie posiadają pojedyncze neurony, są ograniczone, dlatego w praktyce stosuje się sieci neuronowe. Sygnały wprowadzane na wejście neuronu są przetwarzane zgodnie z relacjami (1) lub (2) oraz (3) i przesyłane do innych neuronów, które po odpowiedniej transformacji przekazują sygnały dalej, aż nastąpi wyprowadzenie sygnałów na zewnątrz sieci. Rodzaj połączeń między neuronami, wejściami i wyjściami zewnętrznymi określa architekturę (topologię) sieci. Sztuczne sieci neuronowe są najczęściej budowane z warstw neuronów. Wejścia neuronów należących do pierwszej warstwy stanowią wejścia sieci i ta warstwa nosi nazwę wejściowej (wejście sieci). Natomiast wyjścia neuronów warstwy ostatniej (wyjściowej) są wyjściami sieci. Między warstwami zewnętrznymi sieci często umieszcza się tzw. warstwy ukryte. Warstwa neuronów składa się z m elementów, zatem zawiera m wyjść. Każdemu wyjściu yj odpowiada wprawdzie ten sam wektor sygnałów wejściowych, ale inny wektor wag wj (j = 1, 2, …, m). Dla neuronów liniowych (tj. o funkcji aktywacji postaci (4)) warstwę przetwarzającą n sygnałów wejściowych na m sygnałów wyjściowych można przedstawić jako: y = W Tx , (5) Możliwości zastosowania modelu… 153 gdzie: y = [yj] – wektor [m x 1] sygnałów wyjściowych, W = [wij] – macierz [n x m] wag, składająca się z m wektorów wj [n x 1], x = [xi] – wektor [n x 1] sygnałów wejściowych. Liczba neuronów w warstwie wejściowej jest zdeterminowana liczbą charakterystyk (sygnałów, zmiennych) niezbędnych do rozwiązania postawionego zadania. Sygnały wejściowe są przetwarzane liniowo, czy wręcz tożsamościowo zgodnie z (5). Wyjścia warstwy wejściowej zasilają, jako wejścia, warstwę następną, którą może być pierwsza warstwa ukryta lub warstwa wyjściowa, w zależności od architektury sieci [Witkowska 2002, s. 8–10]. Ze względu na architekturę sieci neuronowe można podzielić na [Gajda 2001, s. 222–223]: – sieci jednokierunkowe (jednowarstwowe, wielowarstwowe), – sieci rekurencyjne, – sieci komórkowe. Jedną z najważniejszych cech sieci neuropodobnych jest zdolność uczenia się. Należy podkreślić, że jest to samoistna właściwość sieci, niezwiązana z faktem zastosowania tego, czy innego algorytmu (oprogramowania), jak to się dzieje w przypadku zwykłych komputerów. Proces uczenia sieci odbywa się poprzez modyfikowanie wag poszczególnych połączeń. Ponieważ na proces pobudzenia neuronów wpływają dwa czynniki: wielkość sygnału przewodzonego poszczególnymi połączeniami oraz wagi na tych połączeniach, jest rzeczą naturalną, że neuron wytworzy właściwą reakcję na określony wzorzec wejściowy, o ile odpowiednio zostaną dopasowane wagi poszczególnych połączeń. Proces modyfikacji wag w taki sposób, by odpowiedź sieci jako całości osiągnęła naszą akceptację, nazywamy uczeniem sieci neuronopodobnych [Kamieński 2001, s. 134]. Biorąc pod uwagę sposób prowadzenia treningu można wyróżnić następujące grupy algorytmów uczących: – uczenie nadzorowane (z nauczycielem) – dane treningowe zawierają zestaw sygnałów wejściowych sieci oraz poprawnych reakcji systemu; uczenie polega na takiej modyfikacji wag, aby rzeczywiste wyjścia były jak najbliższe wartościom pożądanym; – uczenie bez nadzoru – w procesie uczenia sieć neuronowa nie otrzymuje żadnej informacji na temat pożądanych reakcji [Zieliński 2000, s. 142–143]; – uczenie z forsowaniem – w tym wypadku istnieje zewnętrzne źródło danych [Mierzejewski 2003, s. 4]. Istotne w procesie uczenia się oraz weryfikacji jakości sieci neuronowej są również zbiory danych, tj.: – zbiór uczący – zestaw przykładów wykorzystywanych do uczenia, który ma dopasować parametry (wagi) do połączeń sieci, 154 Joanna Palczewska – zbiór testowy – zestaw danych, mających ostatecznie dostroić parametry, których przybliżenie wartości zostały wcześniej obliczone przy użyciu zestawu danych uczących, – zbiór weryfikacyjny – zbiór danych używanych jedynie do oszacowania jakości działania w pełni ukształtowanej sieci na nowym zestawie danych (ocenia jakość generalizacji modelu) [Siedlecki 2001, s. 71–72]. 4. Konstrukcja modelu sieci neuronowej Konieczność przygotowania się na przyszłe zdarzenia oraz aktywnego kształtowania przyszłości wymusza dzisiaj na decydentach sporządzanie prognoz gospodarczych. Główną przyczyną zainteresowania przyszłym przebiegiem różnych zjawisk jest fakt, iż przewidywanie przyszłości jest niezbędnym etapem w przygotowaniu każdego działania, zwłaszcza sztucznych sytuacji ciągle zmieniającego się środowiska. Jednak nawet naukowe „przewidywanie” przyszłości, jakim jest proces prognozowania, nie pozwala na uzyskanie w pełni dokładnego stanu danego zjawiska w przyszłości [Nowak 1998, s. 29, 31]. Wykorzystanie sztucznych sieci neuronowych do prognozowania wymaga: – zdefiniowania zmiennej prognozowanej oraz zmiennych, które będą pełniły rolę deskryptorów, – określenia topologii sieci, – wybrania okresu, z którego będą pochodziły dane wykorzystane do trenowania, – ustalenia horyzontu prognozy. Specyfikacja zmiennych w istotny sposób wpływa na uzyskane wyniki i może być przyczyną znacznych różnic w wartościach prognoz. Należy pamiętać, że liczba obserwacji dotyczących kształtowania się zmiennych wejściowych (objaśniających) musi być taka sama jak liczba wzorców treningowych przygotowanych dla zmiennych wyjściowych (prognozowanych). Dlatego do modelu wprowadza się jedynie te zmienne, dla których dane statystyczne są dostępne z tą samą częstotliwością pomiaru (choć niekoniecznie z tych samych momentów lub okresów). Ważnym zagadnieniem jest wyznaczenie okresu, z którego będą pochodziły obserwacje do próby treningowej. Określenie długości szeregu czasowego podyktowane jest koniecznością kompromisu pomiędzy wymaganą liczbą wzorców uczących i wykorzystaniem możliwie aktualnych danych, zwłaszcza jeżeli prognozowanie dotyczy zjawisk o znacznej zmienności w czasie, co zachodzi w analizach giełdowych. Przyjmuje się, że liczba obserwacji powinna być przynajmniej 10-krotnie większa od liczby szacowanych parametrów. Zebrane dane empiryczne powinny zostać poddane wstępnej analizie i przetworzeniu, które obejmują: Możliwości zastosowania modelu… 155 – weryfikację poprawności i jednorodności danych, – operacjonalizację danych, – redukcję wymiaru przestrzeni danych wejściowych, – wyodrębnienie zależności i wahań cyklicznych. Przy konstrukcji sieci neuronowych należy uwzględnić: – zbiór zmiennych wejściowych, – liczbę warstw ukrytych i liczbę znajdujących się w nich neuronów, – postać funkcji aktywacji. W niniejszym artykule przedstawiono model konstrukcji jednokierunkowej sieci neuronowej do prognozowania sygnałów kupna i sprzedaży akcji. Model został zaczerpnięty z pracy [Witkowska 2002]. Funkcja aktywacji dla poszczególnych neuronów w tym modelu ma postać logistyczną: ϕ ( e) = 1 . 1 + exp(−βe) (6) Budowa modelu sieci neuronowej przedstawia się następująco: – 122 zmienne wejściowe, – cztery neurony ukryte w pierwszej warstwie i dwa elementy w drugiej warstwie ukrytej, – jeden neuron wyjściowy, czyli architektura modelu ma postać: 122-4-2-1. Na wejściu sieci znajdą się zmienne reprezentujące: 1) stopę zwrotu kursów akcji dla x kolejnych sesji giełdowych poprzedzających notowania analizowanej sesji, czyli: K kt = ln t , K t −1 (7) gdzie: Kt – kurs akcji wybranej spółki dla sesji t-tej, w zł; 2) logarytmy obrotów zanotowanych w ciągu x kolejnych sesji giełdowych poprzedzających analizowaną sesję, czyli: vt = ln(Vt) , (8) gdzie: Vt – wolumen obrotów akcjami wybranej spółki w trakcie trwania sesji t-tej, w zł; 3) krzywą nachylenia indeksu giełdowego WIG, czyli: vt = β7[ln(WIGt)] , gdzie: WIGt – indeks giełdowy WIG wyznaczony dla t-tej sesji, (9) Joanna Palczewska 156 β7 – symbol funkcji przyporządkowującej wartość współczynnika kierunkowego funkcji trendu opisującej ln(WIGt), oszacowanego na podstawie 7-elementowej próby; 4) logarytmy względnych wartości całkowitych obrotów zanotowanych w trakcie trwania sesji giełdowych, które zostały obliczone dla każdej sesji w stosunku do średniej obliczonej z trzech poprzednich sesji, czyli: 3Ot ot = , Ot −1 + Ot − 2 + Ot − 3 (10) gdzie: Ot – całkowite obroty w trakcie trwania sesji t-tej, w zł. Natomiast na wyjściu sieć będzie zawierać jedną ze zmiennych zdefiniowaną jako: 1) bezwzględne przyrosty krzywej nachylenia kursu, wyznaczone w postaci różnicy współczynników kierunkowych funkcji regresji opisujących logarytmy wartości cen akcji notowanych w dwóch kolejnych sesjach, czyli: st1 = β14 ln ( K t +1 ) − β14 ln ( K t ) , (11) 2) połowa różnicy współczynników kierunkowych funkcji regresji (11) obliczonych dla kursów akcji z dwóch kolejnych sesji, czyli: st1 = β14 ln ( K t +1 ) − β14 ln ( K t ) 2 , (12) gdzie: β14 – symbol funkcji przyporządkowującej wartość współczynnika kierunkowego funkcji regresji opisującej ln(Kt), oszacowanej na 14-elementowej próbie, pozostałe oznaczenia jak poprzednio. W celu uzyskania prognozy dla krzywej nachylenia kursu, a więc współczynnika kierunkowego β14[ln(Kt + 1)], za pomocą którego wyznaczać się będzie sygnały kupna-sprzedaży akcji, należy przekształcić generowane przez sieć wartości wyjść korzystając z następującego wzoru: 7 β14 ln ( K t +1 ) = β14 ln ( K t − 7 ) ∑ st*− i , i =1 gdzie: s*t – wyznaczona przez sieć wartość wyjścia w momencie t. (13) Możliwości zastosowania modelu… 157 W celu uzyskania informacji o udziale poszczególnych przyczyn w całkowitym błędzie prognozy poszczególne składowe wyrażono w postaci względnej: WI1 = I12 ⋅ 100 , I2 WI 2 = I 22 ⋅ 100 , I2 WI 3 = I 32 ⋅ 100 . I2 (14) W przypadku prognozowania sygnałów kupna i sprzedaży akcji wartość błędu względnego nie jest w pełni miarodajnym wskaźnikiem jakości działania sieci. W celu uzyskania wiarygodnej oceny sieci wprowadza się nowy wskaźnik jakości działania sieci, który zdefiniowano jako zysk względny uzyskany z transakcji dokonanych w określonym czasie, odniesiony do maksymalnego zysku, jaki można było osiągnąć z transakcji opartych na sygnałach kupna i sprzedaży generowanych przez wzorcową zmienną wyjściową. Przy obliczaniu zysków powinna zostać uwzględniona prowizja maklerska na poziomie 2%. Z= ZS , ZM (15) gdzie: Z – zysk względny, ZM – zysk maksymalny, ZS – zysk osiągnięty na podstawie transakcji prognozowanych przez sieć. Wskaźnik jakości działania sieci (15) informuje o udziale zysku, jaki zostałby osiągnięty przez inwestora działającego zgodnie z wygenerowanymi przez sieć sygnałami kupna i sprzedaży akcji, w stosunku do zysku wyznaczonego dla wszystkich zaobserwowanych sygnałów transakcji [Witkowska 2002, s. 98–100, 104–107]. 5. Podsumowanie Sztuczne sieci neuronowe stanowią nowoczesne narzędzie analityczne odznaczające się unikatowymi cechami, takimi jak zdolność uczenia się, możliwość wyciągania wniosków nawet na podstawie niepełnych danych. Zastosowanie sieci neuronowych zrewolucjonizowało wiele dziedzin, w których analiza danych odgrywa podstawową rolę. Są one w stanie zautomatyzować zadania związane z koniecznością analizy coraz większej ilości informacji oraz identyfikowaniem możliwości. Sztuczne sieci neuronowe przy braku odpowiedniej wiedzy co do zaistniałych w gospodarce zjawisk umożliwiają wykrycie zależności między danymi. W sytuacji gdy wiedza o istniejących relacjach ekonomicznych jest niewystarczająca, wygodnie jest wykorzystać sztuczne sieci neuronowe, zamiast przyjmować trudne do zweryfikowania założenia modelowe. 158 Joanna Palczewska Literatura Gajda J.B. [2001], Prognozowanie i symulacja a decyzje gospodarcze, Wydawnictwo C.H. Beck, Warszawa. Gately E. [1999], Sieci neuronowe. Prognozowanie finansowe i projektowanie systemów transakcyjnych, Biblioteka Inwestora, Warszawa. Kamieński W.A. [2001], Sztuczne sieci neuronowe, Zamojskie Studia i Materiały, z. 2, Wyższa Szkoła Zarządzania i Administracji w Zamościu, Zamość. Korbicz J., Obuchowicz A., Uciński D. [1994], Sztuczne sieci neuronowe. Podstawy i zastosowanie, Akademicka Oficyna Wydawnicza PLJ, Warszawa. Krawiec K., Stefanowski J. [2003], Uczenie maszynowe i sieci neuronowe, Wydawnictwo Politechniki Poznańskiej, Poznań. McCullock W., Pitts W. [1943], A Logical Calculus of Ideas Immancnt in Nervous Activity, „Bulletin of Mathematical Riophysics”, vol. 5. Mierzejewski P. [2003], Sieci neuronowe w analizie prognozowania zagrożenia finansowego przedsiębiorstw, Instytut Nauk Ekonomicznych PAN, Warszawa. Nałęcz M. [2000], Sieci neuronowe, Akademicka Oficyna Wydawnicza Exit, Warszawa. Nowak E. [1998], Prognozowanie gospodarcze. Metody, modele, zastosowania, przykłady, Placet, Warszawa. Osowski S. [1996], Sieci neuronowe w ujęciu algorytmicznym, WNT, Warszawa. Rymarczyk M. [1997], Decyzje. Symulacje. Sieci neuronowe, Wydawnictwo Wyższej Szkoły Bankowej, Poznań. Siedlecki J. [2001], Wykorzystanie sztucznych sieci neuronowych w modelowaniu ekonomicznym, AE we Wrocławiu, Wrocław. Tadeusiewicz R. [1998], Elementarne wprowadzenie do techniki sieci neuronowych z przykładowymi programami, Akademicka Oficyna Wydawnicza PLJ, Warszawa. Witkowska D. [2002], Sztuczne sieci neuronowe i metody statystyczne. Wybrane zagadnienia finansowe, Wydawnictwo C.H. Beck, Warszawa. Zieliński J. [2000], Inteligentne systemy w zarządzaniu – teoria i praktyka, PWN, Warszawa. The Possibility of Applying a Unidirectional Neural Network Model in Order to Forecast Share Purchase and Sale Signals in Light of Literature on the Subject Financial forecasting is without doubt one of the most developed branches of applying neural networks in the field of economics. In fact, neural networks are successfully applied to solve problems in a wide variety of disciplines, such as: finance, medicine, applied engineering, geology and physics. The aim of this paper is to present the use of artificial neural networks in forecasting. The author describes a model for constructing artificial neural networks. What is important is that the construction of a neural model requires familiarity not only with statistical methods but also knowledge in the field of neural networks. The model of a neural network presented in the article shows, moreover, that artificial neural networks may be useful tools in economic forecasting.