QuantStudio Financial Data Analysis and Trading Framework

PVT Class

Price and Volume Trend (PVT)

For a list of all members of this type, see PVT Members.

System.Object
   RQuant.Indicator.TTimeArray
      RQuant.Indicator.TDoubleArray
         RQuant.Indicator.TIndicator
            RQuant.Indicator.PVT

[Visual Basic]
Public Class PVT
    Inherits TIndicator
[C#]
public class PVT : TIndicator

Thread Safety

Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.

Remarks

The Price and Volume Trend ("PVT") is similar to On Balance Volume ("OBV" ) in that it is a cumulative total of volume that is adjusted depending on changes in closing prices. But where OBV adds all volume on days when prices close higher and subtracts all volume on days when prices close lower, the PVT adds/subtracts only a portion of the daily volume. The amount of volume added to the PVT is determined by the amount that prices rose or fell relative to the previous day's close.

The interpretation of the Price and Volume Trend is similar to the interpretation of On Balance Volume and the Volume Accumulation/Distribution Line .
Many investors feel that the PVT more accurately illustrates the flow of money into and out of a security than does OBV. This is because OBV adds the same amount of volume to the indicator regardless of whether the security closes up a fraction of a point or doubles in price. Whereas, the PVT adds only a small portion of volume to the indicator when the price changes by a small percentage and adds a large portion of volume to the indicator when the price changes by a large percentage.

This indicator is described in more details in the Steve Achelis' book "Technical Analysis from A to Z".

Formula:

Example

TDataManager.cd("Demo");

TDailyArray Daily1 = TDataManager.GetStock("YHOO").DailyArray;

DateTime Date1 = DateTime.Parse("1999/02/08"); 
DateTime Date2 = DateTime.Parse("2000/12/29"); 

TDailyArray Daily = Daily1.Clone(Date1, Date2);

TCanvas Canvas = new TCanvas("Canvas","PVT DEMO",600,400);
    
Canvas.Divide(1,2);

PVT PVT = new PVT(Daily);

Canvas.cd(1);
Daily.Draw("c");

Canvas.cd(2);
PVT.Draw(Color.Red);

Requirements

Namespace: RQuant.Indicator

Assembly: RQuant.Indicator (in RQuant.Indicator.dll)

See Also

PVT Members | RQuant.Indicator Namespace