Allmänt meddelande

Collapse
No announcement yet.

Coda OMX omarbetad och gratis

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

  • #31
    Här är lite mer ändrat, bifogar transaktionslista och script.




    { Coda OMX index long 160308 }

    öppet=ge(mult(1440,sub(market(c),frac(date()))),5)
    stängning=le(mult(1440,sub(market(c),frac(date()))),10)
    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)
    dagen_efter=gt(int(d),lasttrade(s,d))
    ej_tom=or(lt(dayofmonth(),5),gt(dayofmonth(),6))
    ej_maj=or(not(eqv(monthnumber(),5)),lt(portfolio(v)))
    köp1=and(måndag,lt(l,llv(aref(l,1),2)))
    köp2=and(tisdag,lt(l,llv(aref(l,1),2)))
    köp3=and(or(or(köp1,köp2),and(lt(l,llv(aref(l,1),days:10)),ej_fredag)),le(portfolio(v),0))
    köp4=and(and(and(and(köp3,and(öppet,stängning)),dagen_efter),ej_tom),ej_maj)
    { skriv signal till cell 881 som minifuture-modeller läser av och lägger order }
    setgvarif(11,881,köp4)
    mult(köp4,11)



    { Coda OMX index sell 160308 }

    öppet=ge(mult(1440,sub(market(c),frac(date()))),5)
    stängning=le(mult(1440,sub(market(c),frac(date()))),10)
    xhi=hhv(aref(c,1),2)
    ma1=mov(c,100,s)
    high=and(gt(c,xhi),lt(c,ma1))
    fredag=and(eqv(dayofweek(),5),gt(c,ma1))
    dagen_efter=gt(d,lasttrade(b,d))
    stoploss=lt(c,sub(lasttrade(b,p),mult(2,atr(20))))
    sälj1=or(stoploss,or(high,fredag))
    sälj2=and(sälj1,gt(portfolio(v),0))
    sälj3=and(sälj2,and(öppet,stängning))
    { skriv signal till cell 881 som minifuture-modeller läser av och lägger order }
    setgvarif(10,881,sälj3)
    mult(sälj3,11)



    { Coda OMX index shrt 160308 }

    öppet=ge(mult(1440,sub(market(c),frac(date()))),5)
    stängning=le(mult(1440,sub(market(c),frac(date()))),10)
    ej_onsdag=not(eqv(dayofweek(),3))
    ej_köp_idag=gt(int(d),lasttrade(b,d))
    ej_tom=and(and(not(eqv(dayofmonth(),20)),not(eqv(dayofmonth(),21))),not(eqv(dayofmonth(),25)))
    ej_mars=not(eqv(monthnumber(),3))
    shrt1=and(ej_onsdag,gt(c,hhv(aref(c,1),2)))
    shrt2=and(shrt1,lt(c,mov(c,200,s)))
    shrt3=and(shrt2,ge(portfolio(v),0))
    shrt4=and(and(and(and(shrt3,and(öppet,stängning)),ej_köp_idag),ej_tom),ej_mars)
    { skriv signal till cell 881 som minifuture-modeller läser av och lägger order }
    setgvarif(9,881,shrt4)
    mult(shrt4,11)



    { Coda OMX index cover 160308 }

    öppet=ge(mult(1440,sub(market(c),frac(date()))),5)
    stängning=le(mult(1440,sub(market(c),frac(date()))),10)
    cover1=gt(c,add(lasttrade(s,p),mult(2,atr(20))))
    cover2=and(cover1,lt(portfolio(v),0))
    cover3=and(cover2,and(stängning,öppet))
    { skriv signal till cell 881 som minifuture-modeller läser av och lägger order }
    setgvarif(10,881,cover3)
    mult(cover3,10)
    Attached Files

    Comment


    • #32
      Ursprungligen postat av i00006 Visa inlägg
      Jag la till en heatmap och en boxplot (se tabbarna, samma länk), var det åt det hållet du tänkte dig? /Ingemar

      Yes. På detta sätt kan man hitta optimeringar som är minst känsliga för små förändringar. Tex om ett medelvärde ändras med 2 dagar så ökar resultatet markant, men är det bara tillfällighet eller inte. Bäst om man ligger på en platå, även om totalresultatet är lägre.
      Last edited by Henric; 2016-03-09, 12:49.

      Comment


      • #33
        Vad bra att du lägger upp scriptet Rikard! Tänkte börja köra Coda skarpt snart. Frågan är om man ska köra på det script som ligger i AT (160304) eller det som nu är nytt här?

        Ska bli kul att skapa egna script och göra ändringar i befintliga i framtiden! Har för mycket jobb just nu så har inte hunnit lära allt om scripten än. Men eftersom jag har programmeringsvana tror jag nog inte det kommer ta alltför lång tid.

        Comment


        • #34
          Ursprungligen postat av G_O Visa inlägg
          Tänkte börja köra Coda skarpt snart.
          Vad spännande! Jag kommer följa dig och ditt handlande och se hur det går. Vilken gearing hade du tänkt arbeta med?

          Comment


          • #35
            Ja det blir spännande verkligen! För att välja gearing kan jag ju bara utgå från simuleringar när det kommer till avkastning historiskt i Coda. Utgår vi från Rikards tweak av Coda och simulering på 700 handelsdagar har vi 350 antal dagar med resultat från sålt. Snittet på avkastning är 0,82%, högsta avkastningen är 14,55%, lägsta -11,02%. Avkastningar på +/- 10% har skett i enbart 0,86% av fallen. Även om stora svängningar sker väldigt sällan känns det lite väl läskigt att köra 10x hävstång. Skulle säga 3X eller 5x hävstång, men egentligen skulle det inte vara alltför farligt att köra högre hävstång så länge innehaven säljs igen inom högst två handelsdagar. Volatiliteten har ju en tendens att äta upp värdet när man kör hävstång på daglig basis
            Last edited by G_O; 2016-03-10, 20:59.

            Comment


            • #36
              Har en fråga som jag vore tacksam om någon kunde svara på!

              När Coda går kort, alltså Coda OMX index Shrt, då köper den automatiskt det instrument man valt, om det nu är Bull & Bear-certifikat, Mini Futures, Warranter osv. Vad man nu valt helt enkelt. När Coda däremot sedan ska sälja av detta så körs Coda OMX index Long? Men Coda OMX index Long betyder ju att Coda köper det Bull-instrument man valt.

              Om man inte blankar i traditionell mening utan man alltså har olika instrument kopplade till Coda OMX index Long och Coda OMX index Shrt, betyder det då att Coda inte säljer av instrumentet som köptes när Coda växlar om från Short till Long? Då kommer man sitta kvar med sitt Short-innehav samtidigt som Coda har köpt long-innehav.

              Om Coda går lång så körs alltid Coda OMX index Exit efteråt, då säljs det av som vanligt, men alltså inte när den går kort?

              Comment


              • #37
                Det är konstruerat så att positionen på det virtuella kontot skickar en signal till en global cell som slavmodellerna läser av och agerar på. Signal att gå Long innebär att Bear-modellen säljer av sitt innehav. Och tvärtom, om en Shrt-signal skickas i cellen kommer Bull-modellen att sälja av sitt innehav och Bear-modellen köper sitt instrument. Om en Exit-signal skickas säljer båda av sina innehav, den som har ett innehav dvs.

                Comment


                • #38
                  Tack för tydligt svar Rikard!

                  Comment


                  • #39
                    För den intresserade har jag simulerat Coda och Legato samtidigt som om det vore en strategi. Modellerna är viktade med 50%. För simulering med 1 virtuellt indexkontrakt är var och en vikt med 0,5. För innehav är var och en viktad med 50% av depåvärde vid signal. Simulering med 1 kontrakt har inget courtage. Simulering med innehav har ett courtage på 0,07%. ETP handlas courtagefritt, men ska täcka uppskattade kostnader och slipp mot terminen.
                    Attached Files

                    Comment


                    • #40
                      Mycket intressant! Tack Henric!

                      Comment


                      • #41
                        Vinstkurvorna från ovan kommer här.
                        Attached Files

                        Comment


                        • #42
                          Hej Henric,

                          Till att börja med så är jag grön på det här så jag ber om ursäkt för eventuella "dumma" frågor.

                          Jag har precis kört igång Legato men har också tänkt i banorna att köra med mer en en strategi för att potentiellt minska volatilitet.

                          Vad är skillnaden mellan "kontrakt" och "innehav"?
                          Jag förmodar att du lagt resulatet ovanpå OMX. Korrekt?
                          Hur ser resultatet ut med kombon Legato/Coda vs respektive för sig själv?

                          Mvh

                          Comment


                          • #43
                            Kontrakt kommer från terminshandel. Jag skulle egentligen ha skrivit punkter. Det innebär att antalet är -1,0 eller 1. Ett kontrakt när man simulerar index innebär att en positon motsvarar värdet på index och förändringen i punkter från entry. Det har sina fördelar då det är enkelt att räkna om i kronor. Med innehav menar jag en depå. Initialt sätts ett depåvärde och vid varje position används ett antalscript som handlar för hela det aktuella depåvärdet. Vilket metod som är bäst har diskuterats flitigt på forumet. Jag fördrar innehav då det går att få ut mer information som tex drawdown. Därutöver går det även analysera punkter i resultatrapporten.

                            Ja, OMX har analyserats. Det går att analysera index och handla ETP:er eller terminer. Dock finns det inga instrument med historik från 2003.

                            Det finns analyserade result för Coda respektive Legato på forumet. Legato har historiskt bättre resultat och färre perioder där vinstkurvan är platt. Coda handlar oftare och passar det som gillar lite mer action. Om möjligt ska man sträva efter att handla fler strategier och marknader för att få en jämnare vinstkurva. En strategi har alltid bättre och sämre perioder. Samtidigt måste man balansera nackdelen om en strategi underpresterar. Syftet med att simulera båda strategierna är även att se resultatet för de som kör båda samtidigt.

                            Comment


                            • #44
                              Härligt! Det börjar bli läge att skapa någon "multi"-strategi där vi kör flera algoritmer samtidigt för jämnare vinstutveckling.

                              Coda är ju under vidareutveckling också och kommer säkert kunna bli bättre närmaste veckorna. Jag ska simulera lite ideer och ändrade villkor nästa vecka.

                              Comment


                              • #45
                                Ursprungligen postat av Henric Visa inlägg
                                För den intresserade har jag simulerat Coda och Legato samtidigt som om det vore en strategi. Modellerna är viktade med 50%. För simulering med 1 virtuellt indexkontrakt är var och en vikt med 0,5. För innehav är var och en viktad med 50% av depåvärde vid signal. Simulering med 1 kontrakt har inget courtage. Simulering med innehav har ett courtage på 0,07%. ETP handlas courtagefritt, men ska täcka uppskattade kostnader och slipp mot terminen.
                                Hej, jag gjorde lite beräkningar på kontraktsfilen. Jag räknar på handel med ETper, dvs. inget courtage men 0,25% för spread och slippage per position (entry+exit). Gearing 3x.

                                CAGR blir 78%

                                Top 10 drawdowns:
                                -32,7%
                                -31,5%
                                -22,8%
                                -22,4%
                                -20,5%
                                -20,3%
                                -19,2%
                                -18,2%
                                -17,4%
                                -16,2%
                                Last edited by Christer; 2016-03-22, 13:14.

                                Comment

                                Working...
                                X