[NeuroGenStatAgent] - Czyli adaptacja albo śmierć ;)

Miejsce, gdzie każdy może prowadzić swój własny dziennik gry na FX.
LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

[NeuroGenStatAgent] - Czyli adaptacja albo śmierć ;)

Nieprzeczytany post autor: LowcaG »

Z racji tego, że "natchnął" mnie wątek o adaptacji (tyle, że tam na razie rozmowy ogólno-teoretyczne) i tego, że w innym wątku obiecałem sobie zwiększyć poziom samodyscypliny, dlatego postanowiłem zrobić coś bardziej praktycznie w nawiązaniu do adaptacji.

Na starcie:
- nie wiem czy dam radę ciągnąć to dłużej niż X
- może to być wątek, nie zbyt często uaktualniany
- na pewno nie będzie zbyt zaawansowany
- wątek niczemu nie służy oprócz mojej motywacji, i być może jakiejś konstruktywnej krytyki, ewentualnym wskazówkom
- wątek nie ma zaplanowanego rozwoju sytuacji, będę tworzył ją na bierząco

Założenia startowe:(które oczywiście mogą się zmienić ;) )
1. na więcej niż 50 % użyje prostych algorytmów genetycznych, mini sieci neuronowych i statystyki

2. jeśli chodzi o opis stanu rynku to użyję bardzo mało rodzai wskaźników
i są to:
a) średnie, nie używam innych wartości niż ze świeczki aktualnej, czyli nie czytam wartości historycznych średnich, nie jest to potrzebne.
b) ATR, - jeszcze nad nim myślę (bo za długo nad tym nie myśalem) bo jest chyba dosyć bardzo skorelowany z czasem.(godzinami)
c) stoch - bo pokazuje coś innego niż średnie ;)
I tyle, nie widzę potrzeby wymyślania niczego nowego co by dało jakąś nową wartość
aa i d) cena - a raczej hm..nachylenie trendu czy jak to tam nazwać.

Wszystkie wskaźniki będą czytane z TF 5, 15, 30, 60 minut, z czego EA działa na TF 15.
Myślę trochę o tym, czy nie policzyć tych wskaźników dla renko, ale to może później (a może nie).

aha i e) czas

3. W pierwszej fazie, robot będzie służył tylko i wyłącznie do określenia czy jest konsolidacja czy trend, w zakresie, nazwijmy to
TP = 15 SL = TP *3
( *3 ) nie jest przypadkowe , TP jest w dużej mierze przypadkowe, nie chcę żeby było za duże, bo w końcu mamy też TF 5.

4. Koncepcja całości- bardzo pobieżnie...może jutro dopisze (mam to w głowie, i nie jest jeszcze klarowne)
(docelowo) cały automat ma składać się z agentów czy "komórek mózgowych"
Zwał jak zwał.
- każdy agent uczy się wg. losowych wskaźników, wg. statystyk.
- każdy agent ma wyznaczony losowy czas w którym działa (są to 4 kolejne godziny)
- dodatkowo każdy agent posiada mini sieć neuronową która "się uczy" na podstawie decyzji innych agentów
- każdy agent ma "gen"/chromosom który definiuje jakich wskaźników używa(+ jeszcze parę innych parametrów np. szybkość adaptacji, pamięć itp)
- każdy agent, jeżeli pomyli się z kolei Y razy, popełnia "samobójstwo"
- co Z transakcji agenci/komórki dobierają się losowo i na podstawie genów tworzą potomstwo i wymienianych jest W agentów,(Tzn. starzy gina a nowi zastępują ich w całym systemie)

cały system agentów daje sygnały (Tzn. każdy agent jeden sygnał) każdemu niezależnie przydzielana jest dynamicznie waga jego skuteczności..

na wyjściu mamy średni wynik...

Koniec ogólnego opisu...
Jutro nad tym pomyślę bardziej...

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

Dane uczące

Z racji tegi, że w MT4 ciężko będzie zrealizować cały proces uczenia,(a po co się męczyć) dlatego na początku trzeba pozyskać dane.

Zmieniam jednak TP 15 pipsów na 23 (Dobra równa liczba pierwsza ;) ), 15 to chyba jednak za mało. SL zostaje oczywiście TP * 3.


Podstawowym TF działania EA bedzie TP 15 min. Dlatego też, tworzymy plik (a właściwie dwa) gdzie zapiszemy
;czas otwarcia; wynik otwartych pozycji <- to do sprawdzania wyniku

i drugi plik
czas zamknięcia pozycji; wynik <--to będzie służyło do nauki


