Allmänt meddelande

Collapse
No announcement yet.

Marknadsfilter

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

  • Marknadsfilter

    Jag har några script som jobbar i olika tidsperspektiv.

    Bland annat skall den hålla koll på POS /NEG Marknadsfilter som innebär stängning över eller under 12mån MA på OMX

    I övrigt jobbar scriptet i både dagsperspektiv samt i i1 för att trigga köp

    Hur löser man det enklast att få in data på månadsbasis för att skapa ett marknadfilter?

  • #2
    Jag har själv inte arbetat med månadsdata. Det är i snitt ca 21 handelsdagar per månad. Ett sätt skulle kunna vara att anävnda rullande data. I dag + 20 dagar bakåt =innevarande månad. 21:a dagen bakåt +20 dagar = månad n-1.

    Comment


    • #3
      Om jag är intresserad av att titta på veckodata på aktier, ex för att mäta ROC i veckoupplösning.

      Finns det någon form av inställning för att scripta data i ett större perspektiv än dagsdata? intraday finns som bekant i olika upplösningar, men går det att scripta med Weekly data? för att ex få fram ROC50 i veckodata. , samt föregående veckas ROC50 i veckoperspektiv ?

      Comment


      • #4
        Det finns ingen inställning för det, men det går att scripta ändå på olika sätt. Vi gjorde ju tex ett 12-månaders medelvärde som trendfilter för ett tag sedan. Man kan använda Find() för att hitta slutkurser för veckor osv och därefter använda den dataserien att räkna på.

        ny_vecka=gt(aref(dayofweek(),1),dayofweek())

        blir sant vid veckoskifte. Använd Find för att hitta kursen:

        ny_vecka=gt(aref(dayofweek(),1),dayofweek())
        Find(ny_vecka,10,aref(c,1),1)

        ger slutkursen förra veckan.


        men vad menar du med ROC50? Lutningen 50 veckor bakåt? Det går ju i sig att få fram enklare, bara att ta ROC(c,240,%) för att få i procent tex, kurs idag jämfört med 240 dagar bakåt.

        Comment


        • #5
          Ursprungligen postat av Rikard Nilsson Visa inlägg
          men vad menar du med ROC50? Lutningen 50 veckor bakåt?.
          >> Jag menar

          Om det hade gått att Scripta i iW, (weekly) hade jag skrivit så här för att få fram när ROC skär 0%-kurvan.

          Kod:
          { ROC villkor baserat på 50veckor, och trigger när 0% skärs }
          rateOfChange50=ROC(C,50,%)
          LastWeekRoc50=ROC(REF(C,1),50,%)
          rateOfChangeX0=AND(GT(rateOfChange50,0),LT(LastWeekRoc50,0))

          Mao, vill jag ha Close på sista börsdagen på veckan, 50veckor bakåt som referenspunkt.

          På samma sätt vill jag även mäta HHV och LLV baserat på 50weekly.

          Kan man bygga en counter som räknar hur många dagar bakåt i tiden som close för 50veckor sedan är? ROC(c,240,%) kan ju bli måndag, torsdag eller annan veckodag tänker jag beroende på helgdagar och vilken dag i veckan man själv kör scriptet.

          Comment


          • #6
            Ok, då förstår jag. Här är ett sätt att få fram stängningskursen för veckan som var 50 veckor sedan:

            ny_vecka=gt(aref(dayofweek(),1),dayofweek())
            draw(ny_vecka,2,wsbfw)
            close50=find(ny_vecka,250,aref(c,1),50)
            add(close50,0)


            Se bif bild.


            Om du vill veta hur många dagar sen det var:

            ny_vecka=gt(aref(dayofweek(),1),dayofweek())
            dagar50=sub(find(ny_vecka,250,aref(d,1),50),const(date()))



            Det går ju också att bygga en loop som räknar fram per vecka om det är något du vill spara undan eller tex bygga ett 50-veckors medelvärde osv:

            ny_vecka=gt(aref(dayofweek(),1),dayofweek())
            retval(0,0)
            retval(0,1)
            count=retval(add(getval(1),1),1)
            slutkurs=find(ny_vecka,250,aref(c,1),sub(51,count))
            retval(add(getval(0),slutkurs),0)
            loop(count,50)
            medel=div(getval(0),50)
            Attached Files

            Comment

            Working...
            X