Wątek przeniesiony 2015-04-20 15:23 z Edukacja przez somekind.

Sieć neuronowa uczącą się przewidywania indexu na giełdzie.

0

Mam do wykonania projekt, taki jak w temacie w języku Matlab. O sieciach neuronowych co nie co wiem gorzej u mnie z finansami. Sieć ma się nauczyć przewidywać wartość indexu WIG20, lub innego mWIG40, sWIG80. Nie wiem jak skompletować dane wejściowe i wyjściowe. Czy dobrze rozumiem, jeśli wig20 to dane 20 największych spółek, to powinienem wziąć notowania historyczne(np. rok wstecz) tych 20 spółek jako wektor wejściowy, a wektor wyjściowy to wartość Wig20 też rok wstecz?

0

Trzeba poszukać korelacji pomiędzy danymi wejściowymi a wynikowymi i na tej podstawie dobrać dane wejściowe, utworzyć wektory uczące, testujące itd. Co chcesz przewidywać dokładnie? Dane oczywiście trzeba znormalizować. Tak w skrócie.

3

Ale co tutaj ma być danymi wejściowymi? Bo przecież "predykcja" wig20 na podstawie wyników spółek to idiotyzm, bo taką predykcję to ja mogę zrobić w 2 linijkach kodu bez zadnych sieci neuronowych. Wig20 wynika bezpośrednio z tych notowań więc tu nie ma co przewidywać, to jest prosta formuła matematyczna...

0

Napisałem, że się na finansach nie znam. Zostały ostatnie tematy projektu, więc taki wziąłem.

1

Równie dobrze możesz przewidywać wyniki totolotka.

Autor zadania albo jest przesadnym romantykiem albo to zadanie powstało kilka lat temu.

Co możesz zrobić:

  • uczyć sieć neuronową przy pomocy algorytmów genetycznych
  • próbować automatycznie ustalić wymagane dane wejściowe (filtry, opóźnienia)
  • porównać wynik (błąd) przewidywania z estymatorem losowym (losującym wynik przez random)
  • złożyć wyniki kilku różnych estymatorów
  • w najlepszym przypadku wynik będzie odrobinę lepszy od wyniku tego e. losowego
0

Nie jestem romantykiem. Też to zadanie wydaje mi się bez sensu, dodatkowo nie studiuję ekonomii, tylko informatykę.

4

Jak napisał Shalom, wartość Wig20 to funkcja notowań spółek należących do tego indeksu więc przewidywanie na podstawie ich kursów to jak przewidywanie średniej wieku grupy osób na podstawie wieku poszczególnych członków, mam nadzieję, że widzisz o co chodzi.

Możesz natomiast próbować przewidywać na podstawie innych wskaźników. Jakich? Kwestia wyboru jest trudną, a jakość przewidywań zapewne i tak będzie niewiele lepsza od losowej zmiany (gdyby było inaczej zarabianie na giełdzie byłoby banalne): zapewne wynik będzie skorelowane z kursami walut i innych indeksów giełdowych.

Tutaj gość się tym bawił:
http://sequoia.ict.pwr.wroc.pl/~witold/aiarr/2009_projekty/w20/

P.S. Co wy macie z tym "Ja jestem X, nie Y więc nie będę tego robił/nie muszę mieć podstawowej wiedzy o świecie z innej dziedziny niż własna"? Przecież to jest auto-diss pierwszej próby. Humaniści nie potrafią policzyć rozliczyć PITa, informatycy nie wiedzą czym jest indeks giełdowy, a ci z budownictwa twierdzą, że książki nie są dla nich. Eh.

0

Ja bym zrobił to tak:

Pobieram dane dla wig20 np. z http://stooq.pl/q/d/?s=wig20. Następnie na podstawie cen (otwarcie, minimum, maksimum, zamknięcie) i wolumenu liczę jakieś wskaźniki (poczytaj np. o analizie technicznej) i te wskaźniki to będą dane wejściowe, reszta to chyba już z górki.

0
Wielki Kaczor napisał(a):

Ja bym zrobił to tak:

Pobieram dane dla wig20 np. z http://stooq.pl/q/d/?s=wig20. Następnie na podstawie cen (otwarcie, minimum, maksimum, zamknięcie) i wolumenu liczę jakieś wskaźniki (poczytaj np. o analizie technicznej) i te wskaźniki to będą dane wejściowe, reszta to chyba już z górki.