W drugie EA będzie pobierało dane z średnich, będą to średnie o długości z zakresu 3 - 100 (tylko przy wyższych wartościach średnie będa pobierane co np. 5)
W zasadzie to będą oddzielne pliki dla MA, stoch,atr, oddzielne dla każdego TF
Da to jakeiś około 16 plików.

stuktura plików jest prosta
czas;wartości wskaźników; ; ;


Z racji tego, że podstawowy TF to 15 minut, wskaźniki z wyższych TF będa czytane z zerowej świeczki

No to chyba tyle na poczatek, do dzieła...

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

Dane już gotowe

W latach 2009 - 2011, mamy ponad 66 tysięcy transakcji, wystarczająco do testów. I tak jak chciałem aby było, mamy 49,9 % "trendów i 50,1% "konsolidacji".
Dobrze, że nic zbytnio nie dominuje.

Dane uczące (a dokładnie pliki csv) zajmują coś ponad 400 MB, teraz trzeba będzie stworzyć jakiś programik który będzie dawcą wartości dla agentów.

Jego rolą będzie "podawanie" informacji agentom, odnośnie zamkniętych transakcji i wartości wyliczonych ze wskaźników, bo oczywiście np. średnie nie będą po prostu podawane agentom, trzeba je znormalizować.

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

Dostawca danych wersja "primityw" gotowa


W końcu zaczynam się zbliżać do jakiś konkretów, bo na razie to porywające to to nie jest ;)

A więc, na początek jakiś prosty jeden agent, który analizuje tylko jeden wskaźnik.
(pierwszy chyba pójdzie na ogień ATR)
Będę testował (na razie bez żadnych ewolucji, neruonów itp.) jak wielkość pamięci (czyli ile ostatnich X transakcji) wpływa na skuteczność agenta..

Innymi słowy... przelecę różne ATR i różne P (gdzie P = ilość transakcji na których liczymy statystykę) P przyjmie wartość od P =20 do hm.. 1000?

A teraz mini zagadka...
Jeżeli otwieramy transakcje co kwadrans (czyli jedna na kwadrans wypada), a dokładnie otwieramy zawsze parę transakcji(to traktuje jako jedna transakcja). Czyli mamy ponad 67 tysięcy kwadransów w których otworzyliśmy te pozycje, to w ilu kwadransach zostały one zamknięte? Przypominam TP = 23 SL = 3 * TP.

green7
Maniak
Maniak
Posty: 2060
Rejestracja: 16 sty 2008, 18:44

Nieprzeczytany post autor: green7 »

Lowca - jak by Cię to interesowało to mam gdzieś pracę doktorską o algorytmach adaptacyjnych w szeregach czasowych.
LowcaG pisze:A teraz mini zagadka...
Jeżeli otwieramy transakcje co kwadrans (czyli jedna na kwadrans wypada), a dokładnie otwieramy zawsze parę transakcji(to traktuje jako jedna transakcja). Czyli mamy ponad 67 tysięcy kwadransów w których otworzyliśmy te pozycje, to w ilu kwadransach zostały one zamknięte? Przypominam TP = 23 SL = 3 * TP.
Cholera wie :)
Po pierwsze nie bardzo czuję o co pytasz. Co to znaczy w ilu kwadransach zostały zamknięte pozycje ?
Chodzi Ci o to ile średnio trwa pozycja - czy raczej o ogólną ilość kwadransów w których wystąpił TP/SL ?
Jeśli o to drugie to zapewne będzie ona mniejsza od ogólnej liczby kwadransów w których otwierasz (bo większy ruch zamknie kilka pozycji otwartych wcześniej). Ciężko powiedzieć jak łącznie będzie na przestrzeni lat, zmienność była różna. Ale 69 pipsów SL to nie tak dużo - stawiam na to, że ogólna liczba będzie gdzieś z 60-70% ilości pozycji otwartych.
Strzelam - jak kulą w płot :)
Green
Obrazek
Obrazek

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

green7 pisze:Po pierwsze nie bardzo czuję o co pytasz. Co to znaczy w ilu kwadransach zostały zamknięte pozycje ?
Chodzi Ci o to ile średnio trwa pozycja - czy raczej o ogólną ilość kwadransów w których wystąpił TP/SL ?
Rzeczywiście mało precyzyjnie się wyraziłem, tak to jest jak się wie o czym mówi i wydaje się, że to będzie oczywiste dla wszystkich ;)

Chodzi oczywiście o ilość kwadransów w których wystąpił TP/SL.

Odpowiedź (jeżeli niczego nie powaliłem :P ,ale raczej nie) brzmi....nieco ponad 16% :o
Czyli co 6 kwadransów pakuje się w 1 (średnio). W sumie, informacja żadna ciekawa, ale przy takich (moich) adaptacyjnych ważna, bo mamy skokowe napływy danych zmieniające statystykę...

