Allmänt meddelande

Collapse
No announcement yet.

Jehu

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

  • Jehu

    Mina swingstrategier har inte presterat bra alls under rådande marknadsklimat med snabba ryck upp och ner.
    Jag håller därför på att utveckla en mycket snabb daytradingsrategi som jag kallar Jehu. Tänk på uttrycket "att fara fram som ett jehu" dvs springa snabbt.

    Jan 2019-01-01 till 2019-12-12




    Avkastning 314.14 kr 0.04% på 560 affärer under 1522:48:35 tim
    Av dessa blankat 223 st med avkastning 115.18 kr 0.03%
    Innehav 160 st med vinst 937.37 kr 0.37%
    Innehav 177 st med förlust -738.41 kr -0.26%
    Blankning 94 st med vinst 507.33 kr 0.34%
    Blankning 129 st med förlust -392.15 kr -0.19%

    Avkastningen är i punkter mot closekursen på index. Jag har dragit av 0.3 punkter per avslut.

    mvh
    Bertil
    Attached Files
    Last edited by Bertil; 2019-12-12, 15:26.

  • #2
    { Jehu1 köp }
    { 191212 }
    innehav:=Portfolio(v)
    ok_att_handla:=Eqv(innehav,0)

    tidspärr1:=300
    lt1:=LastTrade(P,D)
    minSedanKöp:=Mult(Sub(Date(),lt1),1440)
    delay_ok:=gt(minSedanKöp,tidspärr1)

    i1(
    tid1=gt(int(mult(frac(d),1440)),541)
    tid2=lt(int(mult(frac(d),1440)),1020)

    hump01=MX(int(mult(Sub(HHV(L,180),LLV(H,180)),5)),40)
    slang01=add(mov(sub(c,aref(c,13)),hump01:300),c)
    SetGVarIf(slang01,9110,1)
    hump02=MX(int(mult(Sub(HHV(L,180),LLV(H,180)),6)),50)
    slang10=add(mov(sub(c,aref(c,14)),hump02:300),c)
    SetGVarIf(slang10,9111,1)

    slang02=mov(c,5)
    villkor01=Gt(sub(slang01,c),0.4)
    villkor02=Gt(slang02,aref(slang02,1))
    villkor03=Gt(Sub(HHV(L,180),LLV(H,180)),10)
    villkor04=Lt(Sub(HHV(L,180),LLV(H,180)),30)

    köpa=And(And(And(villkor01,villkor02),villkor03),villkor04)

    ditt_köpscript=And(And(And(köpa,tid1),tid2),delay_ok)
    köpsignal=And(ditt_köpscript,ok_att_handla)
    Mult(köpsignal,25)
    )

    ------------------------

    { Jehu1 köp vänd }
    { 191212 }
    innehav:=Portfolio(v)
    ok_att_handla:=Lt(innehav,0)

    tidspärr1:=10
    lt1:=LastTrade(B,D)
    minSedanKöp:=Mult(Sub(Date(),lt1),1440)
    delay_ok:=gt(minSedanKöp,tidspärr1)

    i1(
    tid1=gt(int(mult(frac(d),1440)),570)
    tid2=lt(int(mult(frac(d),1440)),1020)

    slang01=GetGVar(9110)
    slang02=mov(c,5)
    villkor01=Gt(sub(slang01,c),0.4)
    villkor02=Gt(slang02,aref(slang02,1))
    köpa=And(And(And(villkor01,villkor02),villkor01),villkor02)

    ditt_köpscript=And(And(And(köpa,tid1),tid2),delay_ok)
    köpsignal=And(ditt_köpscript,ok_att_handla)
    Mult(köpsignal,25)
    )

    -------------------------------------


    { Jehu1 sälj }
    { 191212 }
    innehav:=Portfolio(v)
    ok_att_handla:=Eqv(innehav,0)

    tidspärr1:=300
    lt1:=LastTrade(P,D)
    minSedanKöp:=Mult(Sub(Date(),lt1),1440)
    delay_ok:=gt(minSedanKöp,tidspärr1)

    i1(
    tid1=gt(int(mult(frac(d),1440)),551)
    tid2=lt(int(mult(frac(d),1440)),1020)

    slang01=GetGVar(9111)
    slang02=mov(c,5)
    villkor01=Gt(sub(c,slang01),0.8)
    villkor02=Lt(slang02,aref(slang02,1))
    villkor03=Gt(Sub(HHV(L,180),LLV(H,180)),17)
    villkor04=Lt(Sub(HHV(L,180),LLV(H,180)),45)
    sälja=And(And(And(villkor01,villkor02),villkor03),villkor04)

    ditt_säljscript=And(And(And(sälja,tid1),tid2),delay_ok)
    säljsignal=And(ditt_säljscript,ok_att_handla)
    Mult(säljsignal,25)
    )

    ----------------------------------------

    { Jehu1 sälj vänd}
    { 191212 }
    innehav:=Portfolio(v)
    ok_att_handla:=Gt(innehav,0)

    tidspärr1:=10
    lt1:=LastTrade(B,D)
    minSedanKöp:=Mult(Sub(Date(),lt1),1440)
    delay_ok:=gt(minSedanKöp,tidspärr1)

    i1(
    tid1=gt(int(mult(frac(d),1440)),571)
    tid2=lt(int(mult(frac(d),1440)),1020)

    slang01=GetGVar(9111)
    slang02=mov(c,5)
    villkor01=Gt(sub(c,slang01),0.8)
    villkor02=Lt(slang02,aref(slang02,1))
    sälja=And(And(And(villkor01,villkor02),villkor01),villkor02)

    ditt_säljscript=And(And(And(sälja,tid1),tid2),delay_ok)
    säljsignal=And(ditt_säljscript,ok_att_handla)
    Mult(säljsignal,25)
    )

    Comment


    • #3
      Förklaring till principen för edgen.

      Genom att titta på lutningen på kurvan (derivatan) under senaste tiden genom medelvärden så framkommer om trycket är upp eller ner. Om kurvan först lutar snabbt ner och sedan svagt upp och kommer till utgångsläget så tolkar jag den rörelsen att nedgången snart kommer att dominera eftersom den skett med större lutning.

      slang01=add(mov(sub(c,aref(c,13)),hump01:300),c)

      Att jag lägger till c är bara för att man enkelt skall kunna rita slang01.

      Hur lång medelvärdesbildningen (hump01) skall vara bestäms av dynamiken hos kurvan för de senaste 180 minuterna.
      hump01=MX(int(mult(Sub(HHV(L,180),LLV(H,180)),5)),40)

      Sedan finns filtervillkor att den senaste dynamiken skall hålla sig inom vissa gränser:

      villkor03=Gt(Sub(HHV(L,180),LLV(H,180)),10)
      villkor04=Lt(Sub(HHV(L,180),LLV(H,180)),30)

      Eftersom det är ren daytrading går jag ur varje kväll.
      Att jag använder globala variabler är enbart för att simuleringen skall gå dubbelt så fort.

      Frågor på det?

      mvh
      Bertil
      Last edited by Bertil; 2019-12-12, 15:38.

      Comment


      • #4
        Hörde jag frågan hur resultatet skulle bli om man inte gick ur varje kväll?

        Det blir så här:

        Avkastning 246.17 kr 0.03% på 589 affärer under 2026:00:04 tim
        Av dessa blankat 295 st med avkastning -53.40 kr -0.01%
        Innehav 127 st med vinst 1188.01 kr 0.58%
        Innehav 167 st med förlust -888.44 kr -0.33%
        Blankning 96 st med vinst 689.81 kr 0.45%
        Blankning 199 st med förlust -743.21 kr -0.23%

        Alltså, det är daytrading som gäller för Jehu1.

        mvh
        Bertil

        Comment


        • #5
          Roligt med dina delningar Bertil. Denna har ju dock minusår 2015-2018, så det borde rimligen vara läge att filtrera den.

          Tex genom att kräva hög volla BBW>1.09 tex för Sälj Vänd. Får upp resultatet rejält iår, men hjälper inte riktigt de andra åren skall kika mer vid tillfälle på filter. 2019 har ju trots allt varit ett riktigt bull-år.

          Comment


          • #6
            Ursprungligen postat av PerG Visa inlägg
            Roligt med dina delningar Bertil. Denna har ju dock minusår 2015-2018, så det borde rimligen vara läge att filtrera den.

            Tex genom att kräva hög volla BBW>1.09 tex för Sälj Vänd. Får upp resultatet rejält iår, men hjälper inte riktigt de andra åren skall kika mer vid tillfälle på filter. 2019 har ju trots allt varit ett riktigt bull-år.
            Själv har jag bara hunnit köra Jehu för 2019 ännu. Strategin är helt färsk från min hjärna så den håller fortfarande 37 C.

            Strategin är på intet när färdig utan den behöver filtreras bättre. Nu filtrerar jag ju bara på 3 timmar bakåt. Borde filtreras på minst 3 dagar bakåt.

            Vi får slå våra kloka huvuden ihop och hitta bättre filtrering!

            mvh
            Bertil

            Comment


            • #7
              Nu har jag justerat lite i scripten. Ungefär samma vinst fast med lägre drawdown och mindre än halva antalet affärer. Vinsten är över 1 punkt per affär och antalet vinstaffärer är större än antalet förlustaffärer.

              Jan 2019-01-01 till 2019-12-12


              Avkastning 308.33 kr 0.07% på 259 affärer under 1053:52:30 tim
              Av dessa blankat 69 st med avkastning 72.25 kr 0.07%
              Innehav 99 st med vinst 722.87 kr 0.46%
              Innehav 91 st med förlust -486.79 kr -0.33%
              Blankning 35 st med vinst 193.25 kr 0.34%
              Blankning 34 st med förlust -121.00 kr -0.22%

              mvh
              Bertil
              Attached Files

              Comment


              • #8
                Så här blir avkastningen för 2018

                Avkastning -27.74 kr -0.01% på 271 affärer under 917:14:14 tim
                Av dessa blankat 93 st med avkastning 52.98 kr 0.04%
                Innehav 77 st med vinst 525.68 kr 0.44%
                Innehav 101 st med förlust -606.40 kr -0.39%
                Blankning 46 st med vinst 228.55 kr 0.32%
                Blankning 47 st med förlust -175.57 kr -0.24%

                mvh
                Bertil

                Comment


                • #9
                  { Jehu2 köp }
                  { 191212 }
                  innehav:=Portfolio(v)
                  ok_att_handla:=Eqv(innehav,0)

                  tidspärr1:=30
                  tidspärr2:=30
                  lt1:=LastTrade(S,D)
                  lt2:=LastTrade(B,D)
                  minSedanSälj:=Mult(Sub(Date(),lt1),1440)
                  minSedanKöp:=Mult(Sub(Date(),lt2),1440)
                  delay_ok:=gt(minSedanSälj,tidspärr1)
                  trans_ok:=gt(minSedanKöp,tidspärr2)

                  i1(
                  tid1=gt(int(mult(frac(d),1440)),541)
                  tid2=lt(int(mult(frac(d),1440)),1020)

                  hump01=MX(int(mult(Sub(HHV(L,180),LLV(H,180)),5)),40)
                  slang01=add(mov(sub(c,aref(c,13)),hump01:300),c)
                  SetGVarIf(slang01,9110,1)
                  hump02=MX(int(mult(Sub(HHV(L,180),LLV(H,180)),6)),50)
                  slang10=add(mov(sub(c,aref(c,14)),hump02:300),c)
                  SetGVarIf(slang10,9111,1)
                  mycket=HHV(sub(c,aref(c,14)),hump02:300)
                  SetGVarIf(mycket,9112,1)
                  litet=LLV(sub(c,aref(c,14)),hump02:300)
                  SetGVarIf(litet,9113,1)
                  slang02=mov(c,5)
                  villkor01=Gt(sub(slang01,c),0.4)
                  villkor02=Gt(sub(slang02,aref(slang02,1)),0)
                  villkor03=Gt(Sub(HHV(L,120),LLV(H,120)),10)
                  villkor04=Lt(Sub(HHV(L,120),LLV(H,120)),30)
                  villkor05=Lt(GetGvar(9112),12)

                  köpa=And(And(And(And(villkor01,villkor02),villkor03),villkor04),villkor05)

                  ditt_köpscript=And(And(And(And(köpa,tid1),tid2),delay_ok),trans_ok)
                  köpsignal=And(ditt_köpscript,ok_att_handla)
                  Mult(köpsignal,25)
                  )


                  ------------------------

                  { Jehu2 köp vänd }
                  { 191212 }
                  innehav:=Portfolio(v)
                  ok_att_handla:=Lt(innehav,0)

                  tidspärr1:=10
                  lt1:=LastTrade(B,D)
                  minSedanKöp:=Mult(Sub(Date(),lt1),1440)
                  delay_ok:=gt(minSedanKöp,tidspärr1)

                  i1(
                  tid1=gt(int(mult(frac(d),1440)),570)
                  tid2=lt(int(mult(frac(d),1440)),1020)

                  slang01=GetGVar(9110)
                  slang02=mov(c,5)
                  villkor01=Gt(sub(slang01,c),0.4)
                  villkor02=Gt(slang02,aref(slang02,1))
                  villkor03=Gt(Sub(HHV(L,180),LLV(H,180)),6)
                  köpa=And(And(And(villkor01,villkor02),villkor03),villkor01)

                  ditt_köpscript=And(And(And(köpa,tid1),tid2),delay_ok)
                  köpsignal=And(ditt_köpscript,ok_att_handla)
                  Mult(köpsignal,25)
                  )



                  -------------------------------------


                  { Jehu2 sälj }
                  { 191212 }
                  innehav:=Portfolio(v)
                  ok_att_handla:=Eqv(innehav,0)

                  tidspärr1:=30
                  tidspärr2:=30
                  lt1:=LastTrade(S,D)
                  lt2:=LastTrade(B,D)
                  minSedanSälj:=Mult(Sub(Date(),lt1),1440)
                  minSedanKöp:=Mult(Sub(Date(),lt2),1440)
                  delay_ok:=gt(minSedanSälj,tidspärr1)
                  trans_ok:=gt(minSedanKöp,tidspärr2)

                  i1(
                  tid1=gt(int(mult(frac(d),1440)),551)
                  tid2=lt(int(mult(frac(d),1440)),1020)

                  slang01=GetGVar(9111)
                  slang02=mov(c,5)
                  villkor01=Gt(sub(c,slang01),0.8)
                  villkor02=Lt(sub(slang02,aref(slang02,1)),0)
                  villkor03=Gt(Sub(HHV(L,120),LLV(H,120)),17)
                  villkor04=Lt(Sub(HHV(L,120),LLV(H,120)),45)
                  villkor05=Gt(GetGvar(9113),-12)

                  sälja=And(And(And(And(villkor01,villkor02),villkor03),villkor04),villkor05)

                  ditt_säljscript=And(And(And(And(sälja,tid1),tid2),delay_ok),trans_ok)
                  säljsignal=And(ditt_säljscript,ok_att_handla)
                  Mult(säljsignal,25)
                  )

                  ----------------------------------------

                  { Jehu2 sälj vänd}
                  { 191212 }
                  innehav:=Portfolio(v)
                  ok_att_handla:=Gt(innehav,0)

                  tidspärr1:=10
                  lt1:=LastTrade(B,D)
                  minSedanKöp:=Mult(Sub(Date(),lt1),1440)
                  delay_ok:=gt(minSedanKöp,tidspärr1)

                  i1(
                  tid1=gt(int(mult(frac(d),1440)),571)
                  tid2=lt(int(mult(frac(d),1440)),1020)

                  slang01=GetGVar(9111)
                  slang02=mov(c,5)
                  villkor01=Gt(sub(c,slang01),0.8)
                  villkor02=Lt(slang02,aref(slang02,1))
                  villkor03=Gt(Sub(HHV(L,180),LLV(H,180)),10)
                  sälja=And(And(And(villkor01,villkor02),villkor03),villkor02)

                  ditt_säljscript=And(And(And(sälja,tid1),tid2),delay_ok)
                  säljsignal=And(ditt_säljscript,ok_att_handla)
                  Mult(säljsignal,25)
                  )
                  Last edited by Bertil; 2019-12-14, 23:37. Anledning: Typo på innehav

                  Comment


                  • #10
                    Typo på iinnehav

                    Kod:
                    { Jehu2 köp vänd }
                    { 191212 }
                    [B]i[/B]innehav:=Portfolio(v)

                    Som baseline-strategi så presterar den fortsatt bara 2019, men om man lägger på vollafilter för att vända så levererar den bra 18 och 19 (GP på 2,8), CAGR på 31% men blir mindre "jehuig".

                    Long vänd: BBW > 1.05
                    Short vänd: BBW < 1.10

                    Det vore dock intressant att göra om den till att kunna ta exit med, så att man kan filtrera bort perioder genom att ligga helt utanför marknaden istället för att bara stoppa den från att vända position.


                    Då strategin har svårt 2016 och 2017, så blir det extra intressant att se vad man kan göra de åren.

                    Comment


                    • #11
                      Ursprungligen postat av PerG Visa inlägg
                      ...
                      Det vore dock intressant att göra om den till att kunna ta exit med, så att man kan filtrera bort perioder genom att ligga helt utanför marknaden istället för att bara stoppa den från att vända position.


                      Då strategin har svårt 2016 och 2017, så blir det extra intressant att se vad man kan göra de åren.
                      Jehu är ju en daytradingstrategi så den går ur marknaden varje dag på samma sätt som Studsa.
                      http://www.autostock.se/vbulletin/sh...95&postcount=8
                      http://www.autostock.se/vbulletin/sh...96&postcount=9

                      Det är på köp och sälj som man skall sätta in filtren.
                      Jag har testat lite idag med filter som ser 1-3 dagar bakåt, men inte hittat någon bra lösning.

                      mvh
                      Bertil
                      Attached Files
                      Last edited by Bertil; 2020-07-20, 20:30.

                      Comment

                      Working...
                      X