do czego optymalizowac system - pytanie o funkcje fitness

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53

Nieprzeczytany post autor: matka »

Wybacz ale też nie jestem orłem ;) Przeczytaj wątek, tam koledzy wyjaśniali co nieco o tym. Ja mogę Cię tylko odesłać do http://en.wikipedia.org/wiki/Sortino_ratio. Osobiście rzadko używam tych wskaźników.
Obrazek
Unfortunately, more to come

259
Maniak
Maniak
Posty: 3968
Rejestracja: 15 cze 2011, 23:20

Nieprzeczytany post autor: 259 »

No tak, ale ja trochę zgłupiałem.

O ile jestem w stanie policzyć rozkład statystyczny z wyników jednego backtest bo mam do tego cały szereg, to jak mogę to zrobić z optymalizacją gdzie mam tylko podsumowanie każdego z pojedynczych testów?
Chyba, że optymalizację będę robił we własnym zakresie jako pętelkę pojedynczych testów (sterując z zewnątrz testerem) co pozwoli mi na zapisanie szczegółów każdego z nich i późniejszą analizę.

A z kolei napisanie EA który by automatycznie analizował historię swojej działalności i... no dobra, analizę da się jeszcze zrobić. Ale co dalej? Zmiana parametrów czy kodowanie genetycznie? Bo mi tak jakoś wychodzi, że to drugie.
Tyle że oprócz kupy roboty to znów prowadzi do curve fitting...

Chyba że błądzę, prawdę mówiąc nawet mam takie wrażenie. Może mnie ktoś oświeci?
Jakże często ludzie mają już gotową opinię zanim zdążą pojąć istotę rzeczy.
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)

Awatar użytkownika
rayzeel
Gaduła
Gaduła
Posty: 357
Rejestracja: 05 lis 2008, 14:47

Nieprzeczytany post autor: rayzeel »

Można stosować jeszcze wzór Profit / DD i do tego można dodać jeszcze wagę liczby transakcji, czyli :

Profit / DD * ((l.tr - pierwiastek(l.tr)/l.tr)

Da nam to pierwszeństwo optymalizacji z większą liczbą tr. przy tym samym Prof/DD.

Jeśli chodzi o wybór to warto skupić się na wzięciu takiego seta, który wokół siebie ma same dobre rezultaty. Bo jeżeli przykładowo weźmiemy set najlepszy to może się okazać, że zmiana parametru w lewo lub w prawo spowoduje stratę, a może się okazać, że gdzieś indziej leży jakaś płaszczyzna bez takiego szczytu i tam należy szukać.

259
Maniak
Maniak
Posty: 3968
Rejestracja: 15 cze 2011, 23:20

Nieprzeczytany post autor: 259 »

Na innym wątku pokazałem taką pułapkę z zyskiem i DD jako procent i wartość absolutna:

Początek: $1000
Zysk na pozycję stały: $15 - wzrost liniowy
MM - brak, ryzykuje całe konto - tak w ramach rozrywki ;-)

I teraz miał no wyniki grupujące się wokół dwóch przypadków (dane podaję z głowy bo dokładnych teraz nie pamiętam):

- ilość transakcji ok 1000 w obu przypadkach
- przypadek 1: zysk $3200, DD 37%, DD absolutny $1110
- przypadek 2: zysk $2300, DD 67%, DD absolutny $678

I który jest lepszy?

Pułapką tutaj jest przypadek 1 gdzie relatywny DD jest lepszy, zysk końcowy jest lepszy, ale DD absolutny jest większy niż depozyt.
To, że przełożyło się to na 37% wynika tylko z tego, że robot zdążył zarobić jakieś $3000 zanim zaliczył dużą stratę.
Ale jakby zaliczył ją na samym początku to MC jak nic.
Ten zaś gorszy wynik był lepszy bo miał większy margines bezpieczeństwa.

I jak teraz to oceniać automatycznie na odstawie samych tylko podsumowań?
Jakże często ludzie mają już gotową opinię zanim zdążą pojąć istotę rzeczy.
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)

