Raport do projektu zrealizowanego na przedmiocie Sztuczna inteligencja prowadzonym przez dr inż. Witolda Paluszyńskiego na Uniwersytecie wrocławskim w roku akademickim 2006/2007.
Celem zadania jest stworzenie narzędzia umożliwiającego prognozowanie zachowań kursów spółek notowanych na warszawskiej GPW. W zadaniu zawęziłem badania do 20 największych spółek, które wpływają na wartość indeksu WIG20.
Rozwiązanie stworzyłem w opraciu o metodę rozpoznawania wzorców (ang. pattern recognition). Polega ona na klasyfikacji danych (wzorców) w oparciu o wiedzę aprioryczną lub o informacje uzyskane na drodze statystycznej analizy danych służącej wydobywaniu cech obiektów. Klasyfikowane wzorce to zazwyczaj grupy wyników pomiaru lub obserwacji definiujące położenie odpowiadających im punktów w wielowymiarowej przestrzeni cech.
W opisywanym systemie doradczym wzroce to ciągi zachowań elementarnych wartości akcji spółki na Giełdzie Papierów Wartościowych w Warszawie. Jako zachowanie elementarne rozumiemy: mały spadek, duży spadek, mały wzrost, duży wzrost. Wzorce są ciągami zachowań elementarnych o dowolnej długości z określonego przedziału. Wartości progowe waloru klasyfikujące zachowania elementarne zostaną wyznaczone eksperymentalnie.
Dodatkowym elementem systemu będzie prognoza zachowania całego rynku określona przez indeks WIG oraz korelacja pomiędzy zachowaniem badanego waloru i szerokiego rynku.
Cały projekt wykonałem za pomocą skryptów pisanych w języku PHP. Po sciągnięciu danych o zachowaniach kursów akcji od początku roku 2006 w postaci Metastock umieściłem je w bazie danych a następnie eksperymentowałem nad różnymi sposobami wyszukiwania wzorców. Eksperymenty te dotyczyły:
Wartość progu | # dobrze przewidzianych schematów | Całkowita # schematów | Skuteczność |
---|---|---|---|
1% | 77 | 179 | 0.4301 |
2% | 83 | 179 | 0.4636 |
3% | 76 | 179 | 0.4245 |
4% | 77 | 179 | 0.4301 |
5% | 84 | 179 | 0.4692 |
6% | 94 | 179 | 0.5251 |
7% | 94 | 179 | 0.5251 |
8% | 91 | 179 | 0.5083 |
9% | 91 | 179 | 0.5083 |
10% | 91 | 179 | 0.5083 |
Wartość progu | # dobrze przewidzianych schematów | Całkowita # schematów | Skuteczność |
---|---|---|---|
1% | 73 | 179 | 0.4078 |
2% | 73 | 179 | 0.4078 |
3% | 74 | 179 | 0.4134 |
4% | 88 | 179 | 0.4916 |
5% | 85 | 179 | 0.4748 |
6% | 85 | 179 | 0.4748 |
7% | 87 | 179 | 0.4860 |
8% | 92 | 179 | 0.5139 |
9% | 92 | 179 | 0.5139 |
10% | 92 | 179 | 0.5139 |
Analizując dane zamieszczone w powyższych tabelach oraz plikach wynikowych łatwo dostrzec następującą zależność: skuteczność przewidywania kursów rośnie wraz ze zwiększanie się progu, według którego ustalane są progi i stabilizuje się na poziomie około 50% dla najwyższych wartośći progu. Mogłoby to sugerować, że najwyższe wartości progów dają najlepsze wyniki przewidywania zmian cen akcji, lecz interpretacja powinna być inna. Analizując jakie dokładnie schematy zostały znalezione przez system, można zauważyć, że wraz ze wzrostem progu maleje liczba schematów zawierających duże zmiany. Jest to poparte faktem, że rzadko na giełdzie zachodzą wzrosty lub spadki o ponad 5% spółek z indeksu WIG20. W wyniku tego badania postanowiłem w dalszych eksperymentach zawęzić się do zachowań: wzrost, spadek. Eksperymenty były dokonane dla łańcuchów różnej długości aby wyeliminować wpływ tego czynnika.
Innym bardzo korzystnym wnioskiem jest fakt, że skuteczność przewidywań dla tak zmienionego modelu (spadek-wzrost) jest powyżej 50%, co oznacza, że faktycznie zwiększa się prawdopodobieństwo podjęcia dobrej decyzji inwestycyjnej w oparciu o wyszukiwanie wzorców i zachęca do dalszych badań.
W dalszym przebiegu badań określiłem zależności pomiędzy długością łańcucha a skutecznością w przewidywaniu zachowań. Jako minimalną długość określiłem 3, gdyż poniżej tej wartośći trudno mówić o charakterystycznym zachowaniu. W poniżych tabelach znajdują się wyniki badan dla wybranych spółek.
Długość wzorca | # dobrze przewidzianych schematów | Całkowita # schematów | Skuteczność |
---|---|---|---|
3 | 117 | 181 | 0.6464 |
4 | 100 | 180 | 0.5555 |
5 | 102 | 179 | 0.5698 |
6 | 104 | 178 | 0.5842 |
7 | 87 | 177 | 0.4915 |
8 | 74 | 176 | 0.4204 |
Długość wzorca | # dobrze przewidzianych schematów | Całkowita # schematów | Skuteczność |
---|---|---|---|
3 | 105 | 181 | 0.5801 |
4 | 106 | 180 | 0.5888 |
5 | 67 | 179 | 0.5418 |
6 | 95 | 178 | 0.5337 |
7 | 99 | 177 | 0.5593 |
8 | 81 | 176 | 0.4602 |
Teraz chciałbym określić zgodność zachowań poszczególnych walorów i indeksu WIG20.
Oczywiście wyliczenie tego indeksu bazuje na zachowaniu każdej z tych spółek
z wagą od kilku do kilkunastu procent. Z drugiej jednak strony badanie to oddaje
zgodność wszystkich tych wszystkich spółek w jednym trendzie. W poniższej tabeli
można odczytać z jakim prawdopodobienstwem spółka będzie zachowywała się zgodnie z indeksem WIG20.
Wartość ta zawiera się w przedziale 0.5890 dla PBG i 0.7726 dla PEKAO. Czyli w przypadku
tej ostatniej spółki, obserwując indeks największych spólek w trzech przypadkach na cztery
możemy prognozować jej zachowanie. Można by tutaj powiedzieć, że zachowanie WIG20
także trudno prognozować, lecz zmienność tego indeksu jest mniejsza niż zmienność poszczególnych
spółek oraz istnieją odpowiednie pochodne instrumenty na giełdzie (kontrakty terminowe),
za pomocą których możemy minimalizować ryzyko niekorzystnych zmian.
Spółka | Zgodnie z WiG20 | Przeciwnie do WIG20 | Zgodnie / Przeciwnie |
---|---|---|---|
AGORA | 226 | 139 | 0.6191 |
BANKBPH | 206 | 158 | 0.5659 |
BIOTON | 229 | 136 | 0.6273 |
BRE | 250 | 115 | 0.6849 |
BZWBK | 264 | 101 | 0.7232 |
CERSANIT | 218 | 147 | 0.5972 |
CEZ | 91 | 68 | 0.5723 |
GTC | 243 | 122 | 0.6657 |
KGHM | 268 | 97 | 0.7342 |
LOTOS | 258 | 107 | 0.7068 |
MOL | 226 | 139 | 0.6191 |
PBG | 215 | 150 | 0.5890 |
PEKAO | 282 | 83 | 0.7726 |
PGNIG | 254 | 111 | 0.6958 |
PKNORLEN | 256 | 109 | 0.7013 |
PKOBP | 273 | 92 | 0.7479 |
POLIMEXMS | 219 | 146 | 0.6000 |
PROKOM | 233 | 132 | 0.6383 |
TPSA | 265 | 100 | 0.7260 |
TVN | 238 | 127 | 0.6520 |
Reasumując, notowania giełdowe mogą być prognozowane za pomocą systemów wyszukujących wzorce zachowań. Jako podstawowy wniosek uważam, że dla każdej spółki można stworzyć model charakterystycznych zachowań, jak długość łańcucha, konkretny schemat i otrzymać skuteczność nawet 0.6. Zwiększenie prawdopodobieństwa dobrej inwestycji nawet o tylko kilka procent, przy wielu transakcjach daje możliwość realnych zysków. Należy pamiętać, że metoda ta jest tylko jedną z wielu służących do prognozowania cen akcji. Warto zatem uzywać wielu narzędzi a następnie podejmować na ich podstawie decyzję.