Allmänt meddelande

Collapse
No announcement yet.

Raptor

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

  • Ingen NDF, får inte bättre edge om jag inkluderar den varianten jag hade. Kanske kan man ändra villkoren men tror inte det finns så värst mycket mer att kräma ur modellen faktiskt. Är inte helt nöjd med blanksidan däremot, den är alltid svårast.

    Comment


    • Lite ändringar i Long-Sell-scripten så utnyttjas även tiden mellan "bull"-perioden under månadscykeln under förutsättning att klimatet är starkt uppåt. Testade också att köra på data från 2003 vilket inte är testat hittills.

      Max Result Drawdown 6.9670 %
      Sharpekvot 0.2987 (månadsresultat) (pre 1994 0.2987)
      -2.8853 (årsomräknat) (pre 1994 -2.8853)
      Effektivt Resultat: 144.5958% - Slutsaldo kontot: 24459.58

      Avkastning 14459.58 kr 0.38% på 2911 affärer under 20426:18:57 tim
      Av dessa blankat 154 st med avkastning 939.73 kr 0.37%
      Innehav 2705 st med vinst 26461.31 kr 0.88%
      Innehav 52 st med förlust -12941.46 kr -2.53%
      Blankning 92 st med vinst 2565.47 kr 1.87%
      Blankning 62 st med förlust -1625.74 kr -1.43%



      { Raptor Supermarket Long }


      {$opt(datum1,2,7,1)}
      {$opt(datum2,23,29,1)}

      datum1:=5
      datum2:=28
      maxgrids:=10
      grid_atr:=0.25


      startdag=ge(dayofmonth(),datum1)
      slutdag=le(dayofmonth(),datum2)
      tradezone=and(startdag,slutdag)
      draw(mult(tradezone,3),1,bsbf)

      { testa om vi är nära stängning }
      stängning=le(mult(1440,sub(market(c),frac(date()))),10)
      öppet=ge(mult(1440,sub(market(c),frac(date()))),6)
      inpådagen=gt(frac(date()),0.38)



      ma50=mov(c,50,s)
      ma200=mov(c,200,s)
      ej_ras=or(hhv(gt(h,mov(c,20,s)),10),gt(ma50,ma200))

      ma10a=mov(c,10,s)
      ma100=mov(c,100,s)
      klimat=gt(ma10a,ma100)

      { koppla ihop villkor, antingen v2 eller v2 samt innehav noll eller blankat }
      long2=and(lt(l,aref(l,1)),le(portfolio(v),0))

      { koppla ihop Long-signal med nära stängning samt ingen säljtransaktion under dagen }
      long3=and(and(long2,and(öppet,stängning)),gt(int(d),lasttrade(s,d)))



      köp_senare_än_sälj=gt(lasttrade(b,d),lasttrade(s,d))
      grid1=sub(lasttrade(b,p),mult(grid_atr,mx(atr(20),atr(5))))
      grid2=sub(h,mult(grid_atr,mx(atr(20),atr(5))))

      grid3=if(köp_senare_än_sälj,grid1,grid2)
      long4=or(long3,and(ej_ras,and(gt(portfolio(v),0),lt(c,grid3))))
      long5=and(and(or(klimat,tradezone),long4),lt(portfolio(v),maxgrids))
      long6=and(long5,inpådagen)

      mult(long6,1)



      { Raptor Sell }


      grid_atr:=0.25

      { Testa om lutning på Predictive Average är ned }
      p1=getgvar(14)


      { testa om kurs är lägre än gårdagens lägsa }
      lägre=lt(c,aref(c,1))

      { testa om vi är nära stängning samt någon minut in på dagen }
      inpådagen=gt(frac(date()),0.376)
      stängning=le(mult(1440,sub(market(c),frac(date()))),10)
      öppet=and(inpådagen,ge(mult(1440,sub(market(c),frac(date()))),6))

      { testa om veckodag är tisdag eller senare }
      rättd=ge(dayofweek(),5)

      { Stoploss 2 ATR över shrt }
      stoploss=lt(l,mov(c,50,s))
      vinst=gt(c,portfolio(p))



      { koppla ihop säljvillkor med tillåtna datum och att innehav större än noll }
      sell2=and(stoploss,gt(portfolio(v),0))

      { koppla ihop villkor med nära stängning alternativt lägre kurs än }
      { gårdagens lägsta samt veckodag tis eller senare samt ingen köptransaktion idag }
      sell3=and(and({rättd}0,and(or(lägre,stängning),öppet)),gt(int(d),lasttrade(b,d)))
      setgvarif(if(sell3,0,1),10,1)

      gridnivå_k=add(lasttrade(b,p),mult(grid_atr,mx(atr(20),atr(5))))
      gridnivå_s=add(lasttrade(s,p),mult(grid_atr,mx(atr(20),atr(5))))
      köp_senare_än_sälj=gt(lasttrade(b,d),lasttrade(s,d))
      sälj_senare_än_köp=gt(lasttrade(s,d),lasttrade(b,d))
      sell4=and(and(gt(c,gridnivå_k),gt(portfolio(v),0)),köp_senare_än_sälj)
      sell5=and(and(gt(c,gridnivå_s),gt(portfolio(v),0)),sälj_senare_än_köp)
      sell6=and(vinst,and(or(or(sell3,sell4),sell5),gt(portfolio(v),0)))

      mult(sell6,10)

      Comment


      • Ursäkta den frågdumme Bertils undringar. Du har alltså simulerat från jan 2003 tills nu? Under denna tid har OMXS30 gått från 515 till 1551 punkter dvs ökat med 1036 punkter. Din modell gör 95% långa affärer. Jag antar att maxgrids:=10 betyder att man som max kan handla med 10 enheter som man alltså måste allokera för.
        Hade man 2:a januari 2003 köpt 10 enheter och behållit tills nu hade man vunnit 10360 punkter. Din nya Raptor vinner 14459 punkter. Sedan måste man minska för courtage och spread på 2911 affärer, som kanske blir 1500 punkter som måste subtraheras. Är resultatet då bra eller dåligt?

        Med vänlig hälsning
        Bertil


        Edit: Nya Raptor vinner då ca 20 punkter per år och allokerad enhet utöver indexutvecklingen.
        Last edited by Bertil; 2016-12-18, 14:21.

        Comment


        • Det är bra frågor, och det är inte helt lätt att bedöma resultatet eftersom modellen ligger exponerad i genomsnitt betydligt lägre än 10 enheter. Nu är den ju inte färdigutvecklad heller efter bara 1 vecka.

          Den stora vinsten är nog att drawdown blir betydligt lägre än för index själv. Då skulle man kunna använda hävstång för att öka avkastningen men ändå hålla risken jämförbar med index själv osv.

          När vi kommer så långt att vi kan se resultatet procentuellt inkl återinvestering blir det intressant att jämföra med index egen utveckling.

          Comment


          • Jo, vi borde ha mer standardiserade regler för hur vi skall presentera resultat på forumet. Vi behöver ju inte komma överens om en regel utan vi kan ju ha flera metoder som är standardiserade både vad gäller resultat i punkter och % både absolut och relaterade till indexutvecklingen under simuleringstiden.
            Sedan får vi ju försöka standardisera hur vi bedömer återinvestering och hävstång, men det är ju lite överkurs just nu.

            Det mest akuta just nu är ju:
            1) Draw down måste beräknas korrekt i simuleringssammanställningen. Alltså den största drawdownen i procent skall anges och inte som nu procenten på den största drawdownen i kronor.
            2) Vinstutvecklingskurvan måste behandla blankningar korrekt.

            Dessa verktyg är ju mycket viktiga då man utvecklar en strategi.

            Med vänlig hälsning
            Bertil

            Edit: I drawdownberäkningen jobbar man i kronor för att sedan omvandla till procent, vilket blir fel.
            För vinstutevklingskurvan tänker man i % och adderar, här borde man istället kalkylera direkt i kronor relaterat till det ursprungliga depåvärdet. Om man tänker tvärt om blir det rätt!
            Vinstkurvan skall inte börja längst ner i diagrammet utan utgå från depåvärdet. Då ser man lätt i kurvan när tex depåvärdet dubblats eller halverats.
            Last edited by Bertil; 2016-12-18, 15:39.

            Comment


            • Här är en körning med antal indexandelar beräknat som kontostorlek dividerat med closekurs och antal max tillåtna grids. Det borde bli en hyggligt verklighetstrogen simulering, förutom slippage som jag inte lagt in ännu (courtage finns ju inte längre på ETPer).

              Någon som är duktig på Excel får gärna beräkna drawdown, kontostorleken ligger i en egen kolumn längst till höger.

              Attached Files

              Comment


              • 14% fick jag det till men det gick snabbt

                Comment


                • Ser att modellen har negativ skew. många små vinster och färre men större förluster

                  Comment


                  • Jag måste vara trögfattad . Nu är ju antal andelar som handlas uppe i 250 st.
                    Kan du inte bara göra en körning med grid=1. Dvs man får aldrig ligga lång eller kort mer än 1 enhet. Det är ju så vi brukar att redovisa.
                    Med vänlig hälsning
                    Bertil

                    Comment


                    • Ursprungligen postat av HenrikSyst Visa inlägg
                      14% fick jag det till men det gick snabbt
                      Ok, bra - då är den i alla fall betydligt bättre än index egen drawdown på runt 60%.

                      Ursprungligen postat av HenrikSyst Visa inlägg
                      Ser att modellen har negativ skew. många små vinster och färre men större förluster
                      Japp, det är typiskt för en gridstrategi. Det är rörelsen i sig snarare än trenden som skapar många småvinster. När trenden väl går emot blir det enstaka större förluster.

                      Ursprungligen postat av Bertil Visa inlägg
                      Jag måste vara trögfattad . Nu är ju antal andelar som handlas uppe i 250 st.
                      Kan du inte bara göra en körning med grid=1. Dvs man får aldrig ligga lång eller kort mer än 1 enhet. Det är ju så vi brukar att redovisa.
                      Med vänlig hälsning
                      Bertil
                      För att kunna simulera procentuellt byggde jag om så att varje grid (max 10 i exemplet) handlar så många indexandelar som 1/10 av depån tillåter. Då får vi aldrig mer än max så många andelar som det finns pengar, dvs ingen belåning. Bifogar bild på hur det ser ut i intradayupplösning. Om kursen passerar en gridnivå nedåt köps 1/10 av depån. När kursen vänder upp börjar andelarna säljas av så fort hela positionen ligger plus, motsvarande 1/10 av depåvärdet säljs vid varje högre gridnivå. Vitsen med en grid-strategi är att skapa vinster av rörelser snarare än trend. Därför behövs så många grids som det är praktiskt möjligt att använda. Det fungerar inte med bara 1 enda.

                      Attached Files
                      Last edited by Rikard Autostock; 2016-12-18, 17:21.

                      Comment


                      • Jo men då kör du ju med återinvestering och det har vi ju ingen standard för.
                        Den årliga ökningen blir 10.9% i din simulering ovan.

                        Jag menar att du bara tillåter en enhet lång eller kort och ingen återinvestering så blir det lättare för dumskallar som jag att förstå.
                        Med vänlig hälsning
                        Bertil
                        Last edited by Bertil; 2016-12-18, 17:42.

                        Comment


                        • Återinvestering har vi använt som standard i många år nu för alla våra egna modeller. Det är ju enda sättet att jämföra med andra placeringsmetoder, tex "Sverige-fonder" och annat.

                          Comment


                          • En fördel att handla x antal indexandelar på virtuellt konto är det blir busenkelt att följa utvecklingen av depåvärdet. En annan fördel är att det blir enkelt att replikera handeln till utvalda ETPer med ETP Link.

                            Eller ska vi bygga "Raptor"-specifika slavmodeller för ETPerna? Vad tycker panelen?

                            Comment


                            • Ok då jämför vi så här.
                              Nya Raptor ger en årsavkastning på 10,8% i snitt enligt simuleringen ovan.
                              OMXS30 index ökade under samma period med 8,8% i snitt.
                              Antag att man handlade aktier enligt viktningen på OMXS30 och tog del av utdelningen varje år (antag utdelning på 2%) och återinvesterade. Då skulle man få 10,8% i utveckling på sin aktieportfölj dvs samma som Raptor.
                              Den enda fördelen är ju då lägre drawdown med Raptor, men å andra sidan får man en större motpartsrisk då man handlar minifutures istället för aktier.

                              Med vänlig hälsning
                              Bertil
                              Last edited by Bertil; 2016-12-18, 18:05.

                              Comment


                              • Valet är ju varje användares eget såklart, men jag gissar att många föredrar lite mer aktiv handel och lägre drawdown. Risken med emittenterna är låg men inte obefintlig. Ska se om det fungerar att handla aktier med Raptor också.

                                Comment

                                Working...
                                X