Allmänt meddelande

Collapse
No announcement yet.

Anchored VWAP (liknande Tradingview)

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

  • Anchored VWAP (liknande Tradingview)

    Tänkte höra om någon har lyckats med att beräkna VWAP längre bort i tiden än intra dag.
    Jag skulle vilja kunna beräkna VWAP från x-dagar tillbaka i tiden.

    Är det någon som har gjort något liknande och är villig att dela med sig?

    I Tradingview finns liknande funktion där man kan ange startdatum för VWAP-beräkningen.

  • #2
    Snickrat ihop snabbt och inte verifierad. Går att göra mer dynamisk, men blir tyngre då fler perioder måste reserveras. Du får kolla om det blir som du tänkt.

    {se till att find o sum i upplösningen täcker alla dagar. Här max 5dagar för i1. För tex i15 behövs färra perioder och ger i stort samma värde}

    AntalDagar:=3
    i1(
    LookBack=find(gt(int(d),int(aref(d,1))),2600,int(d),AntalDagar)
    vPrize=if(ge(int(d),LookBack),mult(c,v),0)
    vVol=if(ge(int(d),LookBack),v,0)
    vwap=div(sum(vPrize,2600),sum(vVol,2600))
    draw(vwap,3,gqb)
    add(0,0)
    )

    {@A(0,)}
    Last edited by Henric; 2021-05-19, 22:10.

    Comment


    • #3
      Tack Henric!
      Jag har haft fullt upp ikväll, så jag har inte hunnit testa än.
      Ska göra det så snart jag hinner.

      Comment


      • #4
        Har tittat på scriptet och vad den ritar ut.
        Det är inte riktigt som jag tänkt.
        Tanken är att om man sätter AntalDagar:=3 så ska beräkningen på volym och pris starta från "noll" 3 dagar tillbaka.
        Jag hoppas att du förstår hur/vad jag menar.

        Skriptet/kurvan som nu ritas ut bygger vidare från dagen tidigare med start långt bak i tiden.

        Comment


        • #5
          Ok. Då blir det endast grafiskt eller att man manuellt anpassar efter tradingdagen. Det blir väldigt klurigt om du ska använda det i simulering.

          {behöver moddas för månadskifte, vill bara visa principen}
          Månad:=5
          Dag:=18
          i1(
          LookBack=and(eqv(monthnumber(),Månad),ge(dayofmonth(),Dag))
          vPrize=if(LookBack,mult(c,v),0)
          vVol=if(LookBack,v,0)
          vwap=div(sum(vPrize,2600),sum(vVol,2600))
          draw(vwap,3,bqb)
          add(0,0)
          )

          Edit: Båda varianterna borde ge samma resultat. Den första fungerar inte grafiskt och den andra är statisk. Dvs som om man gick tillbaka och ritade om diagrammet i efterhand, vilket inte går.
          Last edited by Henric; 2021-05-20, 08:50.

          Comment


          • #6
            För att göra den sista varianten dynamisk så borde man kunna jämföra dagens datum (månad & dag) och räkna starten -3 dagar bakåt från det, eller hur många dagar man vill titta bakåt.
            Jag ska testa mig fram lite.
            Tack igen

            Comment


            • #7
              Det gör ju det den första gör indirekt. Bara det att värdet för en viss stapel ser annorlunda ut om man är på dag 1,2 eller 3. Den fungerar, bara inte grafiskt.
              Last edited by Henric; 2021-05-20, 09:18.

              Comment


              • #8
                Ok, då är jag med på noterna. Den första räknar rätt men ritar fel. Då blev det ju rätt från början

                Comment


                • #9
                  Jo. Om kör script/modeller borde den fungera. Tittar man i diagrammet använder man den andra och justerar datum för dagar. Som vanligt med reservation att jag inte har testat i simulering.

                  Comment


                  • #10
                    Den här ska fungera i analysern och grafiskt upp till 5 dagar.

                    dagar:=1

                    i1(
                    perioder=mult(510,dagar)
                    market_open=not(eqv(int(ref(d,1)),int(d)))
                    periods_since_open=topbars(market_open,perioder,dagar)
                    typical_price=div(add(add(h,l),c),3)
                    price_mult_vol=mult(typical_price,v)
                    cumulative_total=sum(price_mult_vol,periods_since_open:2550)
                    cumulative_vol=sum(v,periods_since_open:2550)
                    vwap=div(cumulative_total,cumulative_vol)
                    draw(vwap,1,rqb)
                    )
                    AlgoPal - Emotionless Trading - Hyr ut våra trading algoritmer for Autostock via algopal.com

                    Comment


                    • #11
                      Beräkningen i simuleringen kan man göra på många sätt. Rita går ju som du gör genom att gömma tidigare beräkningsdagar ackumulerat idag. Det jag uppfattar att han vill är att rita wvap för x-antal dagar för att får en visuell uppfattning. Inte bara senaste dagen i beräkningen. Det går ju inte då diagrammet redan har ritat tidigare dagar. En lösning är då att rita tex 3 kurvor för de senaste 3 beräkningarna. Blir kanske plottrigt. Enklast är att bara rita de senaste aktuella dagarna. Beror på vad han vill.

                      Comment


                      • #12
                        Ursprungligen postat av Henric Visa inlägg
                        Beräkningen i simuleringen kan man göra på många sätt. Rita går ju som du gör genom att gömma tidigare beräkningsdagar ackumulerat idag. Det jag uppfattar att han vill är att rita wvap för x-antal dagar för att får en visuell uppfattning. Inte bara senaste dagen i beräkningen. Det går ju inte då diagrammet redan har ritat tidigare dagar. En lösning är då att rita tex 3 kurvor för de senaste 3 beräkningarna. Blir kanske plottrigt. Enklast är att bara rita de senaste aktuella dagarna. Beror på vad han vill.
                        Med det skriptet kan man välja hur många dagar bakåt man vill titta, vill han rita flera VWAP linjer får han kopier och ansluta flera skript med olika "dagar:=X"
                        AlgoPal - Emotionless Trading - Hyr ut våra trading algoritmer for Autostock via algopal.com

                        Comment


                        • #13
                          Min första variant i tråden fungerar som din. I simulering fungerar det. Rent grafiskt med ankring och ackumelering x-antal dagar fungerat det inte då samma dag ritas flera gånger. Hjälper inte att rita fleta kurvor med olika antal dagar. Jag skulle inte lägga ner så mycket tid på att tex för 3-dagars ankring rita kurva 1 start dag -5 till -3, kurva 2 -4 till -2, osv. I stället bara rita en kurva som ankras x-dagar bakåt.

                          Comment

                          Working...
                          X