VSA or VPA analysis

I am becoming increasingly interested in the applications of Volume Spread Analysis and or Volume Price Analysis.
I have found a couple of very useful pieces of code to help clarify the relationship between Price and Volume.
Can anyone on this board help with with suggestions as to where to look for additional info. Specifically, afl code for indicators or explorations.
I have gone to most all of the common websites.
Is anyone writing new code on the subject?
It is unbelievable to me that there seems to be little to no info on this subject.
Any help would be appreciated.


@Greg9042, unfortunately, I’m not familiar with VSA or VPA but one of the most commonly cited books on VPA by Anna Coulling (easy to find online too) says verbatim:

Principle No 1: Art Not Science
The first principle to understand is that learning to read charts using VPA is an art, it is not a NOT a science. Moreover, it is not a technique that lends itself easily to automation or software … The reason software does not work with VPA, is simply that most of the analysis is subjective. … A software program does not have any subjectivity in its decision making. Hence it can never work.

I hope this is not the kind of VPA you are looking for…

Anyway, I did also a short research on VSA and the few books/publications that I found on the subject are either unavailable or sold used at an unrealistic price.

In any case, hoping that some other traders here know more about those techniques and will provide better feedback since you seem quite interested in Volume analysis I suggest a book focused to this subject that “demonstrates numerous state-of-the-art methods for analyzing the relationship of volume to price movement and the evolution of market trends”.

Investing with Volume Analysis: Identify, Follow, and Profit from Trends
Buff Pelz Dormeier
FT Press; 1 edition (March 28, 2011)
ISBN-13: 978-0133381047

The book covers a lot of volume related indicators/oscillators formulas and has an extensive bibliography.

Here is some reference material for VSA (as said not so easy to find):

  • “Volume Spread Analysis” - Karthik Marar.

  • “Trading Volume Spread Analysis” - Lamont Adair (2009).

  • “A Primer on Volume Spread Analysis” - Todd Krueger.

  • “Master the Markets: Taking a Professional Approach to Trading & Investing by Using Volume Spread Analysis” - 1993, TradeGuider Systems, Pgs. 12–98. (this document is available with a search as a .pdf)

  • “VSA5 Professional: Volume Spread Analysis” - Stocks & Commodities, V. 17:13, Pgs. 637–639.

  • “Volume Spread Analysis (Part 1): A New Way to Look at Markets” - Larry Swing. (original link is broken but again a search may find it as a .pdf)


I have read the book by Couling and I agree there is a lot of art to
reading a VPA chart. I do not agree with her assessment that the technique
will never work on a software program. ( I am waiting on a reply )
In My humble opinion any trading technique can be plotted. As an example: a
Volatility Squeeze is a breakout trade based on Bollinger Bands in the
strictest sense. However there is no reliable way to plot this technique,
until You add Keltner bands.
Here is an excellent piece from braekoutwatch.com:

What is a Volatility Squeeze?

A “Volatility Squeeze” occurs when the volatility of a stock falls below
its recent levels. A fall in volatility usually means that the stock is in
a period of consolidation and trending in a narrow range. When that period
of consolidation ends, normal volatility will return resulting in a
breakout to the upside or downside. If we can recognize a volatility
squeeze situation, then we have the opportunity to place a long or short
position order and profit from the breakout.

How can we recognize a Volatility Squeeze?

A Volatility Squeeze has usually been recognized by a narrowing of the
Bands. While this method has its merits, it lacks the objectivity
necessary to provide a robust, objective, quantifiable trading strategy
We have developed a refinement of the methodology which allows objective
identification of a Volatility Squeeze, We detect a “squeeze” when the 2
standard deviation Bollinger Band (BB) narrows to within the Keltner
Channel (KC).
Bollinger Bands are very susceptible to volatility changes while Keltner
Channels are a smoother, trend following, indicator. Consequently, the
narrowing of the BB to within the KC gives us a convenient means of
recognizing a drop in volatility. *

I am looking for the same type of USEFUL!!! consistent Algorithmic code for
Amibroker. Not just another indicator that shows up as some squiggly damn
line on a grid.
Knowing where the Smart Money is flowing Into and Out of a Market is the
key to Making Money. In My Humble Opinion.
Thanks for the Book suggestions.

1 Like

@Greg9042 That would lead me to think of two possibliites,

A) it doesn’t work so hardly anyone is publishing about a failed methodology.

B) It works so well that those who have discovered this as a true source of “alpha” would prefer to keep that information to themselves.

Though I am no expert on VSA over the years I have read books and articles and reviews by various author’s and their versions of VSA. It goes back to the 1930’s and Wyckoff reading off a ticker tape. Trader/investor from the 1950’ and 1960 ‘s Tom Williams took up the torch an published a book or two on the subject in the 1980’s I believe. There is a whole sub-cult of investors (like the Elliott wave guys) who swear by it even though I have yet to see anyone publish quantified rules and either backtested or forward tested results of any profitability.

There is commercial software out there (a “competitor” to AmiBroker) that offers their own VSA techniques (proprietary indicators and as far as I can tell and no published verifiable results). Easy enough to find if you search the internet.

