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

Miejsce, gdzie każdy może prowadzić swój własny dziennik gry na FX.
Awatar użytkownika
neosb
Gaduła
Gaduła
Posty: 114
Rejestracja: 12 lis 2011, 21:36

Nieprzeczytany post autor: neosb »

nie chcę mieszać w temacie, ale ta cała dynamika jaką uzyskuje się wplatając sieci neuronowe i algorytmy genetyczne w efekcie musi zostać spłaszczona z powrotem do zero-jedynkowej decyzji (trend/konsolidacja albo wejść/wyjść) - żeby chociaż przybliżyć mój punkt widzenia - dodałbym jednoczesne działanie na wielu instumentach (otwiera to możliwość podjęcia bardziej złoźonych decyzji),

a historia na poziomie 500 15 minutowych okresów nie daje możliwości rozwinięcia szczególnie przydatnych metod prognostycznych.

dodatkowo odnawianie się co jakiś czas agentów jest zdecydowanie wbrew "logice", gdyż o wiele lepiej byłoby zachować agenta który w pewnych warunkach się sprawdzał, a w pewnych nie i uaktywnić go po wykryciu "podobnej" sytuacji - dzięki czemu zachowa cechy (można wówczas wstrzymać jego krzyżowanie z innymi agentami, do czasu ponownej aktywacji).

również odczytywanie tylko bieżącej świeczki jest świadomym ograniczeniem możliwości wykrywania formacji utworzonych przez wskaźniki.

docelowo (jeżeli wyjść poza samo programowanie dla zabawy i ciekawości) bym opracował implementację która wygląda na kształt "wykrywacza" formacji harmonicznych, które wyewoluowało ze wskaźnika do mt4 - korharmonics. ale to tak w ramach porównania i chęci przyjżenia się efektom pracy...

na dziś to coś w stylu rozdawania talii 9000 kart i układanie figur z 500 na ręce ale tylko w jednym kolorze ;) - proponuję zwiększyć to co w ręce, dorzucić bardziej skomplikowane odpowiedzi (chociażby o przewidywanie tp, sl) i przeanalizować jak najwięcej instrumentów, zapisywać na bieżąco najlepszych agentów i używać ich jako domyślnych przy starcie, lub zmianie instrumentu i koniecznie analizować wcześniejsze świeczki w poszukiwaniu podobnych (znormalizowanych?) zmian.

opinia wydana na oko...

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

Nieprzeczytany post autor: LowcaG »

neosb pisze:nie chcę mieszać w temacie,
Mieszanie jest jak najbardziej wskazane.

neosb pisze:[...]w efekcie musi zostać spłaszczona z powrotem do zero-jedynkowej decyzji (trend/konsolidacja albo wejść/wyjść) [...]
Oczywiście
neosb pisze:dodałbym jednoczesne działanie na wielu instumentach (otwiera to możliwość podjęcia bardziej złoźonych decyzji),
To jest jakaś myśl. Tylko muszę albo
a) ograniczyć trochę ilość możliwych wskaźników z jednej pary
b) dokupić sobie ramu ;) (co akurat wiąże się z wymianą kompa)

W każdym razie nie trudno będzie "przerobić" po testach na jednej (nie spodziewam się dużo po nich) spróbuję na wielu parach.

neosb pisze:a historia na poziomie 500 15 minutowych okresów nie daje możliwości rozwinięcia szczególnie przydatnych metod prognostycznych.
hm..tak myślisz? nawet przy TP = 23 5 dni wstecz nie wystarczy? No i uwzględniam tez tam średnie z TF 1h np. MA 100 (to moja max MA) czyli dla świeczki 500 (tej 15 minutowej) owa Ma100 sięga o kolejne 4 dni wstecz.
W każdym razie sprawa na pewno do przemyślenia...później zobaczę ile mi ramu zostanie to spróbuję zwiększyć.

