Allmänt meddelande

Collapse
No announcement yet.

Legato OMX omarbetad och gratis

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

  • #31
    Rikard tipsade om att man kanske skulle ha med en stoploss. Vi testar med en stoploss på 9%. I Exitscriptet under sell3=... ersätter man allt med
    stoploss=And(Lt(Div(Sub(c,Lasttrade(b,p)),Lasttrade(b,p)),-0.09),Gt(portfolio(v),0))
    sell4=or(sell3,stoploss)
    setgvarif(10,880,sell4)
    mult(sell4,10)


    Då blir resultatet för 2003-01-01 till 2015-08-04
    Max Result Drawdown 28.3712 %
    Sharpekvot 0.3941 (månadsresultat) (pre 1994 0.3941)
    -0.6628 (årsomräknat) (pre 1994 -0.6628)
    Effektivt Resultat: 18710850.0640% - Slutsaldo kontot: 18710950064.00

    Avkastning 18710850064.00 kr 0.85% på 215 affärer under 17169:20:57 tim
    Av dessa blankat 38 st med avkastning 1423005503.00 kr 0.67%
    Innehav 111 st med vinst 30914599838.00 kr 2.85%
    Innehav 66 st med förlust -13626754879.00 kr -1.50%
    Blankning 24 st med vinst 2524640256.00 kr 1.47%
    Blankning 14 st med förlust -1101634816.00 kr -2.66%

    Nu är det så många siffror så det är svårt att se men avkastningen ökar med 2 gånger.

    Nä nu får någon annan fortsätta att labba!

    Med vänlig hälsning
    Bertil


    Edit1: Alltså då man ändrar i Short, Long och Exit scripten enligt ovan ökar avkastningen 6.52 gånger jämfört med originalscripten. Simuleringen bygger som sagts tidigare på att man handlar terminer för halva kassan och återinvesterar. Ingen spread och inget courtage är medtaget.
    Last edited by Bertil; 2015-09-13, 11:18.

    Comment


    • #32
      Härligt! Jag ska testa med min vanliga simulering som handlar 1 indexandel. Hade en ide också om att använda ATR(10) som stoppnivå, får se om det ger något.

      Comment


      • #33
        Sedan finns det ju årsanomalier också. Sell in May and go away osv.
        Man skulle ju kunna väga in samma månad fast för 1 och 2 år sedan också.
        Blir dock lite för svårt för mig att scripta.

        Med vänlig hälsning
        Bertil

        Comment


        • #34
          Jo det skulle vara intressant, just att lägga in PA även i årsperspektiv parallellt med månadsperspektivet som finns nu.

          Comment


          • #35
            Jag är ju inte en så vass scriptare (men jag har många idéer!) så man får använda sig av Kajsa Wargmetoder.
            Om man lägger in ett villkor att ma100 måste ha positiv lutning för 1 år sedan dvs i Longscriptet
            ma100=Mov(c,150)
            braförr=Gt(Aref(ma100,365),Aref(ma100,366))
            lg100=Linreg(c,150)
            över=and(or(extremt,and(gt(c,ma100),gt(c,lg100))),braförr)


            Blir resultatet
            Max Result Drawdown 28.3712 %
            Sharpekvot 0.4096 (månadsresultat) (pre 1994 0.4096)
            -0.6791 (årsomräknat) (pre 1994 -0.6791)
            Effektivt Resultat: 31137245.5050% - Slutsaldo kontot: 31137345505.00

            Avkastning 31137245505.00 kr 0.91% på 200 affärer under 15639:54:57 tim
            Av dessa blankat 37 st med avkastning 2244537514.00 kr 0.66%
            Innehav 106 st med vinst 49226676688.00 kr 2.85%
            Innehav 57 st med förlust -20333969066.00 kr -1.50%
            Blankning 23 st med vinst 3904783872.00 kr 1.40%
            Blankning 14 st med förlust -1660246400.00 kr -2.67%

            Dvs en avkastningsökning med 1.66 gånger (totalt nu 10.86 gånger)

            Med vänlig hälsning
            Bertil

            Edit1: Tänkte lite fel. Aref jobbar ju med handelsdagar inte kalenderdagar. Får justera senare.
            Edit2: Har testat att istället se 235 dagar bakåt fast det blir sämre.
            Last edited by Bertil; 2015-09-13, 13:05.

            Comment


            • #36
              Nu använder jag en annan dator, sett till att ladda hem OMXS30 data från 2000 och framåt. Laddat hem original Legato med original va) script

              Max Result Drawdown 0.1349 %
              Sharpekvot 0.3950 (månadsresultat) (pre 1994 0.3950)
              -0.7528 (årsomräknat) (pre 1994 -0.7528)
              Effektivt Resultat: 2.8770% - Slutsaldo kontot: 102877.01
              Avkastning 2877.01 kr 1.22% på 243 affärer under 18544:13:57 tim
              Av dessa blankat 55 st med avkastning 540.22 kr 1.11%
              Innehav 116 st med vinst 3581.07 kr 3.11%
              Innehav 72 st med förlust -1244.28 kr -1.72%
              Blankning 30 st med vinst 1004.68 kr 3.61%
              Blankning 25 st med förlust -464.46 kr -2.23%

              Ändrar i scripten som jag tidigare redogjort för:
              Max Result Drawdown 0.1155 %
              Sharpekvot 0.4217 (månadsresultat) (pre 1994 0.4217)
              -0.6485 (årsomräknat) (pre 1994 -0.6485)
              Effektivt Resultat: 2.7448% - Slutsaldo kontot: 102744.79
              Avkastning 2744.79 kr 1.50% på 183 affärer under 14558:18:57 tim
              Av dessa blankat 32 st med avkastning 554.51 kr 1.81%
              Innehav 98 st med vinst 3154.70 kr 3.25%
              Innehav 53 st med förlust -964.42 kr -1.76%
              Blankning 19 st med vinst 809.75 kr 4.27%
              Blankning 13 st med förlust -255.24 kr -2.18%

              Mina modifieringar minskar alltså resultatet om man inte återinvesterar.

              ----------------------------------------------------------
              Originalscripten med återinvestering:

              Max Result Drawdown 28.3712 %
              Sharpekvot 0.3624 (månadsresultat) (pre 1994 0.3624)
              -0.7026 (årsomräknat) (pre 1994 -0.7026)
              Effektivt Resultat: 2842526.5530% - Slutsaldo kontot: 2842626553.00
              Avkastning 2 842526553.00 kr 0.83% på 244 affärer under 18554:05:57 tim
              Av dessa blankat 55 st med avkastning 213525475.00 kr 0.67%
              Innehav 117 st med vinst 4869173870.00 kr 2.81%
              Innehav 72 st med förlust -2240172867.00 kr -1.62%
              Blankning 30 st med vinst 342973344.00 kr 1.34%
              Blankning 25 st med förlust -129447872.00 kr -2.01%

              och nu mina modifierade script med återinvestering

              Max Result Drawdown 28.3712 %
              Sharpekvot 0.4091 (månadsresultat) (pre 1994 0.4091)
              -0.6755 (årsomräknat) (pre 1994 -0.6755)
              Effektivt Resultat: 33112158.3990% - Slutsaldo kontot: 33112258399.00
              Avkastning 33 112158399.00 kr 0.94% på 183 affärer under 14553:22:57 tim
              Av dessa blankat 32 st med avkastning 2418358631.00 kr 0.69%
              Innehav 98 st med vinst 51522843453.00 kr 2.91%
              Innehav 53 st med förlust -20829043815.00 kr -1.49%
              Blankning 19 st med vinst 3921616128.00 kr 1.36%
              Blankning 13 st med förlust -1503257472.00 kr -2.39%

              Härav lär vi oss att optimering för återinvestering inte behöver bli bättre då man inte återinvesterar.

              Med vänlig hälsning
              Bertil
              Last edited by Bertil; 2015-09-13, 15:44.

              Comment


              • #37
                Intressant, men drawdown minskar också samtidigt som genomsnittsavkastning/trade ökar.

                Comment


                • #38
                  Nu ändrar jag hävstången dvs jag handlar endast för 25% av kassan.

                  Originalscript
                  Max Result Drawdown 14.6300 %
                  Sharpekvot 0.3846 (månadsresultat) (pre 1994 0.3846)
                  -0.7325 (årsomräknat) (pre 1994 -0.7325)
                  Effektivt Resultat: 159617.1270% - Slutsaldo kontot: 159717127.00
                  Avkastning 159617127.00 kr 1.30% på 244 affärer under 18554:05:57 tim
                  Av dessa blankat 55 st med avkastning 7352257.00 kr 0.48%
                  Innehav 117 st med vinst 221311304.00 kr 3.43%
                  Innehav 72 st med förlust -69046425.00 kr -1.61%
                  Blankning 30 st med vinst 17776984.00 kr 1.76%
                  Blankning 25 st med förlust -10424727.00 kr -1.94%

                  Modifierade script
                  Max Result Drawdown 14.6304 %
                  Sharpekvot 0.4137 (månadsresultat) (pre 1994 0.4137)
                  -0.6674 (årsomräknat) (pre 1994 -0.6674)
                  Effektivt Resultat: 131783.4270% - Slutsaldo kontot: 539162427.00
                  Avkastning 131783427.00 kr 1.47% på 183 affärer under 14545:22:57 tim
                  Av dessa blankat 32 st med avkastning 6692825.00 kr 0.65%
                  Innehav 98 st med vinst 175098807.00 kr 3.58%
                  Innehav 53 st med förlust -50008212.00 kr -1.65%
                  Blankning 19 st med vinst 14508121.00 kr 1.90%
                  Blankning 13 st med förlust -7815296.00 kr -2.91%

                  Dvs mina modifieringar ger ett sämre resultat då man bara handlar för 25% av kassan men 10 gånger bättre resultat då man handlar för 50%.

                  Det är därför helt grundläggande att bestämma sig för vilken hävstäng (hur många % av kassan man handlar terminer för) INNAN man börjar att optimera.

                  Med vänlig hälsning
                  Bertil

                  Comment


                  • #39
                    Här är lite labbande med månadsfilter och stoploss:

                    $par1:=10 {0-30}
                    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)
                    pred_tot=aref(div(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),5),mx(1,$par1):35)

                    månad_ok=or(le(monthnumber(),7),ge(monthnumber(),10))

                    p1=gt(roc(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)
                    hist=sub(macd2(n),macd2(t))
                    extremt=lt(hist,-5)
                    ma100=mov(c,150,s)
                    över=or(extremt,and(gt(c,ma100),månad_ok))

                    long1a=and(and(lt(c,hhv(aref(c,1),2)),v2),över)
                    long1b=and(lt(c,hhv(aref(c,1),3)),v4)
                    long2=and(or(long1a,long1b),le(portfolio(v),0))
                    long3=and(and(long2,and(öppet,stängning)),gt(int(d),lasttrade(s,d)))
                    stoploss=and(gt(c,add(lasttrade(s,p),mult(5,atr(10)))),lt(portfolio(v),0))
                    long4=or(stoploss,long3)
                    setgvarif(11,880,long4)
                    mult(long4,5)



                    $par1:=10 {0-30}
                    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)
                    pred_tot=aref(div(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),5),mx(1,$par1):35)
                    p1=lt(roc(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)))

                    månad_ok=and(ge(monthnumber(),5),le(monthnumber(),13))

                    stängning=le(mult(1440,sub(market(c),frac(date()))),8)
                    öppet=ge(mult(1440,sub(market(c),frac(date()))),6)

                    ma200=mov(c,200,s)
                    under=lt(c,ma200)

                    shrt1=and(lt(c,llv(aref(c,1),2)),and(månad_ok,under))
                    shrt2=and(and(shrt1,or(v1,v3)),ge(portfolio(v),0))
                    shrt3=and(and(shrt2,and(öppet,stängning)),gt(int(d),lasttrade(b,d)))
                    setgvarif(9,880,shrt3)
                    mult(shrt3,10)
                    Attached Files

                    Comment


                    • #40
                      Liten detalj. Stopp sker under handelstid.

                      De kan tex ske en event och blankning kan inte tas vissa månader. Det kanske ändå lönar sig i längden och att den förhoppningsvis bara ligger i exit.

                      Comment


                      • #41
                        Sant, stoppen löser när som helst. Och har det hänt görs inget mer den dagen. Blankning tas inte under de månader som är statistiskt starka. Drawdown minskade och antalet affärer också, medan resultat per trade ökade lite. Risk för curvefitting kanske, men fortfarande väldigt generella villkor.

                        Comment


                        • #42
                          Absolut.

                          Jag tänkte bara så att stoppen inte slår till i callen(händer ibland att kursen drar lite). Det kanske vänder nästa dag. Det kanske inte kommer att hända, men chansen finns.

                          Comment


                          • #43
                            Ursprungligen postat av Bertil Visa inlägg
                            ...
                            Dvs mina modifieringar ger ett sämre resultat då man bara handlar för 25% av kassan men 10 gånger bättre resultat då man handlar för 50%.

                            Det är därför helt grundläggande att bestämma sig för vilken hävstäng (hur många % av kassan man handlar terminer för) INNAN man börjar att optimera.

                            Med vänlig hälsning
                            Bertil
                            Jag tror att de stora vinsterna kom av en bugg då kassan hamnade på minus.

                            Med vänlig hälsning
                            Bertil

                            Comment


                            • #44
                              Jag pratade ju att ta med motsvarande månad för ett år sedan.

                              Original
                              Max Result Drawdown 0.1349 %
                              Sharpekvot 0.4059 (månadsresultat) (pre 1994 0.4059)
                              -0.7712 (årsomräknat) (pre 1994 -0.7712)
                              Effektivt Resultat: 3.1478% - Slutsaldo kontot: 103147.81
                              Avkastning 3147.81 kr 1.23% på 262 affärer under 19783:49:57 tim
                              Av dessa blankat 60 st med avkastning 756.95 kr 1.40%
                              Innehav 124 st med vinst 3815.33 kr 3.09%
                              Innehav 78 st med förlust -1424.47 kr -1.80%
                              Blankning 34 st med vinst 1251.77 kr 3.93%
                              Blankning 26 st med förlust -494.82 kr -2.24%

                              Med följande modifiering i alla script.
                              pred6=find(lt(d,sub(const(d),365)),305,c,1)
                              avg=aref(div(add(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),pred6),6),1)
                              pred_tot=aref(div(add(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),pred6),6),mx(1,$par1):35)

                              Max Result Drawdown 0.1257 %
                              Sharpekvot 0.4131 (månadsresultat) (pre 1994 0.4131)
                              -0.7560 (årsomräknat) (pre 1994 -0.7560)
                              Effektivt Resultat: 3.1663% - Slutsaldo kontot: 103166.27
                              Avkastning 3166.27 kr 1.25% på 258 affärer under 19882:12:56 tim
                              Av dessa blankat 60 st med avkastning 795.80 kr 1.47%
                              Innehav 120 st med vinst 3798.09 kr 3.18%
                              Innehav 78 st med förlust -1427.62 kr -1.79%
                              Blankning 37 st med vinst 1267.91 kr 3.64%
                              Blankning 23 st med förlust -472.11 kr -2.46%

                              Med vänlig hälsning
                              Bertil

                              Comment


                              • #45
                                Kul att det gick bättre då man tog med månaden för ett år sedan.
                                Man kan väga in mer av detta genom att ändra i alla script så här:

                                pred6=mult(find(lt(d,sub(const(d),365)),305,c,1),2)
                                avg=aref(div(add(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),pred6),7),1)
                                pred_tot=aref(div(add(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),pred6),7),mx(1,$par1):35)

                                Max Result Drawdown 0.1228 %
                                Sharpekvot 0.4005 (månadsresultat) (pre 1994 0.4005)
                                -0.7840 (årsomräknat) (pre 1994 -0.7840)
                                Effektivt Resultat: 3.1799% - Slutsaldo kontot: 103179.92
                                Avkastning 3179.92 kr 1.29% på 251 affärer under 20199:41:56 tim
                                Av dessa blankat 61 st med avkastning 804.19 kr 1.46%
                                Innehav 111 st med vinst 3756.97 kr 3.38%
                                Innehav 79 st med förlust -1381.24 kr -1.71%
                                Blankning 37 st med vinst 1315.82 kr 3.78%
                                Blankning 24 st med förlust -511.63 kr -2.54%

                                Med vänlig hälsning
                                Bertil

                                Comment

                                Working...
                                X