NVI Class

Negative Volume Index (NVI)
[Serializable()] 
public class NVI : Indicator
This language is not supported or no code example is available.
[Serializable()] 
public ref class NVI : public Indicator^
This language is not supported or no code example is available.
public  
Serializable() 
class NVI 
extends Indicator
This language is not supported or no code example is available.
Name Description
Public constructor NVI(ISeries) NVI normal constructor.
Top
Name Description
Public property AutoUpdate (inherited from Indicator).
Public property Count Gets the count. (inherited from Indicator).
Public property Description Gets the description. (inherited from TimeSeries).
Public property Fields (inherited from Indicator).
Public property First Gets the first. (inherited from Indicator).
Public property FirstDateTime Datetime of the first item in this time array (inherited from Indicator).
Public property Id Gets the id. (inherited from TimeSeries).
Public property Indicators Gets the indicators. (inherited from TimeSeries).
Public property IsMultiIndicator (inherited from Indicator).
Public property IsUseBarSlice (inherited from Indicator).
Public property Item(int, BarData) Gets the Double at the specified index and bar data. (inherited from Indicator).
Public property Item(int) Gets or sets the Double at the specified index. (inherited from Indicator).
Public property Last Gets the last. (inherited from Indicator).
Public property LastDateTime Datetime of the last item in this time array (inherited from Indicator).
Public property MaxLength (inherited from TimeSeries).
Public property Name Gets the name. (inherited from TimeSeries).
Top
Methods
 