neosb pisze:dodatkowo odnawianie się co jakiś czas agentów jest zdecydowanie wbrew "logice",[..] (można wówczas wstrzymać jego krzyżowanie z innymi agentami, do czasu ponownej aktywacji).
hm.. to jest godne uwagi... "zmartwychwstanie" ;) Na pewno to jakoś uwzględnię. Sprawdzę po prostu i tak i tak, zobaczymy.

neosb pisze:również odczytywanie tylko bieżącej świeczki jest świadomym ograniczeniem możliwości wykrywania formacji utworzonych przez wskaźniki.
Tu akurat bym się spierał. Jak się tak głębiej zastanowiłem,(myślałem akurat o MA) to wartości o różnym periodzie, na tej samej świeczce, nie dają dużo mniej informacji odnośnie np. 10 świeczek wstecz.(Mówię akurat o różnicy między różnymi MA).

neosb pisze:docelowo (jeżeli wyjść poza samo programowanie dla zabawy i ciekawości) bym opracował implementację która wygląda na kształt "wykrywacza" formacji harmonicznych, które wyewoluowało ze wskaźnika do mt4 - korharmonics. ale to tak w ramach porównania i chęci przyjżenia się efektom pracy...
Koncepcja bardzo dobra...ale to chyba nie w tym projekcie, tutaj idea jest nieco inna i ciężko mi na ten moment jakoś to połączyć. Bo sieci neuronowe tutaj będą służyć trochę innym celom.
Mógłbyś trochę rozwinąć temat, bo nie jestem pewien czy dobrze rozumiem.

neosb pisze:na dziś to coś w stylu rozdawania talii 9000 kart i układanie figur z 500 na ręce ale tylko w jednym kolorze Wink - proponuję zwiększyć to co w ręce, dorzucić bardziej skomplikowane odpowiedzi (chociażby o przewidywanie tp, sl) i przeanalizować jak najwięcej instrumentów, zapisywać na bieżąco najlepszych agentów i używać ich jako domyślnych przy starcie, lub zmianie instrumentu i koniecznie analizować wcześniejsze świeczki w poszukiwaniu podobnych (znormalizowanych?) zmian.
Powiedział bym, że jeden agent to ma 6 kart na ręce, ale pamięta troszkę więcej rąk ;)
Tyle, że agentów jest więcej. Ograniczenie odpowiedzi jest akurat celowo zawarte, a to co piszesz, może powodować przeoptymalizowanie (Pogrubione).
cały myk polega na tym, że startowo agenci są losowi(lub "losowi" bo mam jeszcze pewną koncepcje, ale na razie nie mieszam). Główną myślą przewodnią jest adaptacja. Dlatego, nigdy nie ma drugiego przebiegu z nauczonymi/dobranymi agentami.

PS.
Co do przewidywania TP SL na pewno tego nie zrobię a raczej inaczej rozwiążę (znów ram ;) ) po prostu jedna chmara agentów uczy się danego TP SL, inna para innego RR i tak kilka chmar agentów, wszyscy podejmują decyzje niezależnie..a głowny system. na podstawie tych decyzji spróbuje wybrac odpowiednie TP i SL.

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

Nieprzeczytany post autor: LowcaG »

(Dalej nic ciekawego, niestety na początku musi być "klepanka" i testy)

Change log:
-poprawiono obliczanie jednego ze wskaźników( w końcu przetestowałem wszystkie)
- poprawiono błąd logiczny który powodował pewien odchył w stronę większej ilości konsol.
- skończono obsługę statystyk wielu wskaźników


testy(funkcjonalności agenta) :
- wzięto losowe (pierwsze z brzegu parametry, więc dla innych parametrow wskaznika wyniki mogą być inne), a testy służyły tylko spradzeniu po kolei czy wszystkie typy wskaźników działają, i czy agent radzi sobie z obsługą wielu wskaźników.

Wyniki oczywiście jak można się spodziewać blisko losowych ;)
i tak "skuteczność" :(jednego agenta)
  • - stoch 49,84 %
    - atr 50,58 %
    - ma 50,99%
    - "close" 50,94%
