zastosowania sieci neuronowych -...

56
Zastosowania sieci neuronowych predykcja - giełda LABORKA © Piotr Ciskowski

Upload: doanthien

Post on 02-Mar-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

Zastosowania sieci neuronowych

predykcja - giełda

LABORKA © Piotr Ciskowski

Page 2: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

INDEKS WIG20AKCJE

Page 3: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• plik giełda-WIG.xlsx :

– dane:

• indeks WIG od 1991 do 2005 – ok. 3000 sesji bez ostatniej szalonej hossy

• dla każdej sesji: - indeks open/high/low/close + zmiana%- obroty + zmiana%

– analiza:

• wykresy długie i krótkie, z całości i z części

• proste podsumowanie statystyczne: min, max, średnia itp.

– skąd brać dane:

• z biur maklerskich, np. www.bossa.pl - dane tekstowe w formacie Metastocka

• z programów – platform transakcyjnych, np. Metatrader – Centrum historii

Page 4: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:
Page 5: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:
Page 6: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:
Page 7: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

PREDYKCJA „NAIWNA”FUNKCJE TOOLBOX’OWE

Przykład 1

Page 8: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• Naucz sieć przewidywać przyszłe notowania indeksu WIG20na podstawie notowań przeszłych

• wejścia: wartość indeksu dziśwartość indeksu wczorajwartość indeksu przedwczoraj

• wyjście: wartość indeksu jutro

• Użyj funkcji toolbox’owych MATLABa

przykład 1. predykcja „naiwna” – funkcje toolbox’oweźródło: własne

Page 9: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• skrypt wigStudPredykcjaNaiwnaFunkcjeToolbox.m :

– dane:

• indeks WIG od 1991 do 2005

• dla każdej sesji: - indeks open/high/low/close + zmiana%- obroty + zmiana%

– wskazówki, co w jakiej kolejności robić:

• wybór danych wejściowych

• preprocessing / skalowanie danych

• przygotowanie zbioru uczącego

• podział danych uczących na ciągi: uczący, sprawdzający i testujący

• wybór architektury sieci

• utworzenie / inicjalizacja sieci

• nauka sieci na ciągach: uczącym/sprawdzającym

• sprawdzenie działania sieci na ciągu testującym

przykład 1. predykcja „naiwna” – funkcje toolbox’oweźródło: własne

Page 10: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

clear all;

WIG = [ ...

% DATA OPEN HIGH LOW CLOSE zmiana% VOL zmiana%

19910416 1000.00 1000.00 1000.00 1000.00 0.00 3.960 0.0 ;

19910423 967.70 967.70 967.70 967.70 -3.23 54.630 1279.55 ;

...

20050131 25858.64 26010.14 25804.16 25992.99 0.78 387246.372 -38.03 ;

20050201 25988.00 26313.54 25978.94 26297.25 1.17 675357.745 7 ] ;

% -----------------------------------------------------------------------

% predykcja „naiwna”

%

% - wejścia sieci: - notowanie dziś

% - notowanie wczoraj

% - notowanie przedwczoraj

% - żądane wyjście: - notowanie jutro

przykład 1. predykcja „naiwna” – funkcje toolbox’oweźródło: własne

Page 11: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

przykład 1. predykcja „naiwna” – funkcje toolbox’oweźródło: własne

0 500 1000 1500 2000 2500 30000

0.5

1

1.5

2

2.5

3x 10

4 Wszystkie dane uczace - indeksy

0 500 1000 1500 2000 2500 30000

5

10

15x 10

5 Wszystkie dane uczace - obroty

Page 12: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

przykład 1. predykcja „naiwna” – funkcje toolbox’oweźródło: własne

0 500 1000 1500 2000 2500 3000-0.5

0

0.5

1

1.5

2

2.5

3

3.5x 10

4 Odpowiedzi sieci - przed uczeniem

nr przykładu

indeks