Name Description
Public method Add(DateTime, double) Adds the specified date time. (inherited from TimeSeries).
Public method Ago(int) Agoes the specified n. (inherited from TimeSeries).
Public method Attach() (inherited from Indicator).
Public method Calculate(int) Calculate NVI at the specific index.
Public method Clear() (inherited from Indicator).
Public method Clone(ISeries)
Public method Contains(DateTime) Determines whether [contains] [the specified date time]. (inherited from TimeSeries).
Public method Crosses(TimeSeries, DateTime) Crosseses the specified series. (inherited from TimeSeries).
Public method Crosses(double, int) Crosseses the specified level. (inherited from TimeSeries).
Public method Detach() (inherited from Indicator).
Public method Exp() Exps this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries).
Public method GetAsymmetry(int, int, int) Gets the asymmetry. (inherited from TimeSeries).
Public method GetAutoCorrelation(int) Calculate autocorrelation (inherited from TimeSeries).
Public method GetAutoCovariance(int) Calculate autocovariance (inherited from TimeSeries).
Public method GetByDateTime(DateTime, SearchOption) Gets the by date time. (inherited from TimeSeries).
Public method GetByIndex(Instrument, int) (inherited from Indicator).
Public method GetByIndex(int, int) (inherited from Indicator).
Public method GetCorrelation(TimeSeries) Gets the correlation. (inherited from TimeSeries).
Public method GetCorrelation(TimeSeries, int, int) Gets the correlation. (inherited from TimeSeries).
Public method GetCorrelation(int, int, int, int) Gets the correlation. (inherited from TimeSeries).
Public method GetCovariance(TimeSeries) Gets the covariance. (inherited from TimeSeries).
Public method GetCovariance(TimeSeries, int, int) Gets the covariance. (inherited from TimeSeries).
Public method GetCovariance(int, int, int, int) Gets the covariance. (inherited from TimeSeries).
Public method GetDateTime(int) Gets the date time. (inherited from Indicator).
Public method GetExcess(int, int, int) Gets the excess. (inherited from TimeSeries).
Public method GetFirst(Instrument) (inherited from Indicator).
Public method GetFirst(int) (inherited from Indicator).
Public method GetIndex(DateTime, IndexOption) Gets the index. (inherited from Indicator).
Public method GetIntersection(TimeSeries) (inherited from TimeSeries).
Public method GetItem(int) Gets the item. (inherited from TimeSeries).
Public method GetLast(Instrument) (inherited from Indicator).
Public method GetLast(int) (inherited from Indicator).
Public method GetMax(DateTime, DateTime) Gets the maximum. (inherited from Indicator).
Public method GetMaxItem() Gets the maximum item. (inherited from TimeSeries).
Public method GetMean() Calculate mean (inherited from TimeSeries).
Public method GetMean(DateTime, DateTime, int) Calculate mean (inherited from TimeSeries).
Public method GetMean(int, int, int) Calculates mean (inherited from TimeSeries).
Public method GetMean(DateTime, DateTime) Calculate mean (inherited from TimeSeries).
Public method GetMean(int, int) Calculate mean (inherited from TimeSeries).
Public method GetMean(int) Calculate mean (inherited from TimeSeries).
Public method GetMedian() Calculates median (inherited from TimeSeries).
Public method GetMedian(DateTime, DateTime, int) Calculate median (inherited from TimeSeries).
Public method GetMedian(int, int, int) Calculates medain (inherited from TimeSeries).
Public method GetMedian(DateTime, DateTime) Calculate median (inherited from TimeSeries).
Public method GetMedian(int, int) Calculate median (inherited from TimeSeries).
Public method GetMedian(int) Calculate median (inherited from TimeSeries).
Public method GetMin(DateTime, DateTime) Gets the minimum. (inherited from Indicator).
Public method GetMinItem() Gets the minimum item. (inherited from TimeSeries).
Public method GetMoment(int, int, int, int) Gets the moment. (inherited from TimeSeries).
Public method GetNegativeSeries() Returns new double series with negative data entries from this array (inherited from TimeSeries).
Public method GetNegativeStdDev() Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeStdDev(DateTime, DateTime) Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeStdDev(DateTime, DateTime, int) Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeStdDev(int, int) Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeStdDev(int, int, int) Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeStdDev(int) Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeVariance(int, int, int) Calculate variance of negative data entries (inherited from TimeSeries).
Public method GetNegativeVariance() Calculate variance of negative data entries (inherited from TimeSeries).
Public method GetNegativeVariance(DateTime, DateTime) Calculate variance of negative data entries (inherited from TimeSeries).
Public method GetNegativeVariance(DateTime, DateTime, int) Gets the negative variance. (inherited from TimeSeries).
Public method GetNegativeVariance(int, int) Calculate variance of negative data entries (inherited from TimeSeries).
Public method GetNegativeVariance(int) Calculate variance of negative data entries (inherited from TimeSeries).
Public method GetPercentReturnSeries() Gets the percent return series. (inherited from TimeSeries).
Public method GetPositiveSeries() Returns new double series with positive data entries from this array (inherited from TimeSeries).
Public method GetPositiveStdDev() Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveStdDev(DateTime, DateTime) Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveStdDev(DateTime, DateTime, int) Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveStdDev(int, int) Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveStdDev(int, int, int) Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveStdDev(int) Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveVariance(int, int, int) Calculate variance of positive data entries (inherited from TimeSeries).
Public method GetPositiveVariance() Calculate variance of positive data entries (inherited from TimeSeries).
Public method GetPositiveVariance(DateTime, DateTime) Calculate variance of positive data entries (inherited from TimeSeries).
Public method GetPositiveVariance(DateTime, DateTime, int) Gets the positive variance. (inherited from TimeSeries).
Public method GetPositiveVariance(int, int) Calculate variance of positive data entries (inherited from TimeSeries).
Public method GetPositiveVariance(int) Calculate variance of positive data entries (inherited from TimeSeries).
Public method GetReturnSeries() Gets the return series. (inherited from TimeSeries).
Public method GetStdDev() Calculate standard deviation (inherited from TimeSeries).
Public method GetStdDev(DateTime, DateTime) Calculate standard deviation (inherited from TimeSeries).
Public method GetStdDev(DateTime, DateTime, int) Calculate standard deviation (inherited from TimeSeries).
Public method GetStdDev(int, int) Calculate standard deviation (inherited from TimeSeries).
Public method GetStdDev(int, int, int) Calculate standard deviation (inherited from TimeSeries).
Public method GetStdDev(int) Calculate standard deviation (inherited from TimeSeries).
Public method GetSum() Calculate sum (inherited from TimeSeries).
Public method GetSum(int, int, int) Calculate sum (inherited from TimeSeries).
Public method GetTimeSeriesItem(int) (inherited from TimeSeries).
Public method GetValue(int) Gets the value. (inherited from TimeSeries).
Public method GetVariance() Calculate variance (inherited from TimeSeries).
Public method GetVariance(int, int, int) Calculate variance (inherited from TimeSeries).
Public method GetVariance(DateTime, DateTime) Calculate variance (inherited from TimeSeries).
Public method GetVariance(DateTime, DateTime, int) Gets the variance. (inherited from TimeSeries).
Public method GetVariance(int, int) Calculate variance (inherited from TimeSeries).
Public method GetVariance(int) Calculate variance (inherited from TimeSeries).
Public method IndexOf(DateTime, SearchOption) Indexes the of. (inherited from TimeSeries).
Protected method Init() Init NVI indicator.
Public method Log() Logs this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries).
Public method Log10() Log10s this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries).
Public method Pow(double) Pows the specified pow. The type of this instance must have a parameterless constructor. (inherited from TimeSeries).
Public method Remove(int) Removes the specified index. (inherited from TimeSeries).
Public method Shift(int) Shifts the specified offset. (inherited from TimeSeries).
Public method Sqrt() SQRTs this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries).
Public method Static Value(ISeries, int) Calculate NVI for the specific instance of ISeries and index.
Top
Name Description
Operator Static Addition Implements the +. (inherited from TimeSeries).
Operator Static Addition Implements the +. (inherited from TimeSeries).
Operator Static Addition Implements the +. (inherited from TimeSeries).
Operator Static Division Implements the /. (inherited from TimeSeries).
Operator Static Division Implements the /. (inherited from TimeSeries).
Operator Static Division Implements the /. (inherited from TimeSeries).
Operator Static Multiply Implements the *. (inherited from TimeSeries).
Operator Static Multiply Implements the *. (inherited from TimeSeries).
Operator Static Multiply Implements the *. (inherited from TimeSeries).
Operator Static Subtraction Implements the -. (inherited from TimeSeries).
Operator Static Subtraction Implements the -. (inherited from TimeSeries).
Operator Static Subtraction Implements the -. (inherited from TimeSeries).
Top
Fields
 
Name Description
Protected field calculate (inherited from Indicator).
Internal protected (Protected Friend) field description (inherited from TimeSeries).
Protected field input (inherited from Indicator).
Protected field name (inherited from TimeSeries).
Top
Remarks
 
The NVI relates a decrease in volume to the change in the contract's price. The NVI displays only changes on days when volume decreases from the previous day. The interpretation is based on the assumption that on days with increasing trade volumes, the crowd-following "uninformed" investors are in the market. On days with decreasing trade volumes, on the other hand, the "smart money" is quietly taking positions. In this way, the changes in the NVI suggest what the smart money is doing. Remember that the NVI changes only on lower volume days.  
 
Norman Fosback suggests that the odds of a bull market are 95 out of 100 when the NVI rises above its one-year Moving Average (255 days). When the NVI falls below its one-year Moving Average, the odds of a bull market are about 50/50.  
 
The Negative Volume Index is not currently applicable for Intraday charts and will never be applicable for Tick charts, due to the nature of the data.  
 
This indicator is described in more details in the Steve Achelis' book "Technical Analysis from A to Z".  
 
Formula:  

In this article

Definition