A teraz połączone wskaźniki(te same co wyżej)
  • - close+atr 51,4 %
    - close+atr+ma 51,24 %
    - wszystkie 4 51,65 %
Na ten tydz koniec.
W następnym tygodniu jeszcze myślę co zrobić, czy już się zabrać za tworzenie gromady agentów (i później dorobić im docelowe funkcjonalności) czy jeszcze zabawić się, i zrobić optymalizer gentyczny (niestety tu będzie przeoptymalizowanie,a le cóż) który przeszuka (albo postara się przeszukać) top zajebistego agenta, o odpowiednich parametrach dla danego okresu. (Co ogólnie nie ma sensu, bo to jest ten przypadek o którym mówił Green7)

Awatar użytkownika
neosb
Gaduła
Gaduła
Posty: 114
Rejestracja: 12 lis 2011, 21:36

Nieprzeczytany post autor: neosb »

widzę, że masz już koncepcje opracowaną, chociaż nie masz sprecyzowanego systemu który chcesz na bieżąco testować poprzez agentów - tylko zestaw wskaźników które podejmują głosowanie, demokracja w rzeczywistości się nie sprawdza i prowadzi do "demokracji"... myślę o koncepcji, którą zakładasz, że pewni agenci są lepsi od innych. oczywiście z punktu widzenia stabilnego rozwoju i wzrostu gospodarczego - w tym wypadku zysku w portfelu, wydaję się to być prawidłowe, ale eliminuje właśnie tych wspomnianych przeze mnie dezaktywowanych agentów... ci agenci powinni mieć wpisany wyjątek, coś w stylu liberum veto, albo jeszcze lepiej gdyby mogli zawrzeć osobną transakcję i rozpocząć nową "kolonię" agentów na podobnych zasadach, coś w stylu australii, kolonia renegatów.

porównanie do korharmonics z mojego punktu widzenia jest następujące. jako, że uważasz, iż same średnie o różnej długości okresu badanego, i inne wskaźniki mają już wpisane badanie dłuższych okresów niż 500 świec, to zacząłbym tworzyć bazę danych... taką na przykład w mysql lub postgresql, która by zbierała dane na temat instrumentu badanego i występujących pozytywnie rozstrzygniętych decyzji agentów, zakresie ruchu na, niech będzie 500 świec w przód... to by dało ci, nie zabierając ramu, a zabierając pamięć z dysku poważną bazę "wiedzy" agentów, która może posłużyć również do przypisywania wagi każdej jednostkowej decyzji agenta, oraz w skali całego systemu agentów.

docelowo baza danych wyeliminuje sytuację, w której agent musi się "uczyć" od nowa przy ponownych narodzinach, jak przy pierwszym uruchomieniu - dlatego uważam, że nie możesz sobie pozwolić na beztroskie uruchomienie sieci neuronowej, która za każdym razem musi się uczyć od początku i aktywować i dezaktywować agentów, pomimo, że wszystko może być już zapisane w bazie "wiedzy". oszczędzi to początkowych błędów, oraz pozwoli dokładniej monitorować sytuację, a sama baza danych z łatwością może posłużyć do dalszej zabawy, gry czy co byś chciał z nią zrobić ;)

ze względu, że gra odbywa się na świecach 15 minutowych i pozycja trwa zazwyczaj 6 kolejnych świec, zalicza się to do daytradingu, ale równie dobrze, przy wykorzystaniu tej samej bazy agentów, możesz prowadzić pozycję średnioterminowe zwiększające zyski i kompensujące możliwe pomyłki - kolejny powód do przeniesienia danych do bazy - rozumiem, co wynika chyba z pierwszego postu, że nie korzystasz z mqla i nie będziesz miał większych problemów ze zbudowaniem takiej aplikacji, bo to już jest raczej aplikacja niż robot do mt4 - tu jest moja koncepcja w związku z budową zewnetrznego systemu wspomagania decyzji, lub biblioteki...