Page 13: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

0 500 1000 1500 2000 2500 3000-3

-2

-1

0

1

2

3x 10

4 Odpowiedzi sieci - przed uczeniem

nr przykładu

indeks

przykład 1. predykcja „naiwna” – funkcje toolbox’oweźródło: własne

Page 14: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

Podaj liczbę neuronów w warstwie ukrytej: 10

Podaj maksymalną liczbę epok uczących: 1000

Podaj docelowy błąd MSE: 0.001

przykład 1. predykcja „naiwna” – funkcje toolbox’owe – sieć 1źródło: własne

Page 15: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

Podaj liczbę neuronów w warstwie ukrytej: 10

Podaj maksymalną liczbę epok uczących: 1000

Podaj docelowy błąd MSE: 0.001

przykład 1. predykcja „naiwna” – funkcje toolbox’owe – sieć 1źródło: własne

Page 16: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

Podaj liczbę neuronów w warstwie ukrytej: 10

Podaj maksymalną liczbę epok uczących: 1000

Podaj docelowy błąd MSE: 0.00001

przykład 1. predykcja „naiwna” – funkcje toolbox’owe – sieć 2źródło: własne

Page 17: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

Podaj liczbę neuronów w warstwie ukrytej: 10

Podaj maksymalną liczbę epok uczących: 1000

Podaj docelowy błąd MSE: 0.00001

przykład 1. predykcja „naiwna” – funkcje toolbox’owe – sieć 2źródło: własne

Page 18: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

Podaj liczbę neuronów w warstwie ukrytej: 10

Podaj maksymalną liczbę epok uczących: 1000

Podaj docelowy błąd MSE: 0.00001

przykład 1. predykcja „naiwna” – funkcje toolbox’owe – sieć 2źródło: własne

Page 19: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

Podaj liczbę neuronów w warstwie ukrytej: 10

Podaj maksymalną liczbę epok uczących: 1000

Podaj docelowy błąd MSE: 0.00001

przykład 1. predykcja „naiwna” – funkcje toolbox’owe – sieć 2źródło: własne

Page 20: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

PREDYKCJA „NAIWNA”FUNKCJE WŁASNE

Przykład 2

Page 21: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• Naucz sieć przewidywać przyszłe notowania indeksu WIG20na podstawie notowań przeszłych

• wejścia: wartość indeksu dziśwartość indeksu wczorajwartość indeksu przedwczoraj

• wyjście: wartość indeksu jutro

• Użyj własnych funkcji do symulacji sieci: init2dzialaj2ucz2 - metoda najszybszego spadku

z momentumi adaptacyjnym współczynnikiem uczenia

- wykres błędu MSE podczas uczenia

przykład 2. predykcja „naiwna” – funkcje własneźródło: własne

Page 22: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• skrypt wigStudPredykcjaNaiwnaFunkcjeWlasne.m :

– dane:

• indeks WIG od 1991 do 2005

• dla każdej sesji: - indeks open/high/low/close + zmiana%- obroty + zmiana%

– wskazówki, co w jakiej kolejności robić:

• wybór danych wejściowych

• preprocessing / skalowanie danych

• przygotowanie zbioru uczącego

• podział danych uczących na ciągi: uczący, sprawdzający i testujący

• wybór architektury sieci

• utworzenie / inicjalizacja sieci

• nauka sieci na ciągach: uczącym/sprawdzającym

• sprawdzenie działania sieci na ciągu testującym

przykład 2. predykcja „naiwna” – funkcje własneźródło: własne

Page 23: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

PREDYKCJA PRZYROSTÓW

Przykład 3

Page 24: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• Naucz sieć przewidywać zmiany przyszłych notowań indeksu WIG20na podstawie zmian notowań przeszłych

• wejścia: zmiana% wartości indeksu dziś-wczorajzmiana% wartości indeksu wczoraj-przedwoczrajzmiana% wartości indeksu przedwczoraj-przedprzedwczoraj