IMHO a technique developed and based on Volume analysis of stock trades in the 1930’s seems very unlikely to be applicable to the stock market of 2018. With “Dark pools”, HFT, globalized markets, (and a dozen other changes) I think Volume related information that today’s retail investor has access to is likely to be completely different than what Wyckoff was looking at in 1934.

For an unrelated and fresh look at Volume analysis try reading Value in Time: Better Trading through Effective Volume by Pascal Willain

Sorry I do not have more guidance on VSA Gregg, but if you come up with quantifiable rules I am certain the the members on this forum could help you code them into afl. Good luck.


This is a point stressed out also in the book I suggested. By the way the Willain’s book is included in the cited bibliography, with a list of suggested reading pages:

  • Value in Time. Pascal Willain (2008), John Wiley & Sons, Inc., (ISBN-13: 978-0470118733) - Pgs. 11–13, 18:19, 27, 33, 40:41, 43, 47, 59, 61–67, 69:70, 81, 102, 105, 107, 113, 189.

I completely agree, almost. The techniques of the 1930’s have very little
resemblance to Today’s trading environment. However, the only true RELIABLE
indicator that is available to the small investor other than price is
The 1930’s ticker tape had the Symbol, Current Price and and then Current
Volume. That is it. Some of the Greatest Fortunes made on Wall Street
relied on those three elements. I just want a SMALL piece.
IMHO a Retail Investor HAS to know Volume from all angles

I have a swing volume chart if that helps.

Amen to that brother! I’m with you on that :laughing:

1 Like

Here is an AFL for VSA written by Karthik Marar

VPA V.1.0.afl (14.8 KB)


i have installed and tried each one of these pieces of code on
wisestocktrader. The minimal graphics are the only thing going for them and
the commentary is canned and spotty at best.

VPA, VSA & Price Action all works in my opinion. And especially if you combine them. But these methods are built on generalizations of what’s going on in the market and those generalizations often works in trading- but the keyword here is context! You need the big picture and can’t trade having “tunnel vision”. With other words- these methods do not always tell you what is actually going on in the market, but put in context they will tell you what’s most probably will happen.

I agree with Anna Coulling. To code these methods and get good signals when to go Long and when to go Short will be very hard to do and even impossible for most retail traders. Because you probably have to code some “probability matrix” or use AI.

For example if you see a long green candle with small wicks and lots of Volume- it can mean different things depending on how the recent past looks like, where the price is, how much Volume, where are the S&R levels, what is the Smart Money up to etc, etc.

So basically using these methods is where discretionary trading can make very good profits, while relying on coded signals will not work so well. A coded solution will give you “tunnel vision”. And that’s why you don’t find much “ready to trade AFL coding” for these methods.

After many years of trying more or less every method out there, I have found that a simple chart with Price, VAP and Volume in 1 min, 5 min, Hourly and Daily is all I need for intraday trading. Since I trade only the S&P 500 E-min Future, ES, using IQfeed- I am also able to identify the actual Buy and Sell Volumes and plot a Delta Volume pane (Orderflow) which is very useful for identifying markets direction, Accumulation and Distribution levels and the Smart Money/Insiders manipulations.

But in my opinion it’s also crucial to understand how the market actually works and forget some of the things you might have read in the past. Such as “for every buyer it has to be a seller” and “the market is random”. Once you understand what’s going on in the market you will realize there is not much of random moves in it and that there is often a plan behind the moves. A plan which belongs to the Smart Money/Insiders. Once you learn to recognize and read their plans from the chart, you will be able to follow them and make good profits. But to code all this- that is a huge challenge!



@colion Just in case you are looking for an updated version.

VPA v4 is available on this page http://karthikmarar.blogspot.in/search/label/Trading%20Systems




Great Post!

I absolutely agree that the current Methods that are in use today in
predicting the next bar are mostly generalizations. Yes,Market actions will
be Very hard to code. However, it is NOT impossible.
This sentiment IMHO comes from decades of Market Makers and others on Wall
Street trying to cover up their actions. That is why Couliing’s work is so
powerful. Insiders do not want the rest of us knowing what they are doing
and the insiders do their dead level best, to hide the money.

I am of the opinion that this Money Trail CAN BE TRACKED!!!

The following codes are a good start:


However these indicators lack true sentiment, look back, intuitiveness,
prediction, etc.,etc.,etc.,

Every Green Candle that pops up on a chart can have a dozen different
meanings and that is the problem. Retail traders MUST know, what the
SMART MONEY is doing or we are treading water for years trying out dozens
of trading systems on all types of markets before a light FLASHES on that
A project of this type would be a huge challenge. I have just started
playing around with NeuroShell Trader. Which is a very good AI piece of
software. However, it does not incorporate VPA or VSA at all and I mean
Retail Traders must know what the insiders are doing with their money.
Coulling says:

The only tool we have at our disposal to fight back, is volume. We can
argue about the rights and wrongs of the situation, but when you are
trading and investing in stocks, market makers are a fact of life. Just
accept it, and move on

In the manipulated cash markets of stocks, it provides you with the
ultimate weapon to avoid being suckered in by the market makers

