Den sista jag la upp är detta script med modifierade antalscript för återinvestering. Det är officiellt resultat med återinvestering som önskas.
Allmänt meddelande
Collapse
No announcement yet.
Fusion MultiStrategy
Collapse
X
-
Ursprungligen postat av Christer Visa inläggHej, här är en analys av resultatet i transaktionsfilen i inlägg 265. Strategin handlar i delar av portföljen i likhet med strategin i inlägg 243 - och jag har således använt samma analysmetod. Jag har räknat på handel med minifutures (eller motsvarande), gearing 3,7x och 0,25% i spread och slippage per position (entry+exit).
CAGR 148%
Drawdowns
Average drawdown -9,9%
Drawdown 1 -46,9%
Drawdown 2 -35,0%
Drawdown 3 -32,3%
Drawdown 4 -29,2%
Drawdown 5 -27,3%
Drawdown 6 -24,8%
Drawdown 7 -22,4%
Drawdown 8 -18,9%
Drawdown 9 -18,4%
Drawdown 10 -17,9%
Duration Drawdowns (kalenderdagar)
Average duration 40
Allra längsta 167
Näst längsta 119
Tredje längsta 118
Fjärde längsta 112
Femte längsta 112
Sjätte längsta 103
Sjunde längsta 98
Åttonde längsta 94
Nionde längsta 92
Tionde längsta 91
Jag valde gearing 3,7x för att få ungefär samma max drawdown som i de tidigare analyserna. (Gearing 3,0x ger en CAGR på 110% och en max drawdown på -40,2%. Gearing 4,0x ger en CAGR på 166% och en max drawdown på -49,6%. Gearing 1,25x ger en CAGR på 34% och en max drawdown på -20,0%.)
Baserat på min analys så känns den här strategin faktiskt mycket lovande! Hög avkastning i förhållande till max drawdown, lite kortare genomsnittlig tid i drawdown. Suveränt jobbat Henric!
Jag förstår dock inte exakt vad skillnaden var i den här strategin, jämfört med de tidigare. Har du möjlighet att utveckla, Henric?
...en tanke: Skulle man inte kunna ändra gearing dynamiskt beroende på marknadsfas? Dvs sänka gearing när MA200 är fallande exempelvis. Det kanske skulle minska max drawdown?
Comment
-
Ursprungligen postat av Henric Visa inläggFusion har fem lägen. Exit, samt hel och halv position.
Jag hade missat att jag behövde ändra den hanteringen i triggerskripten också.
Back on track!
/Fredrik
Comment
-
Ursprungligen postat av Rikard Autostock Visa inläggOK, intressant, skulle gärna titta på antalscripten också. Hur mycket behövde du ändra i triggers?
Annars är upplägget enkelt för den som vill prova. Fasta värden handlar en enhet i taget tills målantalet är uppnått (förutsatt att en enhet är vald). Skapa samma med en global cell, dvs öka/minska antalet med en enhet vid signal. När signalerna är de samma som fasta värden bygger man på med antal utifrån depåvärdet. För simulering på index och ett instrument är det enkel att använda add(cash(t),mult(portfolio(v),c)). Beräkna målantal utifrån ändring av exponeringen.
Comment
-
Det går bra att köra modellen som den är. För att göra en bedömning mer än punkter behövs möjligheten att simulera med återinvestering. Då kan man se drawdown, risk/reward, etc. För det krävs det en officiell metod då resultat jämförs och diskuteras.
Det finns lika olika metoder. En är att följa stegen som fasta värden använder. En annan är att handla direkt till målantal. Den sista metoden är enklast, men då måste även originalscripten ändras så att signalerna blir de samma oavsett om antal enheter eller antal beräknade på depåvärde används.
Nedan finns en metod som jag använder för att få signalerna att stämma med fasta värden även vid återinvestering. Jag har kört sedan 2003 med en minut och alla signaler stämmer. Vill man köra hävstång ändras beräkningen i antalscripten. Kör igång 5sekunder får att dubbelkolla. Detta är endast för simulering. Gärna synpunkter eller förslag på annan metod.
Köpscript:
……
fusion_pos=if(hög_vo,add(getgvar(855),getgvar(854)),mult(2,getgvar(854)))
trade_time=le(mult(1440,sub(market(c),frac(date()))),7)
SetGvarIf(add(GetGvar(775),1),775,and(gt(fusion_pos,GetGvar(775)),trade_time))
handla=and(gt(GetGvar(775),GetGvar(776)),trade_time)
SetGvarIf(GetGvar(775),776,handla)
and(handla,1)
Säljscript:
…….
fusion_pos=if(hög_vo,add(getgvar(855),getgvar(854)),mult(2,getgvar(854)))
trade_time=le(mult(1440,sub(market(c),frac(date()))),7)
SetGvarIf(sub(GetGvar(775),1),775,and(lt(fusion_pos,GetGvar(775)),trade_time))
handla=and(lt(GetGvar(775),GetGvar(776)),trade_time)
SetGvarIf(GetGvar(775),776,handla)
and(handla,1)
Antalscript köp:
antal=int(mult(div(add(cash(t),mult(portfolio(v),c)),c),div(GetGvar(776),2)))
sub(antal,portfolio(v))
Antalscript Sälj:
antal=int(mult(div(add(cash(t),mult(portfolio(v),c)),c),div(GetGvar(776),2)))
sub(portfolio(v),antal)
Comment
-
Ursprungligen postat av Hookie Visa inläggSuper spännande att följa tråden och följa utvecklingen av de olika modellerna.
Ligger Fusion (Original) fortfarande kort?
MVH
Håkan
Comment
-
2016-05-06 17:22:01 Sälj -1,00 1*310,67 -1,00 Blankad Fusion OMX index sell
2016-05-06 17:22:06 Köp 1,00 1*310,57 0,10 0,01% 0,10 0,01% 00:00:05 0,00 1*979,63 Fusion OMX index buy
2016-05-09 17:22:01 Sälj -1,00 1*327,39 -1,00 Blankad Fusion OMX index sell
2016-05-11 17:22:01 Köp 1,00 1*326,28 1,11 0,08% 1,11 0,08% 17:00:00 0,00 1*980,74 Fusion OMX index buy
2016-05-17 17:22:02 Sälj -1,00 1*331,27 -1,00 Blankad Fusion OMX index sell
2016-05-17 17:22:07 Sälj -1,00 1*331,26 -2,00 Blankad 1*980,74 Fusion OMX index sell
Comment
-
Det kan bli olika signaler baserat på följande:
1. När strategin startades eftersom alla celler inte är uppdaterade
2. skillnader i systemklocka - olika tidstämplar kan påverka analysen marginellt
3. avbrott - om man har kursdataavbrott kan analysen påverkas
Bäst är att bara köra vidare så synkas signalerna till slut, det som behövs är att man kommer till en tidpunkt där båda delstrategierna signalerat.
Jag körde en simulering (5 sek intervall) med originaltriggers plus tillägget som Henric fixade ovan samt med hans återinvesteringsantalscript. Resultatet ligger i zippen.
En ide som slog mig, man skulle kunna använda ETP Link istället för Fusion original slavmodeller. Då kan man bestämma insats genom storleken på det virtuella kontot istället, dvs det handlas alltid med återinvestering där och antalet "indexandelar" replikeras rakt av med ETP Link. Då blir man inte lika beroende av hävstången på minifutures eftersom det är ett antal som handlas snarare än för en summa.
Comment
-
Ok, så korrekt Fusion signal är alltså inget innehav? Även min Legato ligger kort. Stämmer det? I så fall kan det vara att signalerna ännu inte är synkade då jag gick live med Fusion för ett par dagar sedan. vid go-live gick gick den in 50% kort när ni andra gick 100% kort och igår taggades den upp till 100% samtidigt som modellen gick exit. Hur lång tid tar det innan modellen blir synkad?
Får tills dess hoppas på att värsta börsnedgången ligger bakom hörnet...
Comment
-
Ursprungligen postat av Hookie Visa inläggLåter som en god idé Henric. Tills dess misstänker jag att vi är dom mest baissade snubbarna på forumet. Legato ligger väl kort?
Comment
Comment