• wyjście: zmiana% wartości indeksu jutro-dziś

• Użyj funkcji toolbox’owych MATLABa

przykład 3. predykcja „sprytniejsza” – zmiany indeksuźródło: własne

Page 25: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

% -----------------------------------------------------------------------

% wybranie danych

% w drugiej kolumnie jest indeks - otwarcie

% w trzeciej indeks - high

% w czwartej indeks - low

% w piątej indeks - zamknięcie

% w szóstej indeks - zamknięcie – zmiana od dnia poprzedniego

% w siódmej obroty

% w ósmej obroty - zmiana od dnia poprzedniego

indeks = WIG(:,6);

obroty = WIG(:,8);

przykład 3. predykcja „sprytniejsza” – zmiany indeksuźródło: własne

Page 26: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

% -----------------------------------------------------------------------

% skalowanie danych- dla przyrostów nie trzeba

% - przecież one są w większości od -10 do +10

przykład 3. predykcja „sprytniejsza” – zmiany indeksuźródło: własne

Page 27: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

WALUTY, SUROWCE, INDEKSY

Forex

Page 28: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

FOREX - źródło danych: Centrum historii

Page 29: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• plik dane.forex.2009.rar :

– dane (prn):

• EURUSD MN, W1, D1, H1

• EURPLN D1

• GBPUSD D1

• USDJPY D1

• USDPLN D1

• GOLD D1, H4

• OIL D1, H4

• US500,100,30 D1

• W20 D1, H1

• plik dane.forex.2013.7z :

– dane (csv):

• EURUSD MN, W1, D1, H1, M30, M15, M5, M1

• EURPLN, USDPLN W1, D1, H1

• GOLD, OIL W1, D1, H1

• W20 W1, D1, H1

Page 30: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

UCZENIE STRATEGII

Przykład 4

Page 31: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• Naucz sieć prostej strategii opartej na średnich ruchomych:(źródło poniższej: J.J. Murphy. Analiza techniczna rynków finansowych)

o średnia krótkookresowa: 5 okresów

o średnia długookresowa: 20 okresów

o sygnał KUP: - przecięcie od dołuśredniej 20 przez średnią 5

o sygnał SPRZEDAJ: - przecięcie od góryśredniej 20 przez średnią 5

zysk ok. 4000 pipsóww ok. 47 dni

przykład 4. uczenie strategiiźródło: własne

Page 32: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• wejścia sieci: średnia krótkookresowa (z historią)średnia długookresowa (z historią)

• żądane wyjście sieci sygnały: -1 – SPRZEDAJ0 – brak sygnału1 – KUP

lub: -1 – SPRZEDAJ - cały czas gdy średnia krótka pod długą1 – KUP - cały czas gdy średnia krótka nad długą

o strategia typu „zawsze na rynku” = zawsze otwarte zlecenie

o zlecenie KUP zamyka otwarte wcześniej zlecenie SPRZEDAJ – i otwiera KUP

o zlecenie SPZREDAJ zamyka otwarte wcześniej zlecenie KUP – i otwiera SPRZEDAJ

• sygnał ma się pojawiać na początku bieżącej świeczki,więc na wejściach mogą się pojawić tylko wielkości z poprzedniej świeczki i z wcześniejszych

przykład 4. uczenie strategiiźródło: własne

Page 33: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• do uczenia sieci użyj funkcji toolbox’owych MATLABalub własnych funkcji

• wykorzystaj dane: EURUSD – D1, H1, …lub: GOLD - D1lub: W20 - D1lub: jakiekolwiek inne

przykład 4. uczenie strategiiźródło: własne

Page 34: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• sprawdź przydatność innych średnich

• zastanów się, co podawać na wejście sieci

• zastanów się nad lepszym wyjściem z transakcji

• wyeliminuj mało przydatne sygnały