green7 pisze:Lowca - jak by Cię to interesowało to mam gdzieś pracę doktorską o algorytmach adaptacyjnych w szeregach czasowych.
Tutaj raczej są takie bardziej zabawy i nie sądzę, aby wyszło nie wiadomo co..ale z chęcią bym sobie zerknął :D

Awatar użytkownika
rabit
Pasjonat
Pasjonat
Posty: 1139
Rejestracja: 02 gru 2011, 01:10

Nieprzeczytany post autor: rabit »

LowcaG pisze:A teraz mini zagadka...
Jeżeli otwieramy transakcje co kwadrans (czyli jedna na kwadrans wypada), a dokładnie otwieramy zawsze parę transakcji(to traktuje jako jedna transakcja). Czyli mamy ponad 67 tysięcy kwadransów w których otworzyliśmy te pozycje, to w ilu kwadransach zostały one zamknięte? Przypominam TP = 23 SL = 3 * TP.
Szczerze to programowac nie umiem ale moim zdaniem czegos tu brakuje , tak na poczatek moze wskaznik momentum i jakie statystycznie bylo . Ale niestety to chyba za malo , potrzebne sa warunki wejscia w pozycje ?

P.S. nie wiem jak policzyles ze wyszlo 16% , ale mnie wyprzedziles z tym postem .

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

Wszelkie uwagi/sugestie mile widziane...
rabit pisze:Szczerze to programowac nie umiem ale moim zdaniem czegos tu brakuje , tak na poczatek moze wskaznik momentum i jakie statystycznie bylo . Ale niestety to chyba za malo , potrzebne sa warunki wejscia w pozycje ?
Co do momentum, to nic innego jak jaki procent stanowi obecna cena w stosunku do X okresów wcześniej...nic więcej.. to już jest zawarte u mnie w pewnym sensie, w średnich (różnice między nimi) i cenie(tez m.in liczę różnicę i standaryzuję)

Co do warunków wejścia, to będą one opierały się o statystykę ostanich X transkacji... tzn. jeden agent będzie tak działał w uproszczeniu....

Może jaśniej, o najbliższej wersji Agenta (normalnie będzie ich chmara i będą ciut bardziej skomplikowane).

Agent, (który teraz będzie tworzył całe EA) dostanie losowo (chociaż na początek nie będzie losowo tylko przelecę wszystkie po kolei) jakiś wskaźnik, niech będzie ten momentum (chociaż nie widzę jak na razie potrzeby aby go używać). I EA patrzy sobie na ostanie X transakcji i analizuje, że przy danym momentum to bardziej trend, a przy takim to bardziej konsolidacja...no i w oparciu o aktualne momentum "stwierdza", że teraz np. będzie konsolidacja (wg. definicji potrzebnej na ten projekt) czyli otwiera 2 pozycje, (w 2 strony) o TP 23 a sl 69.

[edit]
O kurcze, źłe przeczytałem, o co innego Ci chodziło..zaraz dopiszę :P
(muszę, sie w końcu wyspać :P )
Odpowiadam:
Warunków wejścia nie było, otwierałem transakcje równocześnie w 2 strony, co świeczke 15 min

Awatar użytkownika
rabit
Pasjonat
Pasjonat
Posty: 1139
Rejestracja: 02 gru 2011, 01:10

Nieprzeczytany post autor: rabit »

LowcaG pisze:O kurcze, źłe przeczytałem, o co innego Ci chodziło..zaraz dopiszę
Nie to ja zmienialem post wiec pewnie dlatego .
LowcaG pisze:Warunków wejścia nie było, otwierałem transakcje równocześnie w 2 strony, co świeczke 15 min
Tego nie wiedzialem .
Ze mnie dupa nie trejder!!! :D

green7
Maniak
Maniak
Posty: 2060
Rejestracja: 16 sty 2008, 18:44

Nieprzeczytany post autor: green7 »

LowcaG pisze:Tutaj raczej są takie bardziej zabawy i nie sądzę, aby wyszło nie wiadomo co..ale z chęcią bym sobie zerknął
Poszło na prv.
LowcaG pisze:liczę różnicę i standaryzuję)
Jak standaryzujesz ?

LowcaG pisze:"stwierdza", że teraz np. będzie konsolidacja (wg. definicji potrzebnej na ten projekt) czyli otwiera 2 pozycje, (w 2 strony) o TP 23 a sl 69.
Czemu 2 ? I czy nie lepiej byłoby specjalizować agenta ? Tzn. byliby agenci long i agenci short.
Green
Obrazek
Obrazek

ODPOWIEDZ