Volume-at-Price (VAP) Analysis
This document contains screenshots and brief descriptions of standalone applications and TradeStation indicators I developed to display and analyze volume-at-price (VAP) information.
The VAPBarchart is a Tcl/Tk/BLT Iwidget displaying a Volume-at-Price (VAP) chart. Historical and/or real-time tick data streams are sourced from TradeStation via a proprietary TCP/IP interface. Tick history is held in a TickServer object that allows multiple clients to attach to the tick stream and independently perform time-based ‘seek’ operations on the stream. VAP is computed and analyzed at a low level (C++), and the high-level (Tcl/Tk/BLT) VAPBarchart object polls the low level objects for display updates. The result is a useful and attractive application with relatively low computational overhead.
The screenshot below shows a VAPBarchart display for the S&P 500 e-mini future. The VAPBarchart displays VAP for time-based sessions, which may either be past sessions or ongoing sessions. The green color of the session controller indicates that the session is ongoing, in this case the regular session for stock trading (Central time). Basic status for the session is displayed including session volume, total range, and price excursions below and above the opening tick. The last tick and recent contiguous ticks are highlighted by color coding, and details on individual bars are available via a mouse-over ‘tooltip’ type display. The compression (number of ticks per bar) for a symbol is a parameter; in this example the compression is 1. The display is scrollable, and the price axis limits are also modifiable by mouse operations. The VAPBarchart object also functions as a server for VAP updates for other applications including the ML2Trader front end and the Sb2 intraday volume rate analysis application.
The colored lines in the VAPBarchart display mark key VAP levels. The types of levels recognized by the application are:
|
Green lines indicate volume maxima or peaks, defined as a bar with the greatest volume in a range of contiguous bars. |
|
Red lines indicate volume minima or pockets, defined as a bar with the least volume in a range of contiguous bars. |
|
Yellow lines indicate a so-called discontinuity, defined as a bar with significantly less volume than a neighboring bar. |
|
Magenta lines indicate pockets that are also discontinuities. |
The MultiVAP application shown below packages several VAPBarchart and controller objects in a tabbed display. MultiVAP manages VAP displays for multiple symbols, here for example the S&P 500 e-mini future, and the Dow mini future which is currently displayed with a compression of 2 ticks per bar. In this example the VAPBarchart displays for the mini-Dow are linked to show all, i.e., they all use the same price axis range, which includes all data points. The leftmost display is the current regular session. The middle display is the previous regular session plus the overnight session, and that session is complete as indicated by the red color of the session controller. The rightmost display details VAP from the intraday low that occurred around 2:14 PM.
VAPKeys is an indicator for TradeStation that displays VAP key levels on price charts. VAPKeys is implemented as a TradeStation DLL. Although VAPKeys can be applied to any chart, the indicator can only produce approximations of VAP unless the chart is a single tick chart, and thus the reported key levels could be slightly different for charts of the same symbol at different timeframes.
The most accurate and consistent results are supported by a client-server mode of operation. In this mode, one instance of the indicator (typically on a tick chart) serves as the VAPKeys server for a symbol. The server records and maintains historical key level information, and propagates key level updates to any VAPKeys clients attached to other charts for that symbol. In this way, multiple charts for a symbol (e.g., displaying different time frames) will all display the same key level information, modulo the precision of each chart’s X-axis. The screenshot shows a TradeStation intraday chart of the S&P 500 e-mini future displaying a VAPKeys client. VAP key levels are drawn as color-coded trend lines that remain active as long as the level is recognized as key, or until the session terminates.