Allmänt meddelande

Collapse
No announcement yet.

Alpha Shark

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

  • Ursprungligen postat av Rikard Autostock Visa inlägg
    Roligt! Styr du tex hedge-offset med villkor som MA10-testen?
    I detta fall har jag bara testat enkelt att justera "short"-antal ( i short insatsscript) beroende på den korta trenden i daily.

    Tex,
    IF (MA10 is Stigande)
    (Shortantal * 0.5)

    ELSE
    (Shortantal * 1)


    eller ännu mer extremt att skippa hedgen helt när den korta trenden pekar uppåt.

    Skulle dock gärna ha lite förslag på perioder då den typ av villkor kan få det svårt och det kan bli stökigt så jag kan labba lite mer i svåra tider.
    Går ju även att kolla på om det finns perioder då man skall ha extra liten Long position med som nästa steg.

    Sen skulle det givetvis vara intressant att kolla om man skall minska eller öka hedgen under tiden man ligger i position med, och inte bara när position tas.
    Last edited by PerG; 2020-02-12, 15:52.

    Comment


    • Har kört Alpha Shark idag och den gjorde sista affären vid 11.52. Stämmer det eller har min hängt sig? Har gjort totalt 28 affärer, men som sagt inga alls efter 11.52.

      Comment


      • 28 affärer? Det låter inte riktigt, maila gärna en lista på hur affärerna ser ut på testkontot. Det borde vara betydligt färra affärer än så även om det är väldigt volatilt just nu.

        Comment


        • Testat att simulera variabel hedge offset, det ger faktiskt bättre resultat. Det funkar så att ROC för 500 senaste 60-min-perioderna jämförs mellan båda indexen. Hedge offset sätts helt enkelt till förhållandet mellan lutningen och inverteras för blankningar OMX, så att det index med bäst beta för tillfället överviktas.

          Här är modifierat OMX Long-script (det är enda stället om berörs):

          { Alpha Shark OMX Long 200605 }


          reset:=0
          band1:=0.6 {0.6}
          band2:=1.4 {1.4}
          band3:=2.5 {2.5}
          period:=40 {40}
          hävstång:=1 {2.0 i redovisning}
          vinstkrav:=0.005
          vinst2:=0.02
          vap_threshold1:=100 {100}
          vap_threshold2:=40 {40}



          i60(
          ej_abb=not(eqv(crcid(),3588324501))
          o_low=cmpref(l,0,c)
          o_cl=cmpref(c,0,c)
          volla=sub(1,div(aref(o_cl,1),o_cl))
          ma50=mov(volla,50,s)
          bbl1k=sub(ma50,mult(2.5,stdev(volla,250)))
          bbl50=sub(ma50,mult(2,stdev(volla,50)))

          vd=sub(bbl50,bbl1k)
          rating1=sum(gt(vd,aref(vd,1)),50)
          rating2=mult(50,sub(1,div(abs(vd),bbl1k)))
          rating3=mx(0,mn(100,mult(sub(add(rating1,rating2),80),2)))


          depå=sub(add(cash(a),cash(t)),mult(2,abs(cash(s))))
          setgvarif(mult(hävstång,div(depå,3)),897,ej_abb)
          konto=getgvar(897)
          dax=cmpref(c,0,a)
          diff=div(dax,c)

          idag=and(and(eqv(int(d),int(date())),eqv(getgvar(888),1)),ej_abb)
          papper=and(and(eqv(int(cmpref(c,0,b)),int(c)),idag),ej_abb)
          ma10=mov(diff,10,s)
          ma20=mov(diff,20,s)
          bbu20=add(ma20,mult(band1,stdev(diff,period)))
          bbl20=sub(ma20,mult(band1,stdev(diff,period)))
          bbu25=add(ma20,mult(band2,stdev(diff,period)))
          bbl25=sub(ma20,mult(band2,stdev(diff,period)))
          bbu30=add(ma20,mult(band3,stdev(diff,period)))
          bbl30=sub(ma20,mult(band3,stdev(diff,period)))
          mellan_bb=and(lt(diff,bbu20),gt(diff,bbl20))

          protect1=and(hhv(lt(diff,llv(aref(diff,1),700)),20),lt(sum(gt(diff,bbu25),110),2))
          protect2=and(hhv(gt(diff,hhv(aref(diff,1),1000)),20),lt(sum(lt(diff,bbl25),200),3))

          draw(diff,0,dwae)
          draw(bbu20,1,dgpew)
          draw(bbl20,2,dgpew)
          draw(bbu25,3,bpew)
          draw(bbl25,4,bpew)
          draw(bbu30,5,rpew)
          draw(bbl30,6,rpew)
          draw(mult(protect1,50),7,ksef)
          draw(mult(protect2,50),8,bsef)

          vinst_d=getgvar(898)
          gav=abs(portfolio(p))
          blankad=lt(portfolio(v),0)
          vinst_s=div(sub(gav,c),c)
          vinst_l=div(sub(c,gav),c)
          vinst_o=if(blankad,vinst_s,vinst_l)
          vinst_tot=add(vinst_d,vinst_o)
          takeprofit1=gt(vinst_tot,vinstkrav)
          ta_hem_vinst=and(mellan_bb,gt(vinst_tot,vinst2))

          ej_stig=not(and(llv(gt(ma10,aref(ma10,1)),5),llv(gt(ma10,aref(ma10,1)),1)))
          ej_fall=not(and(llv(lt(ma10,aref(ma10,1)),5),llv(lt(ma10,aref(ma10,1)),1)))

          delayper=or(eqv(yearnumber(),2012),and(eqv(yearnumber(),2013),le(monthnumber(),6)))
          öppet=and(ge(mult(1440,sub(market(c),frac(date()))),6),lt(frac(date()),0.725))
          inpådagen=gt(frac(date()),if(ge(yearnumber(),2011),if(delayper,0.3875,0.3775),0.42))

          long_omx20=and(and(gt(diff,if(protect1,ma20,bbu20)),and(not(protect2),papper)),or(eqv(getgvar(896),7),and(le(getgvar(896),0),or(gt(rating3,vap_thresho ld1),or(protect1,takeprofit1)))))
          long_omx25=and(and(gt(diff,bbu25),and(not(protect2),papper)),or(eqv(getgvar(896),7),and(le(getgvar(896),1),or(eqv(getgvar(896),1),or(and(ej_stig,gt(ra ting3,vap_threshold2)),takeprofit1)))))
          long_omx30=and(and(or(takeprofit1,{ej_stig}1),gt(diff,bbu30)),papper)
          sell_omx=and(and(lt(diff,ma20),gt(portfolio(v),0)),papper)
          cover_omx=and(and(gt(diff,ma20),lt(portfolio(v),0)),papper)
          shrt_omx20=and(and(lt(diff,if(protect2,ma20,bbl20)),and(not(protect1),papper)),or(eqv(getgvar(896),7),and(ge(getgvar(896),0),or(gt(rating3,vap_thresho ld1),or(protect2,takeprofit1)))))
          shrt_omx25=and(and(lt(diff,bbl25),and(not(protect1),papper)),or(eqv(getgvar(896),7),and(ge(getgvar(896),-1),or(eqv(getgvar(896),-1),or(and(ej_fall,gt(rating3,vap_threshold2)),takeprofit1)))))
          shrt_omx30=and(and(or(takeprofit1,{ej_fall}1),lt(diff,bbl30)),papper)


          FeedSWE=and(papper,not(eqv(c,GetGvar(1003))))
          SetGvarIf(date(),1004,and(papper,FeedSWE))
          SetGvarIf(c,1003,papper)
          synk2=lt(date(),add(mn(getgvar(1002),getgvar(1004)),div(60,86400)))


          setgvarif(1,896,and(idag,and(synk2,and(and(öppet,inpådagen),long_omx20))))
          setgvarif(2,896,and(idag,and(synk2,and(and(öppet,inpådagen),long_omx25))))
          setgvarif(3,896,and(idag,and(synk2,and(and(öppet,inpådagen),long_omx30))))
          setgvarif(-1,896,and(idag,and(synk2,and(and(öppet,inpådagen),shrt_omx20))))
          setgvarif(-2,896,and(idag,and(synk2,and(and(öppet,inpådagen),shrt_omx25))))
          setgvarif(-3,896,and(idag,and(synk2,and(and(öppet,inpådagen),shrt_omx30))))

          balans1=mx(0.80,mn(1.25,div(roc(cmpref(c,0,b),500),roc(dax,500))))
          balans2=mx(0.80,mn(1.25,div(roc(dax,500),roc(cmpref(c,0,b),500))))
          hedge_offset=if(gt(getgvar(896),0),balans1,balans2)


          setiniif(7,896,and(or(ta_hem_vinst,reset),ej_abb))
          setgvarif(7,896,and(or(ta_hem_vinst,reset),ej_abb))
          setgvarif(portfolio(v),1006,papper)
          setgvarif(hedge_offset,872,ej_abb)

          latest=getgvar(896,d)
          skriv=and({lt(date(),add(latest,div(1,1440)))}1,getgvar(896))
          setiniif(getgvar(896),896,and(ej_abb,and(öppet,and(inpådagen,and(synk2,skriv)))))
          setgvarif(getini(896),896,and(ej_abb,and(not(eqv(getgvar(896),getini(896))),getini(896))))
          state1=eqv(getgvar(896),1)
          state2=eqv(getgvar(896),2)
          state3=eqv(getgvar(896),3)

          målantal1=mult(int(div(konto,c)),hedge_offset)
          målantal2=if(state1,målantal1,if(state2,mult(2,målantal1),if(state3,mult(3,målantal1),0)))
          ej_innehav=le(portfolio(v),mult(målantal2,0.9))
          long1=and(and(ej_innehav,or(or(state1,state2),state3)),papper)
          long2=and(and(long1,and(inpådagen,öppet)),ge(portfolio(v),0))
          mult(long2,ej_abb)
          )
          {@A(60,B-IDX-DAXI)@B(60,OMX Stock )@C(0,OMX Stock )}

          Comment


          • Vore kanon om du kunde lägga upp vinstkurvorna och annan data på de olika körningarna så man ser skillnaden. CAGR, DD o.s.v.
            Trevlig helg på er

            Comment


            • Testade ett par körningar från 2012 till i dag. Hävstång 1 på samtliga test.


              Orginal Hedge = 0.75
              _____________
              Max Result Drawdown 19.2699 %
              Sharpekvot 0.2209 (månadsresultat) (pre 1994 0.2209)

              Effektivt Resultat: 232.5554% - Slutsaldo kontot: 385265.04

              Avkastning 232555.42 kr 0.10% på 1666 affärer under 17731:44:06 tim
              Av dessa blankat 835 st med avkastning 749.54 kr 0.00%
              Innehav 545 st med vinst 902087.20 kr 1.18%
              Innehav 286 st med förlust -670281.35 kr -1.48%
              Blankning 484 st med vinst 789342.69 kr 1.21%

              _____________



              Dynamisk hedge
              ____________
              Max Result Drawdown 17.5666 %
              Sharpekvot 0.0765 (månadsresultat) (pre 1994 0.0765)
              -2.4871 (årsomräknat) (pre 1994 -2.4871)
              Effektivt Resultat: 244.8447% - Slutsaldo kontot: 391045.02

              Avkastning 244844.72 kr 0.09% på 1638 affärer under 17729:36:51 tim
              Av dessa blankat 821 st med avkastning -33838.71 kr -0.03%
              Innehav 535 st med vinst 944288.86 kr 1.19%
              Innehav 282 st med förlust -665605.41 kr -1.39%
              Blankning 480 st med vinst 853026.38 kr 1.19%
              Blankning 341 st med förlust -886865.06 kr -1.43%

              Courtage 0.00% Min 0.00
              _____________


              Hedge = 1
              _____________
              Max Result Drawdown 17.3527 %
              Sharpekvot 0.1432 (månadsresultat) (pre 1994 0.1432)
              -4.6263 (årsomräknat) (pre 1994 -4.6263)
              Effektivt Resultat: 263.6480% - Slutsaldo kontot: 363488.19

              Avkastning 263648.04 kr 0.10% på 1666 affärer under 17731:43:06 tim
              Av dessa blankat 835 st med avkastning -5136.21 kr -0.00%
              Innehav 544 st med vinst 1015739.22 kr 1.18%
              Innehav 287 st med förlust -746955.04 kr -1.41%
              Blankning 487 st med vinst 890034.50 kr 1.21%
              Blankning 348 st med förlust -895170.69 kr -1.37%

              Courtage 0.00% Min 0.00
              AlgoPal - Emotionless Trading - Hyr ut våra trading algoritmer for Autostock via algopal.com

              Comment


              • Att ligga övervikt Lång borde ge ett bättre resultat över tid, men då är modellen inte så Alpha längre...
                AlgoPal - Emotionless Trading - Hyr ut våra trading algoritmer for Autostock via algopal.com

                Comment


                • Modifierad Alpha ligger nu för nedladdning.

                  Comment


                  • Tänkte bara kolla med er som kör AlphaSharken vilka pos. den har.
                    Min växlade lite märkligt för några dagar sedan och vill bara kolla om den ligger åt rätt håll.

                    Min ligger 1 andel OMX long & 1 andel DAX short.
                    Är det korrekt?

                    Comment


                    • 28:e sept var senaste traden för båda mina maskiner och den ligger kort dax lång omx.

                      Comment


                      • Tack för snabbt svar

                        Comment


                        • Inga signaler

                          Hej

                          Jag får inga signaler när jag ska testa Alpha Shark i testbänken
                          Har gjort helt enligt Youtube klippet.

                          Någon mer som har samma problem?

                          Comment


                          • Båda indexen måste vara anslutna och ”Kör som samtidigt kopplade” behöver vara ikryssat.

                            Comment


                            • Yes, är ikryssat

                              Har även anslutit OMX Long scriptet på OMXS30, startat om datorn etc

                              Edit
                              Löste sig, fick skapa om hela projektet då hoppade allt igång!
                              Last edited by Emphazer; 2021-02-28, 21:46.

                              Comment


                              • Hade dessa valutaparen varit något att köra i Alpha Shark? (se bifogad bild)

                                Finns ju Minis för detta på Nordnet nu
                                Attached Files

                                Comment

                                Working...
                                X