A Neural Network has to be the Anchor of any project to predict the next
bar with any type of accuracy. Past that I am doing My research.



I put together this exploration that scans for the 3 most reliable of the VSA patterns:

// Volume Spread Analysis //

range = H - L + 0.01;
rangeAvg = MA( range, 21 );
VolAvg = MA( V, 21 );
VolDensity = V / range;
VolDensityAvg = MA( VolDensity, 21 );
HiClose = ( C - L ) / range > 0.65;
HiOpen = ( O - L ) / range > 0.65;
LoClose = ( C - L ) / range < 0.35;
LoOpen = ( O - L ) / range < 0.35;

// Stopping volume - high Vol in small range in new ground
newHigh = H == HHV( H, 63 );
newLow = L == LLV( L, 63 );
BullStopVol = newLow AND range < 0.9*rangeAvg AND Volume > VolAvg*1.5;
BearStopVol = newHigh AND range < 0.9*rangeAvg AND Volume > VolAvg*1.5;
BSV = IIf(BullStopVol, 1, IIf(BearStopVol, -1, 0));

// Exhaustion volume - high Vol in big range in new ground and weak close
BullExhaust = newLow AND range > rangeAvg * 1.5 AND VolDensity > VolDensityAvg AND HiClose;
BearExhaust = newHigh AND range > rangeAvg * 1.5 AND VolDensity > VolDensityAvg AND LoClose;
BE = IIf(BullExhaust, 1, IIf(BearExhaust, -1, 0));

// Test - hammer on low volume
BullTest = HiOpen AND HiClose AND VolDensity < VolDensityAvg;
BearTest = LoOpen AND LoClose AND VolDensity < VolDensityAvg;
BT = IIf(BullTest, 1, IIf(BearTest, -1, 0));

Net = Sum(BSV+BE+BT,6);

Filter = VolAvg > 10000 AND ( /*(StochK(14,3) > 80 AND Net <=-3) OR */(StochK(14,3) <20 AND Net >=3) );
AddColumn( C, "Close", 1.2, IIf(Net>=3,colorGreen,colorRed));

You will also need to build a custom formula to display the signals on the chart, using the same code snippets as in the exploration.


Hi Greg,

Honestly, I personally know from my own experience that with the kind of conviction and “never give up” attitude you have- it very often gives great results! So go for it!!!

Using the VPA V4.0 code, maybe it could be a good idea to add some type of “frequency counter” of the Flags it produces (weakness, strength, bullish bearish…) and that way get some type of coded indicator when it’s time to enter and exit a trade… Just an idea…


Formula Editor gave 5 erros for this code.

I am looking more for an Indicator, rather than a scan or exploration. I
can find plenty of Markets that will fit all types of parameters.
I want a piece of code that I can make a personal opinion on whether the
Price Action is telling giving me a confirmation or is it giving me an
anomaly. I like to STARE at the chart

I want to stick to Coulling’s basic principals as close as possible.

volume is the ONLY leading indicator, which when combined with price,
truly reveals the future direction of the market

All we have to do, is follow the insiders, and buy and sell, when they are
buying and selling


Hi Greg,

Since you like to Stare at the charts, then I suggest that you start with a simple Chart consisting of Price Candlesticks, A Volume At Price (which is created in a hidden Tick chart using the PriceVolDistribution function. Then just add a pane below it with the Volume. And then study the chart in order to get a feeling how it works.

ES yesterday was a good example how the Smart Money acts, but also very difficult to code! From Midnight (NY Time) the price went up just over 10 Points with small Volumes, but you can see that the Smart Money is helping to push it up. At 7:24 Am the Price made a new all time high and the Volume was relatively low since the RTH had not started. So for most Retail Traders it’s easy to think that now the Price will go even higher, but this was a Trap! At 7:25 Am the Price started on it’s way down. So here we can ask ourselves Why? Looking at a Daily Chart we can easily see that by taking out Stp Loss Sell orders for the last 11 Days will benefit the Smart Money and Insiders. They might want to go even lower and as low as to the 2,625 to 2,640 range before the Price will go up to a new all time high. But I wouldn’t be surprised if the price will turn around the 2,660 - 2,665 levels… But that the charts will reveal next week when the market opens again. This can be seen with some training, but to code it is not easy since Volume is relative and time of the day is also important.


1 Like

looking for a god afl programmer to write for wyckof most important sopts in chart ( spring-upthrust-jum acroos creek and fallong thru ice) plus shortening of thrust in both direction for all time frames.
is there any god names?


Let me ask a question. In YOUR Opinion ONLY. On ANY Volume bar on Any Time Frame, How much of that Individual Bar, is made up of "Smart Money or Insider Money? I have heard as much as 80 to 90 percent, no matter the Market.
If that is the case, there are woefully VERY FEW indicators available to measure this type of activity and this is probably by design…
If I were in the Very Early Stages of development on a VSA or VPA system,again, in Your opinion Only. What indicators would I incorporate or base this system on.
On Balance Volume
Chaikin’s Money Flow
Negative Volume Index
I am trying to organize My thoughts on this project, to see if it is worth the time and/or Money.


1 Like

Good Read

Trading In The Shadow of the Smart Money