Awatar użytkownika
batman
Gaduła
Gaduła
Posty: 159
Rejestracja: 19 kwie 2011, 07:55

Nieprzeczytany post autor: batman »

259 pisze:Chyba, że optymalizację będę robił we własnym zakresie jako pętelkę pojedynczych testów (sterując z zewnątrz testerem) co pozwoli mi na zapisanie szczegółów każdego z nich i późniejszą analizę.
No ja tak wlasnie robie - i potem patrze jak wielkosci takie jak profit/DD czy profit/transakcje zaleza od wartosci parametrow modelu (i okazuje sie, ze zaleza zupelnie inaczej :? )

rayzeel pisze:Można stosować jeszcze wzór Profit / DD i do tego można dodać jeszcze wagę liczby transakcji, czyli : Profit / DD * ((l.tr - pierwiastek(l.tr)/l.tr)
We wzorze brakuje nawiasu, ale rozumiem, ze chodzilo CI o Profit / DD * ( (l.tr - pierwiastek(l.tr) ) /l.tr) ?
A czemu proponujesz cos takiego?
Popatrzylem na to i przynajmniej na pierwszy rzut oka niewiele to wnosi w porownaniu do prifit/DD.
Natomiast natchnales mnie do sprowawania (profit/DD)*(profit/transakcje) (co s sumie daje (profit^2)/(DD*l.tr), hehe) . Bo o ile profit/DD maxymalizuje mi sie na jednym koncu, a profit/transakcje na drugim, to iloczyn tych dwoch maksymalizuje sie w srodku.

Awatar użytkownika
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53

Nieprzeczytany post autor: matka »

259 pisze:MM - brak, ryzykuje całe konto - tak w ramach rozrywki
No to raczej dyskwalifikuje ten przykład do poważnego rozpatrywania w kontekście fitness.
259 pisze:DD absolutny $1110
O ile pamiętam ten przykład to nie chodziło o DD absolutny tylko MAE ale mogę się mylić. Musisz odpowiednim parametrom nadać odpowiednie wagi, tak aby udało się to ubrać we wzór. Oczywiście później nad samym wzorem trzeba jeszcze długo pracować, bo to co będziesz dostawał na wyjściu nie koniecznie będzie Ci się "na oko" podobać.
259 pisze:I jak teraz to oceniać automatycznie na odstawie samych tylko podsumowań?
Właśnie na tym polega cała sztuka. To jest klucz, najważniejsza rzecz w tradingu moim zdaniem.
Obrazek
Unfortunately, more to come

259
Maniak
Maniak
Posty: 3968
Rejestracja: 15 cze 2011, 23:20

Nieprzeczytany post autor: 259 »

matka pisze:
259 pisze:MM - brak, ryzykuje całe konto - tak w ramach rozrywki
No to raczej dyskwalifikuje ten przykład do poważnego rozpatrywania w kontekście fitness.
Nie wiem czy sobie przypominasz takiego jednego co twierdzi, że robi 300 zł dziennie przy pomocy takiego jednego "polskiego" robota?
O tym robocie właśnie mówię - powiedz to jemu, mnie on nie nie chce wierzyć mimo że go kupiłem, przetestowałem i zwrociłem. Głownie z tego powodu ;-)
matka pisze:
259 pisze:DD absolutny $1110
O ile pamiętam ten przykład to nie chodziło o DD absolutny tylko MAE ale mogę się mylić. Musisz odpowiednim parametrom nadać odpowiednie wagi, tak aby udało się to ubrać we wzór. Oczywiście później nad samym wzorem trzeba jeszcze długo pracować, bo to co będziesz dostawał na wyjściu nie koniecznie będzie Ci się "na oko" podobać.
Waga i limity. W tym przypadku powinienem odrzucić wszystkie wyniki w których DD absolutny przekraczał z 70% początkowego depozytu. Co i tak jest masakrą. MT4 ma możliwość ustawienia progu DD relatywnego ale nie absolutnego. To trzeba sobie zrobić samemu.
rayzeel pisze: Jeśli chodzi o wybór to warto skupić się na wzięciu takiego seta, który wokół siebie ma same dobre rezultaty. Bo jeżeli przykładowo weźmiemy set najlepszy to może się okazać, że zmiana parametru w lewo lub w prawo spowoduje stratę, a może się okazać, że gdzieś indziej leży jakaś płaszczyzna bez takiego szczytu i tam należy szukać.
To zależy od algorytmu robota i tego co optymalizujesz.
Jeżeli tym parametrem który generuje wybitny wynik odstający od reszty jest SL czy TP to zgadza się, jest to bardzo podejrzane.
Ale jeżeli jest to coś co wpływa na generowanie sygnałów to już nie jest to takie oczywiste. W takim wypadku zaczynam testować te ustawienia na innych okresach jak również na fragmentach okresu w którym były optymalizowane parametry.
Jakże często ludzie mają już gotową opinię zanim zdążą pojąć istotę rzeczy.
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)

