Technische Analyse « Terug naar discussie overzicht

prt backtesting trailing stop

14 Posts
Psylo
0
Iets wat me al langer dwars zit bij ProRealTime;

Als ik een trailing stop wil gebruiken in een backtest, dan komen er veel te goede resultaten naar voren. Als ik vervolgens de trades langsloop zie ik al snel dat dit komt omdat de backtest niet ziet wat er binnen een bar is gebeurd. Het komt bijvoorbeeld best vaak voor dat de backtest een positieve trade noteert terwijl als je intraday goed gaat kijken naar het koersverloop dat het juist een verlies zou zijn omdat het koersverloop in eerste instantie de verkeerde kant op gaat.

Nu kan dit wel deels voorkomen door pas op het einde van de bar te laten triggeren maar ik vind dit geen oplossing. Kan je niet op een slinkse wijze op tick/tick basis die trailing stop laten controleren? Bij andere software lijkt dit namelijk wel te kunnen.
novital
0
Zo werkt PRT nu eenmaal. Je kunt er slechts mee handelen op de tijdsgrenzen van de bars, open of slot. Ik zie dat niet als een groot bezwaar.
Met welke frequentie werk je eigenlijk? Dag, uur, kwartier? Als een stop getriggerd wordt tijdens een bar, dan wordt daarop pas actie ondernomen bij het einde van die bar of bij het begin van een nieuwe. Een stop kan afgaan binnen een barperiode, maar de koers kan ook weer opveren en zo kan die zelfde bar toch boven een long stop sluiten.

Je zegt ‘veel te goede’ resultaten. Komt dat alleen door het bovenstaande fenomeen? Dat lijkt me overdreven. ‘Veel te goede’ resultaten kun je door over-optimalisatie en te strakke curve fitting redelijk makkelijk genereren op in-sample perioden. Om die reden mag je handelssystemen enkel en alleen beoordelen door middel van objectieve (o.a. statistische) toetsen op je out-of-sample resultaten.
Psylo
0
quote:

schreef:

Als een stop getriggerd wordt tijdens een bar, dan wordt daarop pas actie ondernomen bij het einde van die bar of bij het begin van een nieuwe
Dit is niet helemaal waar.
Als je kiest voor "direct wanneer getriggerd" wordt direct verkocht, IN de bar.
Je kan inderdaad kiezen voor "op slotkoers huidige bar" dan wordt pas gecontroleerd op het einde van de bar.
Maar hoe realistisch is dat? Een trailing stop of een stoploss laat je (ik wel) meestal realtime meelopen. Wordt deze geraakt, verkoop je.

Het fenomeen doet zich altijd voor, welk timeframe je ook gebruikt. Wel gebeurt het alleen als je een relatief kleine (trailing) stop gebruikt waarbij het risico aanzienlijk is dat deze binnen de bar zal worden geraakt.

Ik heb niets geoptimaliseerd. Als ik normaal een winstgevend systeem (932%) heb met een drawdown van 20.000 euro (wat ik veel te hoog vind) en een max winsttoename van 99.000, daarna een trailing stop inzet voor 200 euro, krijg ik (totaalwinst 268%) opeens een drawdown van slechts 1030 en een max winsttoename van 26.000??? Zo wil ik ook wel geld verdienen maar dit is dus nep.

www.uploadplaatjes.nl/img/n/676480.png

www.uploadplaatjes.nl/img/n/676478.png
novital
0
quote:

Psylo schreef op 4 september 2012 22:00:

[...]

Dit is niet helemaal waar.
Als je kiest voor "direct wanneer getriggerd" wordt direct verkocht, IN de bar.
Je hebt gelijk. Ik vind het onder de button 'Stops'.
Ik maak geen gebruik van die PRT stops en was het bestaan ervan alweer lang vergeten. Ik definieer mijn stops altijd zelf in de script.

verder schrijf je:

"Ik heb niets geoptimaliseerd. Als ik normaal een winstgevend systeem (932%) heb met een drawdown van 20.000 euro (wat ik veel te hoog vind) en een max winsttoename van 99.000, daarna een trailing stop inzet voor 200 euro, krijg ik (totaalwinst 268%) opeens een drawdown van slechts 1030 en een max winsttoename van 26.000??? Zo wil ik ook wel geld verdienen maar dit is dus nep."