w czym rzecz? problem z tego rodzaju systemami risk managementu leży w założeniach... jeżeli opierasz na nich decyzję, możesz nie przetrwać momentów, w których rynek "wariuje", czyli odrzucone zostają wszelkie zasady obecne we wcześniejszym okresie, i to jest normalne - co kilka lat mamy na rynku jakieś większe lub mniejsze turbulencje rugujące część uczestników i konsolidujące kapitał w rękach grupy inwestorów korzystających z odmiennej mentalności (sztucznej lub własnej).

zatem pytaniem jest jak zabezpieczyć się przed taką ewentualnością. powtórzę się - baza danych i krzyżowanie się nieaktywnych agentów... do czego to prowadzi? do alternatywy. obecnie żaden z agentów nie może podjąć jednoznacznej decyzji(tu też mogą powstać stopnie odpowiedzi pozytywnej/negatywnej - zamiast obliczania sl i tp)? wówczas pytanie jest kierowane do kolejnych kolonii agentów, dzięki temu nie pozbawiasz możliwości działania (a jak któś dobrze powiedział najważniejszy jest ruch) całego systemu opierając się na tzw. raporcie mniejszości.

i znów problemem jest jak wykryć anomalie i odpowiednio szybko zareagować na turbulencję, albo odrzucić raport mniejszości. tu znowu pomaga baza danych (duża, i dlatego mówiłem o więcej niż 500 świecach). im bardziej obecna sytuacja podobna do zapisanej w bazie danych, tym bardziej należy ufać nieaktywnym agentom - przecież oni już to przerobili.

widzę, że jedynym problem jaki obecnie napotykasz jest wydajność komputera... nie chcę nic sugerować ale w miarę budowy takiej sieci agentów będzie to twój jedyny problem - a pytaniem jakie należy sobie postwić jest koszt jednego agenta. i tu przydaje się startowy "team". jako, że zasoby pamięci i cpu nie są nieograniczone, ja na twoim miejscu prowadziłbym bardzo szczegółowe statystyki działalności agentów - technika dowolna, ale dzięki temu w odpowiednim momencie będziesz w stanie ocenić czy potrzbujesz więcej agentów, kolonii, czy przestrzeni na bazę danych, pamięci ram, cpu, a może to wszystko się tak na prawdę nie opłaca, ponieważ nie ma żadnych realnych wyników i właściwie należałoby zmienić założenia ;)

zaznaczam, że nie jestem dyplomowanym ekspertem, po prostu wyrażam swoje obawy i spostrzeżenia jakie na bieżąco przychodzą mi na myśl w związku z budową aplikacji wspomagającej zarządzanie ryzykiem - mam nadzieję, że rozumiesz aluzję...

p.s. w momencie zwiększonej płynności na rynku, wiele instytucji "bada" grunt i wówczas następują największe turbulencje, ze względu na zwiększenie zapotrzebowania na informację o przyszłych ruchach ceny, poszczególni inwestorzy pozwalają sobie na zrzucenie odpowiedzialności na inne podmioty za podjęte decyzję, i możliwe wówczas jest podjęcie decyzji błędnej, ponieważ nastąpiło właśnie głosowanie ważone - ja chcę zarobić to, wykres mówi to, a system podpowiada tak, no i jeszcze niedawno było inaczej... więc w tym miejscu leży problem jeżeli chodzi o operowanie wszystkim co nie dorównuje w umiejętnościach danemu użytkownikowi, jest on skłonny zawierzyć (intencje nieistotne) wszelkim czynnikom zewnętrznym, nawet jeżeli sam myśli i czuje inaczej. dlatego do momentu kiedy twoja sieć nie zacznie przejawiać skłonności do posiadania wyobraźni, tworzenia i realizacji marzeń, żadne z podstawowych cech, nawet same emocje nie wystarczą aby osiągnąć realną, możliwą do utrzymania i wykorzystania przewagę w jakiejkolwiek grze... chyba, że to będzie gra w szachy ;)