Awatar użytkownika
rayzeel
Gaduła
Gaduła
Posty: 357
Rejestracja: 05 lis 2008, 14:47

Nieprzeczytany post autor: rayzeel »

batman pisze:A czemu proponujesz cos takiego?
Ponieważ ujmuje to dodatkowo l.tr. Wynik nie będzie się dużo różnił, ale zawsze da pierwszeństwo optymalizacjom z większą liczbą transakcji.

To zależy od algorytmu robota i tego co optymalizujesz.
Fakt, jeśli będziemy rozważać temat ogólnie to ciężko jest dobrać uniwersalną metodę. Każdy automat ma swoją specyfikę. Np. ostatni mój projekt pokazuje 2x lepsze wyniki jeśli gra stałym setem w okresie testów niż jak go optymalizuję WF i dobieram set na zasadzie obszaru który opisałem. Obszar wydaje się logiczny i bezpieczny, a dodatkowo pokaże czy idea się sprawdza, bo jeśli co okres obszar dobrych parametrów przesuwa się drastycznie w inne miejsce to już nie jesteśmy w stanie tym grać, bo przecież nie będziemy sobie strzelać w losowy set licząc że okaże się dobry w następnym okresie.

Awatar użytkownika
f16_rocket
Stały bywalec
Stały bywalec
Posty: 56
Rejestracja: 09 wrz 2011, 01:54

Nieprzeczytany post autor: f16_rocket »

proste jest takie cos np:
1. liczysz srednia* stope zwrotu z calego okresu, czyli np miesieczna z n-miesiecy.
2. jedziesz po tych n-okresach i patrzysz czy konkretna stopa odchylila sie od sredniej o wiecej niz 1%, jesli tak zliczasz te przypadki (jest ich np n1) i masz ryzyko na poziomie 1%
3.to samo robisz dla 2%, 3%... i masz ryzyka na odpowiednich poziomach

*trzeba uwzglednic czy interesuje Cie skladanie proste czy zlozone, czy moze kapitalizacja ciagla

taki prosciutki ALG

Dodano po 1 minutach:

ryzyko wyrazone np przez n1/n

Dodano po 57 minutach:

mozna tez brac kurtoze rozkladu ale wiecej zabaw, poza tym mowi ona niewiele o tym, ze jakis tam jeden n mial znaczne odchylenie, a to jest tu kluczowe

sortino ratio wrecz zupelnie nie pasuje, bo mierzy niedomiar do okreslonej stopy nie odchylenia od niej, zatem jest to cos calkiem odwrotnego niz szukasz

proste jest tez takie cos:
suma wyrazen typu {exp[100P(x-mi)^2]-1} gdzie stopy sa wyrazone ulamkowo (0.01, 0.05 itd) a P to zwiekszenie kary, mozna eksperymentowac. Taka miara nagradza stabilnosc w sensie malego odchylenia od sredniej stopy mi, mysle ze P np mozna sprobowac =1, =2, 3, 10
nie wiem czy dziala - nie sprawdzalem

ODPOWIEDZ