Ik kan dit niet volgen. Heb zelf zoiets nog niet gezien/meegemaakt.
Is het nep, begrijp je het niet of doe je misschien iets verkeerds.

Hoe verkrijg je die equity curves in die plaatjes. Je maakt daarvoor toch een backtest met of zonder optimalisatie?
De gladde curve oogt perfect, wat het ook verdacht maakt, tenzij je natuurlijk een geniale vondst gedaan hebt :)

Psylo
0
Ik heb inderdaad gewoon een screencapture gemaakt van één en dezelfde backtest, de eerste zonder trailing stop en de tweede met trailingstop. Verder geen verschil.

Het is geen nep of iets wat ik niet begrijp. "Helaas" begrijp ik wel wat er gebeurt.
Het probleem is als volgt.
Zoals bekend...Een bar bevat altijd 4 waardes,
OPEN
HOOG
LAAG
KOERS (aka SLOT)

Zonder trailingstop is er niets aan de hand. De backtest kijkt of er een close signaal komt. Zo ja, wordt meteen verkocht.

Met trailingstop wordt het een ander verhaal.
Er wordt nu ook gekeken of de trailingstop wordt geraakt.

Plaatje 1
www.uploadplaatjes.nl/img/n/676732.png

6 oktober op dagsluiting wordt een LONG geopend op 287,30
7 oktober gelden de volgende waardes
OPEN 286.40
HOOG 290.45
LAAG 283.65
SLOT 287.20

De backtest kijkt naar de HOOG van de dag 290.45
De trailingstop bedraagt 1 punt, dus de VERKOOP wordt 289.45
Fantastisch!!! Of toch niet???

Laat ik die dag eens nader bekijken.

Volgend plaatje, 30 minuut op 7 oktober 2011
www.uploadplaatjes.nl/img/n/676734.png

Hier zie je een heel ander verloop.
De koers gaat niet meteen naar HOOG van 290.45 (gebeurt pas in de middag)
maar gaat eerst naar de daylow van 283.65
In werkelijkheid zal de trailingstop dus staan op 286.95 (dayhigh om 10:00) - 1.00 = 285.95

Het resultaat wordt dan:
285.95 - 287.30 = -1.35

Dat is een heel ander resultaat als de backtest:
289.45 - 287.30 = +2.15

Dit vertroebelt de hele backtest en maakt hem tamelijk waardeloos. Het verklaart ook de belachelijk lage drawdown en de super-winstcurve.
novital
0
Ik las je beschrijving, en begrijp nu wat je bedoelt.
Ik ken die FLD flexibel stop loss niet. Is die van PRT of van derden?

Ik kan met je niet anders concluderen dat er iets niet in de haak is. Het kan een software bug zijn.
Het beste is dit te rapporteren in de hoop dat ze het onderzoeken en er iets aan doen als het aan PRT ligt.
Psylo
0
Die FLD lijn doet niet ter zake deze wordt niet gebruikt in de BT.

En programmeerfout? Van PRT dan ja.

De gebruikte backtest is ZONDER deze rare trailingstop gewoon "betrouwbaar" met een normale realistische winstcurve.
Pas nadat ik de standaard functie trailing stop activeer in de backtestfunctionalietit van PRT gaat het fout.

Welke backtest je ook gebruikt, zodra je een trailing stop (of bijvoorbeeld een profitstop combineert met een stoploss) zal je dit probleem tegen komen als je een relatief kleine waarde gebruikt zoals in dit geval 1 fti.

novital
0
PRT is niet foutloos wat betreft de backtest/optimalisatie.
Ze maakten eind vorig jaar een enorme blunder door een vernieuwde en versnelde backtester/optimizer vrij te geven, waarvan zonneklaar bleek dat die absolute garbage produceerde als je werkte met eigen indicatoren. Dat werd na 4 maanden hersteld. Maar er zitten nog steeds fouten in die backtester/optimizer.
Zo zou die bijvoorbeeld geluidsignalen moeten geven als er koop/verkoopsignalen getriggerd worden. Die geluidssignalen komen niet op dat tijdstip, wel veel later op willekeurige tijdstippen en dan vaak nog helemaal fout ook.
De fout die Psylo nu constateert versterkt mijn mening dat het nog steeds niet in de haak is.
hans 41
0
quote:

novital schreef op 6 september 2012 10:16:

PRT is niet foutloos wat betreft de backtest/optimalisatie.
Ze maakten eind vorig jaar een enorme blunder door een vernieuwde en versnelde backtester/optimizer vrij te geven, waarvan zonneklaar bleek dat die absolute garbage produceerde als je werkte met eigen indicatoren. Dat werd na 4 maanden hersteld. Maar er zitten nog steeds fouten in die backtester/optimizer.
Zo zou die bijvoorbeeld geluidsignalen moeten geven als er koop/verkoopsignalen getriggerd worden. Die geluidssignalen komen niet op dat tijdstip, wel veel later op willekeurige tijdstippen en dan vaak nog helemaal fout ook.
De fout die Psylo nu constateert versterkt mijn mening dat het nog steeds niet in de haak is.


IS E.E.A. BESCHIKBAAR ??

Hans
novital
0
quote:

hans 41 schreef op 6 september 2012 12:30:

[...]

IS E.E.A. BESCHIKBAAR ??

Hans
Wat bedoel je daarmee?
hans 41
0
quote:

novital schreef op 6 september 2012 12:37:

[...]

Wat bedoel je daarmee?

Ik bedoel de backtester/optimizer van PRT
Hans
Psylo
0
Backtest is gewoon standaard functionaliteit. Met de parameters kan je een backtest optimizen.
hans 41
0
quote:

Psylo schreef op 7 september 2012 09:19:

Backtest is gewoon standaard functionaliteit. Met de parameters kan je een backtest optimizen.

DUIDELIJK. Hans
14 Posts
Aantal posts per pagina:  20 50 100 | Omhoog ↑

Meedoen aan de discussie?

Word nu gratis lid of log in met uw e-mailadres en wachtwoord.

Direct naar Forum

Markt vandaag

AEX 903,61 -1,97 -0,22% 31 mei
AMX 922,59 -4,51 -0,49% 31 mei
ASCX 1.245,59 +5,37 +0,43% 31 mei
BEL 20 3.918,09 +9,38 +0,24% 31 mei
Germany40^ 18.585,90 +89,11 +0,48% 31 mei
US30^ 38.701,80 0,00 0,00% 31 mei
US500^ 5.280,42 0,00 0,00% 31 mei
Nasd100^ 18.538,90 0,00 0,00% 31 mei
Japan225^ 38.630,50 0,00 0,00% 31 mei
WTI 77,14 0,00 0,00% 31 mei
Brent 81,20 0,00 0,00% 31 mei
EUR/USD 1,0834 +0,0000 +0,00% 31 mei
BTC/USD 67.761,17 -683,82 -1,00% 02:45
Gold spot 2.327,41 0,00 0,00% 31 mei
#/^ Index indications calculated real time, zie disclaimer
BESTEL HIER UW TICKETS VOOR DE IEX BELEGGERSDAG > EEN DAG VOL INSPIRERENDE SPREKERS EN KOOPTIPS!

Stijgers & Dalers

Stijgers Laatst +/- % tijd
UMG 28,580 +0,530 +1,89% 31 mei
DSM FIRMENICH AG 105,650 +1,150 +1,10% 31 mei
ArcelorMittal 24,160 +0,250 +1,05% 31 mei
Dalers Laatst +/- % tijd
ASR Nederland 44,400 -2,280 -4,88% 31 mei
PROSUS 33,380 -0,795 -2,33% 31 mei
ASMI 640,200 -10,800 -1,66% 31 mei

EU stocks, real time, by Cboe Europe Ltd.; Other, Euronext & US stocks by NYSE & Cboe BZX Exchange, 15 min. delayed
#/^ Index indications calculated real time, zie disclaimer, streaming powered by: Infront