p.s. 2 lol. marzenia, wyobraźnia? no to nieźle mi się napisało... ale to chyba cecha każdego tradera, który odniósł sukces, raczej nie spotyka się takich którzy mówią, tak zarabiam, żeby zarabiać ponieważ jestem stworzony do zarabiania i zarabianie to mój jedyny cel egzestyncji. więc czy system sieci neuronowych ma szansę ugrać coś dla użytkownika? jeżeli będzie uzupełniany o coraz bardziej zmyślne zastępy agentów o caraz bardziej specjalistycznej wiedzy i będą oni wykorzystywani tylko do sytuacji, w których potrafią sobie poradzić - jako całość może ten projekt osiągnąć sukces, jednak za cel postawiłbym specjalizację agentów oraz taką analizę obecnej sytuacji, która pozwala wyłonić agenta/agentów odpowiednich do danej dokładnie w tym momencie realizacji zadań, co wyklucza w całości istnienie kolonii agentów znających sytuacje 500 świec w tył, ponieważ potrafią oni ocenić tylko to co działo się niedawno i wszelkie nowości powodują, że ci konserwatyści nie są gotowi na coraz nowsze porcje informacji, ponieważ potrzebują czasu aby przestawić się z jednego sposobu myślenia na drugi, który już w momencie przestawienia ponownie może nie być na czasie i wymaga kolejnego przedziału czasu do dostosowania i tak w kółko. docelowo więc stworzyłbym bazę danych agentów odpowiednich do konkretnej sytuacji i dopiero oni mogliby wspólnie podejmować decyzję z uwzględnieniem zdania najbardziej wyspecjalizowanych agentów oraz tych którzy najlepiej podejmują decyzję i dopiero tutaj bym się zastanawiał nad systemem demokracja, sytem wagowy czy pozwolenia działać wszystkim według skuteczności albo specjalizacji albo jedno i drugie...

trochę tego jest ale myślę, że coś rozjaśniłem w działaniu mechanizmów adaptacyjnych i podejmowania decyzji.

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

Nieprzeczytany post autor: LowcaG »

neosb pisze:demokracja w rzeczywistości się nie sprawdza i prowadzi do "demokracji"...
No tylko w "mojej demokracji" agenci nie mają po jednym glosie, słabsi mają mniej głosów. O deaktywacji czasowej myślę poważnie.

neosb pisze:ci agenci powinni mieć wpisany wyjątek, coś w stylu liberum veto
O tym akurat nie pisałem, ale w bliższym planie jest koncepcja, żeby agenci komunikowali się ze sobą(nie każdy z każdym), ale jestem na etapie nad mentalnym kombinowaniem nad tym ;) .To jest pewna forma liberum veto.



neosb pisze: rozpocząć nową "kolonię" agentów na podobnych zasadach, coś w stylu australii, kolonia renegatów.
hm... kolejna rzecz którą trzeba zapisać do przemyślenia. Musiał bym to jakoś wkomponować.


neosb pisze:latego uważam, że nie możesz sobie pozwolić na beztroskie uruchomienie sieci neuronowej, która za każdym razem musi się uczyć od początku i aktywować i dezaktywować agentów, pomimo, że wszystko może być już zapisane w bazie "wiedzy". oszczędzi to początkowych błędów, oraz pozwoli dokładniej monitorować sytuację, a sama baza danych z łatwością może posłużyć do dalszej zabawy, gry czy co byś chciał z nią zrobić Wink
Właśnie cała koncepcja opiera się na uczeniu od początku, jak wspomniałem akcentem jest adaptacja. Czyli nie wyuczamy się dużej historii, nie optymalizujemy jednego agenta żeby jak najwięcej umiał itd. Ma się szybko adaptować do tu i teraz.
Wychodzę z założenia, że (statystycznie) formacja A z np. ostatniego miesiąca nie ma takiego samego wyniku(statystyki) jak ta sama formacja A z przed 2 lat. Nawet uważam, że 2 lata temu przy tej formacji trzeba było buy(czy tak konsol) a teraz w ciągu ostatniego miesiąca, jest statystyczni SELL. To jest podstawowa teza, dlatego liczy się tylko i wyłącznie krótka historia i adaptacja do niej.

