Allmänt meddelande

Collapse
No announcement yet.

Fusion MultiStrategy

Collapse
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Jag vill inte säga något innan bekräftat. I kväll kör jag en variant av #169 som handlar i steg likt originalet fast med återinvestering. Då ska signalerna överensstämma till 100%.

    Comment


    • Ursprungligen postat av Henric Visa inlägg
      Det borde finnas lite förbättringspotential genom en mer dynamisk anpassning av vollafiltret.
      Only time will tell…
      Jag var inne på just en mer dynamisk användning av vollan i #221 och har gjort en del körningar sen dess med förändringar i just hur fördelningen mellan Coda och Legato styrs av olika volla-nivåer. Har även tänkt prova kombinera volla-filtret med andra typer av indikatorer. Jag har dock inte lyckats göra de förändringar i ordermodellerna som behövs för att få simuleringen att fungera med återinvestering för att kunna jämföra med det data som presenteras i denna tråd. Jag tar tacksamt emot tips eller färdiga skript för att få detta att fungera. Det jag trodde skulle fungera var att skapa två antalskript:
      va) Köp maxantal vad kassan tillåter enligt aktuell close
      if(lt(portfolio(v),0),Abs(portfolio(v)),int(div(cash(),c)))

      va) Sälj maxantal vad kassan tillåter enligt aktuell close
      if(gt(portfolio(v),0),Abs(portfolio(v)),int(div(cash(),c)))

      I ord så vill jag alltså avsluta positionen om det finns en sån annars ta position med max vad kassan tillåter.
      Detta fick dock mitt analysprojekt att köpa/sälja/köpa/sälja i en evig ström och jag begriper inte varför antalskripten gör så att signaler genereras när det ska vara sl) Fusion OMX index buy/sell som styr detta.

      /Fredrik

      Comment


      • Går de på nåt vis att få bort att signalen hela tiden ligger på, tills motsatt signal kommer?
        För nu köper den tillbaka direkt när man experimenterar med stoploss, take profit eller nån annan säljsignal.


        Mikael

        Comment


        • Ursprungligen postat av Christer Visa inlägg
          Tack för bra tankar, Henric!

          Bara som en sista bekräftelse, om jag laddar ned officiell Fusion i AutoTrader, så är det strategin i inlägg #169 som körs? Jag har tänkt byta från Legato OMX till Fusion (#169).
          Nej, det är #202 som är originalet och som tankas ner.

          Comment


          • 169 innehåller samma signaler men med återinvestering, med viss reservation för de småposter som handlas ibland.

            Comment


            • Ursprungligen postat av Rikard Autostock Visa inlägg
              169 innehåller samma signaler men med återinvestering, med viss reservation för de småposter som handlas ibland.
              Att aktivera återinvestering, innebär det att man sätter "-" indataskriptet-Standardmodell insats", t.ex. -30 för 30% så som andra strategier? eller innebär det något annat?

              Comment


              • Ursprungligen postat av Freddan Visa inlägg
                Jag var inne på just en mer dynamisk användning av vollan i #221 och har gjort en del körningar sen dess med förändringar i just hur fördelningen mellan Coda och Legato styrs av olika volla-nivåer. Har även tänkt prova kombinera volla-filtret med andra typer av indikatorer. Jag har dock inte lyckats göra de förändringar i ordermodellerna som behövs för att få simuleringen att fungera med återinvestering för att kunna jämföra med det data som presenteras i denna tråd. Jag tar tacksamt emot tips eller färdiga skript för att få detta att fungera. Det jag trodde skulle fungera var att skapa två antalskript:
                va) Köp maxantal vad kassan tillåter enligt aktuell close
                if(lt(portfolio(v),0),Abs(portfolio(v)),int(div(cash(),c)))

                va) Sälj maxantal vad kassan tillåter enligt aktuell close
                if(gt(portfolio(v),0),Abs(portfolio(v)),int(div(cash(),c)))

                I ord så vill jag alltså avsluta positionen om det finns en sån annars ta position med max vad kassan tillåter.
                Detta fick dock mitt analysprojekt att köpa/sälja/köpa/sälja i en evig ström och jag begriper inte varför antalskripten gör så att signaler genereras när det ska vara sl) Fusion OMX index buy/sell som styr detta.

                /Fredrik
                Fusion har fem lägen. Exit, samt hel och halv position.

                Comment


                • Ursprungligen postat av jimmy Visa inlägg
                  Att aktivera återinvestering, innebär det att man sätter "-" indataskriptet-Standardmodell insats", t.ex. -30 för 30% så som andra strategier? eller innebär det något annat?
                  Tror inte det. I simulatorn är Cash(a) positivt även för blankningar.

                  Comment


                  • Ursprungligen postat av mikola Visa inlägg
                    Går de på nåt vis att få bort att signalen hela tiden ligger på, tills motsatt signal kommer?
                    För nu köper den tillbaka direkt när man experimenterar med stoploss, take profit eller nån annan säljsignal.


                    Mikael
                    Du kan prova att lagra signalerna i dubbla celler och tillåta signal när originalcellen ändras.

                    Comment


                    • Ursprungligen postat av Rikard Autostock Visa inlägg
                      169 innehåller samma signaler men med återinvestering, med viss reservation för de småposter som handlas ibland.
                      Det vet jag inte. Jag körde en variant där jag gick direkt till målantalet utan att handla i steg. Vi har kört lite analys och kidnappat tråden. Jag bifogar en version som har samma signaler som originalet med fastavärden. Sedan tror jag det är bäst att Rikard avgör vad som är original med återinvestering. Christer, hoppas det hjälper dig i ditt val.
                      Attached Files

                      Comment


                      • Hej, 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?
                        Attached Files
                        Last edited by Christer; 2016-05-19, 20:06.

                        Comment


                        • Ursprungligen postat av Henric Visa inlägg
                          Det vet jag inte. Jag körde en variant där jag gick direkt till målantalet utan att handla i steg. Vi har kört lite analys och kidnappat tråden. Jag bifogar en version som har samma signaler som originalet med fastavärden. Sedan tror jag det är bäst att Rikard avgör vad som är original med återinvestering. Christer, hoppas det hjälper dig i ditt val.
                          Snyggt! Är det originalscripten men med direkt målantal? I så fall borde man bara kunna byta antalscripten och låta slavmodellerna vara kvar. I praktiken spelar det nog mindre roll eftersom all skarp handel sker efter att indexmodellerna gjort sitt.

                          Comment


                          • Jag har inte gjort så mycket. Tillbaka till ruta ett, ha ha. Ändrade antalscriptet så att den handlar samtidigt som originalversionen med fasta värden, samt ändrade tillbaka filtret. Rikard har lagt ut någon version med återinvestering där det blev skvättar. Detta resultat borde inte skilja mycket. Fortfarande bra om Rikard bekräftar så du får rätt information.

                            Det går att öka totalresultatet en hel del med filter, etc. Eftersom att den avkastar så pass bra är det som i tidigare diskussioner drawdown som är det viktigaste.

                            Comment


                            • Ursprungligen postat av Rikard Autostock Visa inlägg
                              Snyggt! Är det originalscripten men med direkt målantal? I så fall borde man bara kunna byta antalscripten och låta slavmodellerna vara kvar. I praktiken spelar det nog mindre roll eftersom all skarp handel sker efter att indexmodellerna gjort sitt.

                              Samma affärer som fasta värden. Tex om den vill byta från 100% long till exit går den först till 50% long och sedan exit.

                              Comment


                              • OK, jag är inte med på alla versioner nu, har inte hunnit hålla så värst bra koll på tråden. Roligt att det finns intresse! Bifogar original-triggers så kan vi kanske se vad som är ändrat. Är det 50/50 ibland och 100 Legato under låg volla?






                                { Fusion OMX index long 160501 }

                                $par1:=10 {0-30}
                                dagar:=20
                                advance:=5
                                pred1=find(lt(d,sub(const(d),30)),25,c,1)
                                pred2=find(lt(d,sub(const(d),60)),50,c,1)
                                pred3=find(lt(d,sub(const(d),90)),75,c,1)
                                pred4=find(lt(d,sub(const(d),120)),100,c,1)
                                pred5=find(lt(d,sub(const(d),150)),125,c,1)

                                steg=sub(23,mx(mn(advance,22),1))
                                år2=aref(c,236)
                                år3=aref(c,476)
                                år4=aref(c,729)
                                år5=aref(c,982)
                                år6=aref(c,1234)
                                medel=mov(aref(div(add(add(add(add(år2,år3),år4),år5),år6),6),steg:22),5,s)
                                pred_tot=aref(div(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),5),mx(1,$par1):35)

                                p1=gt(roc(add(medel,pred_tot),5,%),0)

                                v2=and(lt(dayofmonth(),if(p1,19,14)),gt(dayofmonth(),if(p1,7,6)))
                                v4=and(lt(dayofmonth(),if(p1,32,31)),gt(dayofmonth(),if(p1,19,27)))

                                stängning=le(mult(1440,sub(market(c),frac(date()))),10)
                                öppet=ge(mult(1440,sub(market(c),frac(date()))),6)
                                dagen_efter=gt(int(d),lasttrade(s,d))
                                hist=sub(macd2(n),macd2(t))
                                extremt=lt(hist,-5)

                                ma100=mov(c,150,s)
                                över=or(extremt,gt(c,ma100))
                                longL1a=and(and(lt(c,hhv(aref(c,1),2)),v2),över)
                                longL1b=and(lt(c,hhv(aref(c,1),3)),v4)
                                longL2=and(or(longL1a,longL1b),le(getgvar(854),0))
                                longL3=and(and(longL2,and(öppet,stängning)),dagen_efter)
                                setgvarif(1,854,longL3)


                                måndag=eqv(dayofweek(),1)
                                tisdag=eqv(dayofweek(),2)
                                ej_fredag=lt(dayofweek(),5)
                                under=lt(c,mov(c,100,s))
                                days=if(under,6,3)
                                köpC1=and(måndag,lt(l,llv(aref(l,1),3)))
                                köpC2=and(tisdag,lt(l,llv(aref(l,1),2)))
                                köpC3=and(or(or(köpC1,köpC2),and(lt(l,llv(aref(l,1),days:10)),ej_fredag)),le(getgvar(855),0))
                                köpC4=and(and(köpC3,and(öppet,stängning)),dagen_efter)
                                setgvarif(1,855,köpC4)

                                lägsta=llv(aref(c,1),dagar)
                                stoploss=gt(c,add(lasttrade(s,p),mult(3,atr(10))))

                                coverL1=lt(c,lägsta)
                                coverL2=and(or(stoploss,coverL1),and(or(stoploss,stängning),öppet))
                                coverL3=and(coverL2,lt(getgvar(854),0))

                                setgvarif(0,854,coverL3)
                                setgvarif(0,855,coverL3)
                                setgvarif(portfolio(v),857,1)

                                volla=stdev(div(c,aref(c,1)),22)
                                hög_vo=hhv(gt(volla,0.015),100)

                                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)
                                and(lt(portfolio(v),fusion_pos),trade_time)






                                { Fusion OMX index shrt 160501 }

                                $par1:=10 {0-30}
                                advance:=5
                                pred1=find(lt(d,sub(const(d),30)),25,c,1)
                                pred2=find(lt(d,sub(const(d),60)),50,c,1)
                                pred3=find(lt(d,sub(const(d),90)),75,c,1)
                                pred4=find(lt(d,sub(const(d),120)),100,c,1)
                                pred5=find(lt(d,sub(const(d),150)),125,c,1)

                                steg=sub(23,mx(mn(advance,22),1))
                                år2=aref(c,236)
                                år3=aref(c,476)
                                år4=aref(c,729)
                                år5=aref(c,982)
                                år6=aref(c,1234)
                                medel=mov(aref(div(add(add(add(add(år2,år3),år4),år5),år6),6),steg:22),5,s)
                                pred_tot=aref(div(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),5),mx(1,$par1):35)

                                p1=lt(roc(add(medel,pred_tot),5,%),0)

                                v1=or(lt(dayofmonth(),if(p1,8,7)),gt(dayofmonth(),if(p1,30,31)))
                                v3=and(lt(dayofmonth(),if(p1,23,20)),gt(dayofmonth(),if(p1,10,13)))

                                stängning=le(mult(1440,sub(market(c),frac(date()))),8)
                                öppet=ge(mult(1440,sub(market(c),frac(date()))),6)
                                dagen_efter=gt(int(d),lasttrade(b,d))

                                ma200=mov(c,200,s)
                                under=lt(c,ma200)
                                ej_extremt=gt(macd2(n),-50)

                                shrtL1=and(lt(c,aref(c,1)),under)
                                shrtL2=and(and(and(shrtL1,or(v1,v3)),ge(getgvar(854),0)),ej_extremt)
                                shrtL3=and(and(shrtL2,and(öppet,stängning)),dagen_efter)
                                setgvarif(-1,854,shrtL3)

                                ej_onsdag=not(eqv(dayofweek(),3))
                                shrtC1=and(ej_onsdag,gt(c,hhv(aref(c,1),2)))
                                shrtC2=and(shrtC1,lt(c,mov(c,150,s)))
                                shrtC3=and(shrtC2,ge(getgvar(855),0))
                                shrtC4=and(and(shrtC3,and(öppet,stängning)),dagen_efter)
                                setgvarif(-1,855,shrtC4)

                                ve1=or(lt(dayofmonth(),if(p1,8,6)),gt(dayofmonth(),if(p1,31,30)))
                                ve3=and(lt(dayofmonth(),if(p1,18,22)),gt(dayofmonth(),if(p1,17,17)))
                                lägre=lt(c,aref(c,1))
                                rättd=ge(dayofweek(),2)
                                stoploss=lt(c,sub(lasttrade(b,p),mult(3,atr(10))))
                                sellL1=lt(c,llv(aref(c,1),2))
                                sellL2=and(and(sellL1,or(stoploss,or(ve1,ve3))),gt(getgvar(854),0))
                                sellL3=and(and(and(sellL2,and(or(lägre,stängning),öppet)),rättd),dagen_efter)
                                setgvarif(0,854,sellL3)

                                xhi=hhv(aref(c,1),2)
                                ma1=mov(c,100,s)
                                high=and(gt(c,xhi),lt(c,ma1))
                                fredag=eqv(dayofweek(),5)
                                säljC1=or(stoploss,or(high,fredag))
                                säljC2=and(säljC1,gt(getgvar(855),0))
                                säljC3=and(and(säljC2,and(öppet,stängning)),dagen_efter)
                                setgvarif(0,855,säljC3)

                                volla=stdev(div(c,aref(c,1)),22)
                                hög_vo=hhv(gt(volla,0.015),100)

                                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)
                                and(gt(portfolio(v),fusion_pos),trade_time)

                                Comment

                                Working...
                                X