nie ma zbytniego sensu przewidywanie wartosci indeksu wylacznie na podstawie danych historycznych. prosciej bedzie po prostu losowac, rezultaty nie beda gorsze :)

0
katelx napisał(a):
Wielki Kaczor napisał(a):

Ja bym zrobił to tak:

Pobieram dane dla wig20 np. z http://stooq.pl/q/d/?s=wig20. Następnie na podstawie cen (otwarcie, minimum, maksimum, zamknięcie) i wolumenu liczę jakieś wskaźniki (poczytaj np. o analizie technicznej) i te wskaźniki to będą dane wejściowe, reszta to chyba już z górki.

nie ma zbytniego sensu przewidywanie wartosci indeksu wylacznie na podstawie danych historycznych. prosciej bedzie po prostu losowac, rezultaty nie beda gorsze :)

Jasne, że tak. Tylko moja odpowiedź była bardziej skierowana na tą część "Nie wiem jak skompletować dane wejściowe i wyjściowe". To przy okazji zapytam, co należy uwzględnić oprócz danych historycznych?

0

wydarzenia biezace :)
wplyw ma masa innych rzeczy np. inne rynki finansowe, wartosci indeksow, ceny surowcow, dzialania bankow, wydarzenia w polityce i gospodarce, kleski zywiolowe, pogoda itd itp, ogolem wszystko ;)

0

Zastanawiam się na ile skuteczna w tym przypadku byłaby chociażby predykcja szeregów czasowych metodą przesuwanego okna czasowego przy użyciu sztucznej sieci neuronowej typu MLP albo algorytmów genetycznych.

Robiłem kiedyś takie doświadczenia, z tym że miałem jakieś notowania historyczne zbóż, zauważyłem że tutaj nie było jakichś specjalnych problemów ale przy testowaniu na przedziale w którym sieć się nauczyła. Podejrzewam że tego typu prognozy powinny być w miarę trafne ale w odniesieniu do bardzo krótkiego okresu na przód.

Tak w skrócie, to praktycznie np. ta metoda przesuwanego okna czasowego jest realizowana tak. Jest np. sieć MLP która ma np. 5 wejść i jedno wyjście, na te 5 wejść podaje się po prostu 5 notowań wstecz, na wyjście notowanie np. z dnia bieżącego i później przesuwa się tak kolejno o jeden dzień, więc w ten sposób ta sieć uczy się co będzie dalej, na podstawie wartości które były wcześniej. Z założenia więc miałbym gdzieś to od jakich czynników zależy WIG20.

Nie wiem na ile skuteczna w przypadku WIG20, akcji czy innych tego typu notowań byłaby ta metoda predykcji szeregów czasowych i podejrzewam że sprawa nie jest taka prosta jakby się wydawało.

0

ciekawe zagadnienie. swoja droga, wiele strategii algorytmicznych nie majacych za wiele wspolnego ze sztuczna inteligencja dosc dobrze daje sobie rade z osiaganiem zysku, nie znam sie na sieciach neuronowych wiec ciezko mi oceniac mozliwe benefity.

0
katelx napisał(a):

ciekawe zagadnienie. swoja droga, wiele strategii algorytmicznych nie majacych za wiele wspolnego ze sztuczna inteligencja dosc dobrze daje sobie rade z osiaganiem zysku, nie znam sie na sieciach neuronowych wiec ciezko mi oceniac mozliwe benefity.

Wystarczy zeby zysk byl wiekszy w skali roku od lokaty w realnej grze (nie na kontach wirtualnych)..

2
katelx napisał(a):

ciekawe zagadnienie. swoja droga, wiele strategii algorytmicznych nie majacych za wiele wspolnego ze sztuczna inteligencja dosc dobrze daje sobie rade z osiaganiem zysku, nie znam sie na sieciach neuronowych wiec ciezko mi oceniac mozliwe benefity.

Zyski to chyba swoją drogą :-) O wiele ważniejsza jest chyba trafność prognoz. Tu ciekawy materiał do poczytania:

http://winntbg.bg.agh.edu.pl/rozprawy/9848/full9848.pdf

0

@drorat1, bardzo ciekawa rzecz, dzieki. parametry wejsciowe czesciowo sie pokrywaja z tym co jest uzywane w algorytmach tradingowych, ciekawa jestem czy ktos kiedys zrobil porownanie na zywym rynku :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1