0
# Volume Indicators
1
2
Volume-based indicators that analyze trading volume patterns and price-volume relationships to identify accumulation, distribution, and money flow conditions.
3
4
## Capabilities
5
6
### On-Balance Volume (OBV)
7
8
Running total of volume based on price direction, used to identify buying and selling pressure.
9
10
```python { .api }
11
def get_obv(quotes: Iterable[Quote]):
12
"""
13
On-Balance Volume (OBV) - running total of volume based on price direction.
14
15
Args:
16
quotes (Iterable[Quote]): Historical price quotes
17
18
Returns:
19
OBVResults[OBVResult]: Collection of OBV results
20
"""
21
```
22
23
### Money Flow Index (MFI)
24
25
Volume-weighted RSI that incorporates both price and volume to measure buying/selling pressure.
26
27
```python { .api }
28
def get_mfi(quotes: Iterable[Quote], lookback_periods: int = 14):
29
"""
30
Money Flow Index (MFI) - volume-weighted RSI measuring money flow.
31
32
Args:
33
quotes (Iterable[Quote]): Historical price quotes
34
lookback_periods (int): Number of periods for calculation (defaults to 14)
35
36
Returns:
37
MFIResults[MFIResult]: Collection of MFI results
38
"""
39
```
40
41
### Chaikin Money Flow (CMF)
42
43
Measures money flow volume over a specific period to gauge accumulation/distribution.
44
45
```python { .api }
46
def get_cmf(quotes: Iterable[Quote], lookback_periods: int = 20):
47
"""
48
Chaikin Money Flow (CMF) - measures money flow over specified period.
49
50
Args:
51
quotes (Iterable[Quote]): Historical price quotes
52
lookback_periods (int): Number of periods for calculation (defaults to 20)
53
54
Returns:
55
CMFResults[CMFResult]: Collection of CMF results
56
"""
57
```
58
59
### Volume Weighted Average Price (VWAP)
60
61
Average price weighted by volume, commonly used as a benchmark for institutional trading.
62
63
```python { .api }
64
def get_vwap(quotes: Iterable[Quote]):
65
"""
66
Volume Weighted Average Price (VWAP) - average price weighted by volume.
67
68
Args:
69
quotes (Iterable[Quote]): Historical price quotes
70
71
Returns:
72
VWAPResults[VWAPResult]: Collection of VWAP results
73
"""
74
```
75
76
### Accumulation/Distribution Line (ADL)
77
78
Cumulative indicator that uses volume and close location within the period's range.
79
80
```python { .api }
81
def get_adl(quotes: Iterable[Quote]):
82
"""
83
Accumulation/Distribution Line (ADL) - cumulative volume indicator.
84
85
Args:
86
quotes (Iterable[Quote]): Historical price quotes
87
88
Returns:
89
ADLResults[ADLResult]: Collection of ADL results
90
"""
91
```
92
93
### Chaikin Oscillator
94
95
Oscillator form of the Accumulation/Distribution Line using exponential moving averages.
96
97
```python { .api }
98
def get_chaikin_osc(quotes: Iterable[Quote], fast_periods: int = 3, slow_periods: int = 10):
99
"""
100
Chaikin Oscillator - EMA difference of Accumulation/Distribution Line.
101
102
Args:
103
quotes (Iterable[Quote]): Historical price quotes
104
fast_periods (int): Fast EMA periods (defaults to 3)
105
slow_periods (int): Slow EMA periods (defaults to 10)
106
107
Returns:
108
ChaikinOscResults[ChaikinOscResult]: Collection of Chaikin Oscillator results
109
"""
110
```
111
112
### Price Volume Oscillator (PVO)
113
114
Volume-based oscillator showing percentage difference between fast and slow volume moving averages.
115
116
```python { .api }
117
def get_pvo(quotes: Iterable[Quote], fast_periods: int = 12, slow_periods: int = 26, signal_periods: int = 9):
118
"""
119
Price Volume Oscillator (PVO) - percentage difference of volume moving averages.
120
121
Args:
122
quotes (Iterable[Quote]): Historical price quotes
123
fast_periods (int): Fast EMA periods (defaults to 12)
124
slow_periods (int): Slow EMA periods (defaults to 26)
125
signal_periods (int): Signal line EMA periods (defaults to 9)
126
127
Returns:
128
PVOResults[PVOResult]: Collection of PVO results
129
"""
130
```
131
132
### Klinger Volume Oscillator (KVO)
133
134
Volume oscillator that combines price direction with volume to identify long-term money flow.
135
136
```python { .api }
137
def get_kvo(quotes: Iterable[Quote], fast_periods: int = 34, slow_periods: int = 55, signal_periods: int = 13):
138
"""
139
Klinger Volume Oscillator (KVO) - combines price direction with volume.
140
141
Args:
142
quotes (Iterable[Quote]): Historical price quotes
143
fast_periods (int): Fast EMA periods (defaults to 34)
144
slow_periods (int): Slow EMA periods (defaults to 55)
145
signal_periods (int): Signal line EMA periods (defaults to 13)
146
147
Returns:
148
KVOResults[KVOResult]: Collection of KVO results
149
"""
150
```
151
152
### Force Index
153
154
Combines price change with volume to measure buying/selling pressure.
155
156
```python { .api }
157
def get_force_index(quotes: Iterable[Quote], lookback_periods: int = 13):
158
"""
159
Force Index - combines price change with volume to measure force.
160
161
Args:
162
quotes (Iterable[Quote]): Historical price quotes
163
lookback_periods (int): EMA periods for smoothing (defaults to 13)
164
165
Returns:
166
ForceIndexResults[ForceIndexResult]: Collection of Force Index results
167
"""
168
```