neosb pisze: jeżeli opierasz na nich decyzję, możesz nie przetrwać momentów, w których rynek "wariuje", czyli odrzucone zostają wszelkie zasady obecne we wcześniejszym okresie, i to jest normalne - co kilka lat mamy na rynku jakieś większe lub mniejsze turbulencje rugujące część uczestników i konsolidujące kapitał w rękach grupy inwestorów korzystających z odmiennej mentalności (sztucznej lub własnej).
Czyli jeżeli krótszy okres pamiętanej historii(bez przesady oczywiście) tym większa szansa, że szybko się dostosujemy. :)

neosb pisze:i znów problemem jest jak wykryć anomalie i odpowiednio szybko zareagować na turbulencję, albo odrzucić raport mniejszości. tu znowu pomaga baza danych (duża, i dlatego mówiłem o więcej niż 500 świecach). im bardziej obecna sytuacja podobna do zapisanej w bazie danych, tym bardziej należy ufać nieaktywnym agentom - przecież oni już to przerobili.
Tylko nigdy nie jestem wstanie określić kiedy następuje ten właściwy raport mniejszości, praktycznie co transakcję będę miał raport mniejszości. A co do tego, ze "oni to już przerobili" to równie dobrze mogę powiedzieć "oni mają starą wiedzę, już nie aktualną w dzisiejszych czasach"

neosb pisze:zaznaczam, że nie jestem dyplomowanym ekspertem, po prostu wyrażam swoje obawy i spostrzeżenia jakie na bieżąco przychodzą mi na myśl w związku z budową aplikacji wspomagającej zarządzanie ryzykiem - mam nadzieję, że rozumiesz aluzję...
a ja zaznaczam, że wszelkie sugestie/krytyka/uwagi są mile widziane :)
Inny punkt widzenia, zawsze daje więcej światła na daną sprawę.

co do cpu, ramu itp. To na razie jeszcze się mieszczę (trochę chyba za bardzo dmucham na zimne), i dopóki jest to możliwe, będę unikał bazy danych, bo testy szybciej idą. Ale nie wykluczam, że jeżeli spróbuje dorzucić wskaźniki z innych par walutowych, to będę zmuszony skorzystać z bazy danych.(W sumie widzę też plusy przeliczę sobie parę rzeczy które przeliczam teraz online)

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

Nieprzeczytany post autor: LowcaG »

(Dalsze testy które nie są tym czym mają być docelowo ;) )

W ramach "oglądania" sobie polskich siatkarzy, uruchomiłem wyszukiwanie genetyczne (testuję pewne warianty tego algorytmu), i sprawdzam dla okresu ponad 100 dni czy można znaleźć takie 6 wskaźników(oczywiście, że można) które da na tym wykresie pozytywną skuteczność (jak najlepszą).

Na ten moment wygląda to tak:
Pokolenie;min. skutecznosc z puli agentow;maks.skutecznosc;średnia skut.;ilość różnych wskaźników w puli;

0: min:0.4859 max:0.5360 srednia:0.5127816383563888 genow:4361
1: min:0.5028 max:0.5378 srednia:0.5148 genow:4077
2: min:0.5064 max:0.5378 srednia:0.5163 genow:3751
3: min:0.5088 max:0.5378 srednia:0.5175 genow:3431
4: min:0.5106 max:0.5378 srednia:0.5185 genow:3158
5: min:0.5119 max:0.5416 srednia:0.5195 genow:2893
6: min:0.5135 max:0.5416 srednia:0.5205 genow:2620
[...]
końcówke dopiszę po meczu...
Na razie widać, że da się dobrać takie wskaźniki które mają skuteczność ponad 54%.
Oczywiście nie ma to żadnego znaczenia i sensu, ale to jest test genetyki, a nie poszukiwania tych wskaźników.

