For those of you who aren't familiar with the Volume Spread Analysis (VSA) concept, it's a form of analysis that blends price action and volume, in order to study the supply and demand. It was originally created by Tom Williams, after applying Richard Wyckoff's methods. It's not dependent on any type of instrument or time period, but since its goal is to follow the smart money, it should be applied to securities that are widely traded by big money and retail.
Here is a link to an article that introduces the concept and has two signals demonstrated: the no demand bar and the no selling pressure bar. They are two of the most important signal triggers, but, the analysis mustn't be done on a per bar basis - that would be only a small part of the analysis.
Even though it's not quant trading, per se, I have had success with it in manual trading.
I have started implementing it on Quantopian the past few days, however, since it's new language and platform for me, I am pretty sure there are issues in my code and further optimization. I am basing the beginning of my code on a VPA C# code that I found online, but I'm doing so, so I can have some sort of guide and to correlate the results. Nevertheless, I want to make a number of changes to it, and in the end it should be vastly different.
One of the problems of the code, for instance, is the lack of take profit / stop loss (even though my final intention is to avoid those and act on market behavior, I wanted to implement it to get to know the language better and to have a starting point). I've tried to code and use the ATR as SL and TP, but it's not working properly.
The other issue with the current algorithm is the data access. If you go through the code, you'll probably rapidly find out that it's not the best way and lacks versatility?
Also, meanwhile, I'm using the linear regression slope of 3 different periods to find the trend.
If anyone is also interested in this concept and would like to try to implement to Quantopian, please, feel free to improve and discuss it.