przykład 4. uczenie strategiiźródło: własne

Page 35: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

UCZENIE SYGNAŁÓW

Przykład 5

Page 36: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• Naucz sieć „przewidywać” poprawne sygnały:

– żądane wyjście sieci sygnały: -1 – SPRZEDAJ0 – brak sygnału1 – KUP wg założonej strategii

– wejścia sieci: wg uznania

– przykładowe założenia strategii:

• dla zlecenia KUP poziom SL będzie ustawiony na min. cenie z 5 poprzednich świeczek

• dla zlecenia SPRZEDAJ – na max. cenie z 5 poprzednich świeczek

• sygnał KUP/SPRZEDAJ – gdy w przyszłych 5 świeczkach stosunek zysk/ryzyko będzie >= 3

– sygnał ma się pojawiać na początku bieżącej świeczki,więc na wejściach mogą się pojawićtylko wielkości z poprzedniej świeczki i z wcześniejszych

przykład 5. uczenie sygnałówźródło: własne

Page 37: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

TESTER STRATEGII

ZANIM ZACZNIESZ

Page 38: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• strategia Moving Average

- przykładowa w MetaTrader’ze

- parametry domyślne:

• MA – period: 12

• MA – shift: 6

• instrument: EURUSD

• interwał: D1

tester strategii

Page 39: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

tester strategii założenia, liczba otwartych zleceń

Page 40: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

tester strategii rozmiar zlecenia (zarządzanie kapitałem)

Page 41: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

tester strategii czy jest sygnał do otwarcia zlecenia?

Page 42: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

tester strategii czy trzeba zamknąć zlecenie

Page 43: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

tester strategii funkcja start

Page 44: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

tester strategii

Page 45: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

tester strategii podsumowanie - wykres

Page 46: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

tester strategii podsumowanie - raport

Page 47: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

DOBRE RADY

PODSUMOWANIE

Page 48: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• jak można bawić się w sieci neuronowe na giełdzie:

– za bardzo się nie napalać

• nie oczekiwać kokosów – maszynki do zarabiania – czarnej skrzynki

• nie przeceniać sieci

– to, że sieć daje ładne wykresy / mały błąd MSE, nie oznacza jeszcze, że dobrze działa

– po ich przybliżeniu może się okazać, że sieć zachowuje sięjak zwykły filtr MA z akcentem na ostatnią próbkę

– więc sieć przewiduje po prostu, że jutro będzie to, co było dziś

– ale wykres wygląda ładnie…

– może nawet i błąd wyjdzie nie za duży…

– poczytać o giełdzie

– pograć samemu, a dopiero potem wysyłać na parkiet sieci neuronowe

Page 49: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• jak można bawić się w sieci neuronowe na giełdzie:

– nie przesadzać

• nie używać bardzo dużych sieci

• nie podawać wszystkich dostępnych danych na wejścia

Page 50: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• jak można bawić się w sieci neuronowe na giełdzie:

– podawać na wejścia sieci nie surowe dane, lecz przetworzone

• co najmniej wyskalowane

• najlepiej – starannie wybrane

– zamiast wartości indeksu – przyrosty

– zamiast danych z całego tygodnia – średniąalbo kombinacje: ten tydzień dokładnie + średnia z tygodnia + średnia z miesiąca…

– zamiast/oprócz cen – wskaźniki analizy technicznej

– itd.

Page 51: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• jak można bawić się w sieci neuronowe na giełdzie:

– a może dodać na wejścia dane towarzyszące (kontekstowe)

• np. kurs EURUSD obrazujący stan gospodarki amerykańskiej/europejskiej

• albo kurs ropy obrazujący również sytuacje polityczną na świecie

• albo np. stopy procentowe itp. dane makroekonomiczne

• porę roku, dzień tygodnia…

• byle nie za dużo

• i z sensem

– nie podawać na wejścia sieci czegoś, czego w danej chwili nie znamy!