ee przerwałem na 16 pokoleniu (prowadzam małą zmianę w "genetyce" i od nowa)
16: min:0.5226 max:0.5416 srednia:0.5276 genow:1201

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

Nieprzeczytany post autor: LowcaG »

Podsumowanie dnia.

Z racji, tego, że miałem "małe" problemy komunikacyjne to dziś za dużo się nie działo.

Skończyłem wczorajsze testy genetyki(w paru pokoleniach i na grupie 1000 agentów). Przypominam, że to nie znaczące testy bardziej wydajnościowo korekcyjne, i nie niosą żadnej ciekawszej treści...
Pierwszy test polegał, że agenci tworzyli swoje statystyki do podejmowania decyzji na podstawie tylko 40 transakcji (chodziło mi o szybkość) (nie mylić z tym 500 jeśli chodzi o historie wskaźników). No i ostatecznie skuteczność (a raczej dopasowanie do rynku) wynosiło 55%.(po 16 pokoleniach wynosiło około (54,25%, test był robiony na okresie około 100 dni)

Dziś zrobiłem test dla takiej samej grupy agentów, tyle, że zapamiętuje 80 transakcji(dalej dla 6 wskaźników na agenta), i jak można się spodziewać, wzrost skuteczności dopasowania był większy a skuteczność po 16 pokoleniach wyniosła 55,26% (Tam to uzyskałem po wielu pokoleniach).
Wychodzi na to, że muszę sprawdzić jeszcze 160 i pewnie 320 transakcji.
Jest to potrzebne aby móc określić górną granicę, której ma sens używać w ewolucji tego parametru(to pewnie w wersji medium)

Z (troszkę ) ciekawszych rzeczy, wersja "primityw" w zasadzie kończy swój rozwój.
Z dzisiejszych zmian to agent otrzymał nową wiedzę(on z niej nie będzie korzystał, tylko system podejmujący ostateczną decyzję) a mianowicie skuteczność swojej predykcji (Nie mylić, ze statystykami transakcji na podstawie których podejmuje decyzję). Jutro będzie ostatni krok wersji prymityw. czyli odpalenie ich w kupie (bez optymalizacji genetycznej) jeden raz, i podejmowanie jednej decyzji na podstawie decyzji wszystkich agentów i ich bieżącej skuteczności predykcji (To będzie ich siła głosu).

Czego się spodziewam? Raczej niczego ;) , myślę, że skuteczność dalej będzie bliska losowej. Ale to będzie krok do przejścia do wersji "medium" czyli agent który otrzyma na początek, 3 wskaźniki "hamujące" (wyjaśnię jak wprowadzę, bo może to być jakiś niewypał ;) ) i okresy czasu na których jeden agent będzie pracował (jeden agent pracuje tylko i wyłącznie w wyznaczonym okresie czasu.

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

Nieprzeczytany post autor: LowcaG »

(Z racji, że w ostatnich dniach tylko śpię w domu nie mam czasu na większe testy, tak więc dziś szału nie ma ale coś do przodu)

Tak jak powiedziałem tak zrobiłem i oto mamy pierwszy krótki test
demokracji gdzie każdy agent ma jeden głos vs demokracji gdzie głosy przyznaje się uwzględniwszy skuteczność

Z racji, że to krótki test, było tylko (dwie grupy) 5 agentów i głosowanie (przy tej samej wiedzy, tych samych (losowych) wskaźnikach itd.) odbyło się tak jak napisano powyżej.

Testowano decyzje błędne, tzn. możliwe są 3 decyzje, trend/consol/nic
liczymy tylko te sytuacje kiedy decyzje grup agentów są różne i sprawdzamy kto się więcej razy pomylił.(Nie liczę na razie, sytuacji kiedy jedna piątka powiedziała "null" a druga trafiła w rynek, teraz liczą się tylko różne decyzje i błędy)

Testów nie było za dużo bo 25 o różnych współczynnikach uczenia, na okresie około 100 dni.

I tak, na 25 testów 24 testy wygrała metoda głosowania z wagą, w jednej był remis. I to tyle z szaleństwa ;) . Bo w skali ww. 100 dni, metoda ta w najlepszym z testów wygrała o 120 transakcji, a średnio o 68,6 transakcji mniej razy straciła gdy decyzje były różne. Dużo ? Mało? Nie ma znaczenia, ważne, że chociaż troszkę ta metoda jest lepsza (nie wiem jak będzie z większą ilością Agentów, może wyniki będą trochę lepsze)


