Allmänt meddelande

Collapse
No announcement yet.

Volume Breakdown

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

  • Volume Breakdown

    Hej

    Vill inte slå in öppna dörrar här, men jag har sett på forumet att intresset för att greppa den handlade volymen börja öka. Detta genom att VP - Volume Profile och auktions teorin börjar få fäste. Senast i raden så kom det ett utskick från World Capital Markets som promotade Autostocks produkter. Tycker att detta är ett steg i rätt riktning och ser fram emot när Rikard & Co kan erbjuda en Volym Profils ikon jämte den vanliga volymen. För min del så ger VP ger en bättre förståelse/bild för hur marknaden agerar vid vissa nivåer.

    Innan vi får en VP ikon, så skulle jag vilja fråga om det finns ett sätt (funktion/skript) att avgöra om avslutet slog på köp eller sälj budet. Har snöat in lite på VB (Volume Breakdown) och framför allt skulle vilja ha fram deltat på detta och en indikator på utfallet.

    Delta = Buy Volume - Sell Volume
    Buy Volume (Ask Volume) = volume that traded at or above the ask price.
    Sell Volume (Bid Volume) = volume that traded at or below the bid price.

    För att förtydliga så är det bara den volym som har handlats, dvs det affärer som man ser i avslutsfönstret. Inte volymer som ligger i orderdjupets olika nivåer.

    På denna länk finns väldigt bra info om VB och hur man kan använda denna info: http://www.linnsoft.com/tour/techind/vb.htm

    På denna länk: http://www.netfonds.se/quotes/tradel...=OMXS304B.OMSW
    ..visar man avslutsloggen. När det är blått, så order avslutet köp initierat, dvs att det är en köpare som är beredd att ge det pris som säljarna vill ha. När det är rött(rosa) så är det vise versa. Infon om vem som initierade köpet finns redan (hoppas jag) i den kurs feed som vi får från Nordnet och då inbillar jag mig att det bör vara ganska lätt att fånga upp denna.

    Kolla gärna intensiteten på avsluten vid 14:30 i fredags (7/2 2014).

    Vill gärna ha hjälp och goda råd från er på forumet, då jag själv inte vet hur jag fångar vilka avslut som slog mot köp eller sälj sidan.

    Anders

  • #2
    Tackar för bra inlägg! Vi har redan tittat lite på just balansen mellan avslut på resp sida i Raptor-tråden, inlägg 1673:

    http://www.autostock.se/vbulletin/sh...=2715&page=112


    I sin allra enklaste form kan man mäta antalet avslut på köpsidan för tex senaste 20 perioderna:

    sum(eqv(c,b),20)

    och motsvarande för säljsidan:

    sum(eqv(c,s),20)


    Det är alltså antal perioder där avslut skedde på köp- resp säljsidan som mäts. Nästa steg blir att utveckla det och fånga även volymen per avslut.

    Comment


    • #3
      Kör man scriptet i realtidsupplösning får man ju med alla avslut och kan göra en bättre approximation, i exemplet nedan summeras antal avslut per resp sida för senaste 100 avsluten.

      Attached Files

      Comment


      • #4
        Hej igen,

        Då är vi halvvägs, men det är också volymen för resp. avslut som är intressant för att kunna räkna fram VB Delta.
        Man ser ju volymen för resp. order avslut, i avslutsfönstret, så volym infon. finns redan, men jag förstår att den inte är helt lätt att fånga.

        Hoppas att du och Lasse kan slå er kloka huvuden ihop och komma på ett sätt.

        Anders

        Comment


        • #5
          Här är lite utvecklat där volymen varje minut tas med för resp sida. Ska se om det går att fixa så att volymen i varje avslut tas med individuellt och en perfekt breakdown byggs upp. Annars går det här helt klart att använda redan nu i någon modell.




          i1(
          köptryck=if(ge(c,s),v,0)
          säljtryck=if(le(c,b),v,0)
          balans=mov(sub(köptryck,säljtryck),14,s)
          grön=if(gt(balans,0),balans,0)
          rött=if(lt(balans,0),balans,0)
          draw(balans,1,waa)
          draw(grön,2,dgpafw)
          draw(rött,3,rpafw)
          draw(0,4,bpa)
          and(1,balans)
          )
          Attached Files

          Comment


          • #6
            Ser helt klart användbart ut!
            Bugar och bockar, Rikard

            Anders

            Comment


            • #7
              Mer intressanta saker, om man utgår ifrån att dels dela upp den handlade volymen i två delar - en för köpsida och en för säljsida, och dessutom analyserar totala handelsvolymens ökning/minskning över tid får man ut all info som finns i volym. Ett problem är att när man ackumulerar x antal perioders volym bakåt och analyserar "halvorna" blir det en integrerande effekt (i sig nödvändigt för att man ska få ett realistiskt grepp om helheten utan volymspikar pga enstaka större trades osv), man får en laggande indikator. Men, och här kommer det coola, det går ju att lägga på en fasavancerande funktion på den deriverade volymen - typ en stochastic. Då har vi helt plötsligt återtagit en hel del av tidsförlusten från det att något händer tills vi ser det i indikatorn.

              Exempel nedan visar rött och grönt för den uppdelade volymen, och dels en stochastic-kurva som svänger mellan 0 och 100 som en funktion av hastigheten på ändringen hos volymen. Då får vi en indikator som svarar väldigt snabbt. Borde gå att utnyttna. Dessutom kan vi mäta totala volymen och priset med tex MFI för att hitta entry- och exittillfällen. Här skulle man kunna utgå ifrån att en volymbotten indikerar en prisnivå där väldigt få tycker det är bra att göra affär, och en volymtopp betyder att många tycker det är läge för handel. Om tex volymen vänder upp från en botten, och samtidigt visar en tydlig vridning mot avslut på säljsidan, samtidigt som priset stiger borde alla förutsättningar vara uppfyllda för en så "säker" trade som möjligt.

              Forskning pågår!

              Attached Files

              Comment


              • #8
                Intressant tråd! Att skapa ordermodeller är ju att försöka suga ut så mycket information som möjligt ur kurshistorik (trender, break out) att försöka förstå hur trender hos underliggande aktier påverkar index och hur utländska index påverkar svenska instrument.

                Tidigare då jag tittat lite på volymen så går den ju i takt med kursen. Om köparna är på bettet så stiger kursen och om säljarna är aktiva så sjunker kursen, det är ju egentligen det som tråden handlar om.
                Jag tycker att det skulle vara intressant att även kombinera kursen med volymen. T.ex köparna är aktiva, men kursen ökar inte så mycket som den borde. Vilken slutsats kan man dra av det? Köparna är aktiva men kursen stiger mer än den borde med tanke på volymen. Vad innebär det?

                Har inga svar men allmänt brukar ju en kombination av effekter ge bättre edge än enskilda.
                Med vänlig hälsning
                Bertil

                Comment


                • #9
                  Här är ett intressant fenomen, notera hur avsluten sker företrädelsevis på köpsidan under panik och vänder till säljsidan så snart girigheten börjar ta fart igen.



                  max:=100
                  i1(
                  retval(0,0)
                  retval(0,1)
                  count1=cum(1,max)
                  köptryck=aref(if(ge(c,s),v,0),count1:max)
                  säljtryck=aref(if(le(c,b),v,0),count1:max)
                  buy=retval(add(getval(0),köptryck),0)
                  sell=retval(add(getval(1),säljtryck),1)
                  loop(count1,max)
                  balans=sub(getval(0),getval(1))
                  grönt=if(gt(balans,0),balans,0)
                  rött=if(lt(balans,0),balans,0)
                  draw(balans,2,baaf)
                  draw(grönt,3,dgpaf)
                  draw(rött,4,rpaf)
                  mult(0,10)
                  )
                  Attached Files

                  Comment


                  • #10
                    Aref tittar ju på 1-minutersstaplarna och c,b,s är ju bara stickprovsvärden medan v gäller för hela stapeln. Borde det inte bli tillförlitligare ifall man hade använt globala variabler och gått på 5 sekundersintervallet istället?
                    mvh
                    Bertil

                    Comment


                    • #11
                      Jo, det är enkelt att gå på varje tick med i0() och LOOP(), men det blir prestandakrävande och man verkar ändå få ett ganska bra mått på volymbalansen via 1-minutssamples. Jag skulle vilja ta det ett steg till och bygga en komplett Volume Profile-indikator.

                      Comment


                      • #12
                        Har labbat lite med i(0) men det blir extremt prestanda krävande. Har ändå en hyfsad dator, men NAT blir seg som sirap. Dock är jag helt inne på samma ide som Bertil att 1 minutsstaplar inte speglar hela sanningen om vilken sida (buy/sell) som volymen handlades på.

                        Rikard: Skulle det gå att få till en volume profile indikator, så anser jag att det vore ett stort steg framåt för att visualisera var priser är accepterade resp. avvisas.

                        //Anders

                        Comment


                        • #13
                          En fördel med i0 är ju att alla avslut blir korrekt kodade mot köp och sälj.
                          Den stora nackdelen är ju att man inte vet om de 100 senaste avsluten skett under 1 minut eller 4 timmar. För att det skall bli vettigt kan man lägga in ett tidsvillkor i snurran, t.ex titta på de 1000 senaste avsluten dock inte längre tillbaka än 100 minuter. Har dock inte testat med detta då det blir segt.
                          Vet inte heller hur i0 bär sig åt då det innehåller både c,b,och s och dessa inte ändrar sig i synk. Ibland kan ju köp och säljkurserna hoppa upp och ner med hög frekvens utan att avslut sker.
                          En bra kompromiss vore att införa i05 som tittar på 5 sekundersstaplar.
                          Med vänlig hälsning
                          Bertil

                          Comment


                          • #14
                            Det går ju i princip redan att köra i05 genom att lägga ett tidsvillkor i snurran på x sekunder, så kan man checka b,s,c,v just då och ackumulera. Målet är en komplett Volume Profile.

                            Comment


                            • #15
                              Ursprungligen postat av Rikard Nilsson Visa inlägg
                              Det går ju i princip redan att köra i05 genom att lägga ett tidsvillkor i snurran på x sekunder, så kan man checka b,s,c,v just då och ackumulera. Målet är en komplett Volume Profile.

                              Visst man kan lägga villkor och ackumulera utan loopfunktionen men man kan inte sätta gränsen bakåt i tiden om man ackumulerar utan Aref. Skall man ackumulera säg 200 *5 sekunder får man ha 200 globala variabler och skyffla den ackumulerade summan bakåt ett steg varje gång scriptet körs.

                              Kör man i0 kan man inte använda Aref då man inte vet vilken serie Aref går mot s,b,c osv. Om det är så att Aref går mot var sin serie kan man inte jämföra Aref för olika parametrar om man inte samtidigt jämför tidsstämpeln.
                              Kör man i0 så är ju volymen kopplad till senaste avslut, men om det skett flera avslut de senaste 5 sekunderna sedan man körde scriptet är v då en summa av de senaste avsluten på samma sätt som v är summan under perioden 1 minut om man kör i den upplösningen? Jag gissar att så inte är fallet.

                              Om man hade i05 skulle volymen vara summan under 5 sekunder samt det skulle vara vettigt att använda Aref då man vet hur lång tid man går bakåt.
                              Med vänlig hälsning
                              Bertil
                              Last edited by Bertil; 2014-03-15, 11:42.

                              Comment

                              Working...
                              X