• przez przypadek

Page 52: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• jak można bawić się w sieci neuronowe na giełdzie:

– odpowiednio wykorzystywać ciąg uczący:

• odpowiednio podzielić na ciąg uczący, sprawdzający i testujący

- hossa, bessa i stagnacja równo reprezentowane w każdym z nich

• odpowiednio pokazywać przykłady w trakcie uczenia:

- lepiej losowo niż sekwencyjnie- kilka przykładów w jednym kroku, poprawki skumulowane

Page 53: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• jak można bawić się w sieci neuronowe na giełdzie:

– a może zmienić zadanie dla sieci, np. predykcja → klasyfikacja

• nie wymagać od sieci, żeby przewidywała dokładnie wartość instrumentu za 5 dni

- niech tylko przewiduje, czy wzrośnie, czy spadnie – wyjścia -1÷1- np. czy w ciągu tych 5 dni wzrośnie o co najmniej 5%, czy nie wzrośnie - wyjścia 0÷1

czy w ciągu tych 5 dni spadnie o co najmniej 5%, czy nie spadnie - wyjścia 0÷1- jednocześnie nie spadając / nie rosnąc o więcej niż 1% (stosunek TP/SL > 3:1)

• wymyśleć sobie strategię inwestycyjną

- pod nią przygotować dane uczące- wejścia: wybrane wielkości, wskaźniki itp.- żądane wyjścia: sygnały kup / sprzedaj / nic nie rób – wyjścia np. 1/ -1 / 0

- skonstruować i nauczyć sieć

- pod każdą strategię przygotować nowe dane i nową sieć

Page 54: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• jak można bawić się w sieci neuronowe na giełdzie:

– a może zmienić zadanie dla sieci, np. predykcja → rozpoznawanie wzorców

• nauczyć sieć rozpoznawać formacje analizy technicznej:M, W, podwójne dna i szczyty, ramiona-głowa-ramiona…

• nauczyć kilka sieci rozpoznawać daną formację w różnych horyzontach czasowych

• nauczyć kilka sieci rozpoznawać różne formacje w tym samym horyzoncie

• rozpoznawać formacje za pomocą map samoorganizujących

• spróbować architektur hybrydowych:

– np. wyjście takiej mapy podać jako jedno z wielu wejśćna sieć MLP podejmującą ostateczną decyzję: kup / sprzedaj

– na inne wejścia np. wartości instrumentu, średnie, wskaźniki techniczne itp.

– na inne wejścia np. wyjścia sieci rozpoznających formacje itp.

Page 55: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• jak można bawić się w sieci neuronowe na giełdzie:

– stosować odpowiednie miary jakości działania sieci

• sieć jest tylko częścią – decyzyjną - systemu transakcyjnego

• równie ważne, jeśli nie najważniejsze, jest zarządzanie kapitałem

• ważne jest także zarządzanie transakcją/wielkością pozycji

• sam błąd sieci (MSE) nie wystarczy do oceny systemu

• należy przetestować cały system na danych historycznych (backtest),a najlepiej przez jakiś czas na żywo (forward test)i obliczyć jego parametry:

– oczekiwaną stopę zwrotu

– stosunek zysków do strat

– największe obsunięcie kapitału

– itp.

Page 56: Zastosowania sieci neuronowych - staff.iiar.pwr.wroc.plstaff.iiar.pwr.wroc.pl/piotr.ciskowski/dydaktyka/sieci.neuronowe/L... · • jak można bawić się w sieci neuronowe na giełdzie:

• jak można bawić się w sieci neuronowe na giełdzie:

– spróbować innych instrumentów - forex:

• giełda amerykańska: S&P500 (USBCASH)

• waluty: EURUSD, GPBUSD, USDJPY…

• surowce: GOLD, OIL…

– oraz powiązań między nimi

– zagrać na próbę w konkursie – wygrać Porsche, Mercedesa itd…