[edit]
Zrobiłem wstępnie parę testów na wynik (czyli uwzględniamy i dobre pozycje i złe) i okazuje się, że jak metoda głosowania z wagą jest mniej błędna, tak też częściej daje sygnał "null" i pomija dobre trady... w tej konfrontacji wstępnie ta metoda przegrywa... jutro sprawdzę i zmniejszę zakres/czułość "null" może się wynik poprawi...

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

Nieprzeczytany post autor: LowcaG »

Z racji, że był mały błąd w wynikach. Musiałem przeprowadzić nowy test.

ogólnie: "demokracja 1 agent 1 głos" VS "demokracja wagowa"

środowisko:
-100 losowych agentów (losowe wskaźniki).
- obydwie demokracje używają tych samych agentów, czyli różnica występuje tylko w liczeniu głosów.

testów: 50
co testowano: wynik (czyli ilość osiągniętych TP - ilość osiągniętych SL)
po 50 testach. Wynik demokracji z wagą, był o 5% lepszy.

Rano odpalę jeszcze test na skuteczność, bo może któraś(np. demokracja wagowa) z metod otwiera więcej pozycji z taką samą skutecznością(lub nawet mniejszą) i stąd lepszy wynik.

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

Nieprzeczytany post autor: LowcaG »

Agent rozwinął się i dostał swój kawałek czasu...

Innymi słowy, teraz agent gdy powstaje losuje sobie przedział czasowy w którym uczy się i działa. Są to wycinki 2+4 h, 4 godziny, na gre(i naukę) i jeszcze wcześniej 2 h, tylko na naukę (bez gry).

Teraz agent nie prowadzi statystyki skuteczności z poza swojego czasu, ma to swoje plusy i minusy.
Co zauważyłem na początku, to większa rozpiętość skuteczności agentów, co jest w sumie normalne.

Rozpiętość jest na tyle duża, że jak wcześniej szukałem genetycznie najlepszego agenta okresie 100 dni, to rozpiętość (w pokoleniu 0) między najlepszym i najgorszym była mniej więcej od 48% do 52% procent.

Tutaj (w pokoleniu 0 )rozpiętość wynosiła od 42%! do 56,6%, czyli na starcie jeden z agentów miał lepszą skuteczność niż po 16 pokoleniu w poprzedniej metodzie...

Właśnie liczą mi się pokolenia.. za 10 minut będę miał wynik z 16 pokolenia, zobaczymy co wyjdzie...
... a tymczasem jak tak patrzę na wyniki i porównuję to widzę, że na starcie średnią skuteczność z godzinami mam mniejszą niż agenci całodobowi..ale szybko z pokolenia na pokolenie wersja z zakresami czasowymi wyprzedziła poprzednie rozwiązanie..hm..w sumie to dobrze...

No i mam wynik: agent najbardziej dopasowany (w tym okresie 100 dni) osiągnął skuteczność 60,8% jak można było się tego spodziewać nastąpiło lepsze dopasowanie(bo dodaliśmy nowy punkt swobody). Oczywiście dalej nic z tego praktycznego nie mamy, bo prze optymalizujemy system.

Następnym etapem będzie dodanie niestety kolejnego punktu swobody, czyli wspomnianych wcześniej wsk. hamujących (mam na razie wątpliwości co do nich, ale zobaczymy)

ODPOWIEDZ