Skip to main content

adx

Calculate the Average Directional Index (ADX).

The ADX is a Welles Wilder style moving average of the Directional Movement Index (DX). The values range from 0 to 100, but rarely get above 60. To interpret the ADX, consider a high number to be a strong trend, and a low number, a weak trend.

Examples

from openbb import obb
# Get the Average Directional Index (ADX).
stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')
adx_data = obb.technical.adx(data=stock_data.results, length=50, scalar=100.0, drift=1)
obb.technical.adx(length=2, data=[{'date': '2023-01-02', 'open': 110.0, 'high': 120.0, 'low': 100.0, 'close': 115.0, 'volume': 10000.0}, {'date': '2023-01-03', 'open': 165.0, 'high': 180.0, 'low': 150.0, 'close': 172.5, 'volume': 15000.0}, {'date': '2023-01-04', 'open': 146.67, 'high': 160.0, 'low': 133.33, 'close': 153.33, 'volume': 13333.33}, {'date': '2023-01-05', 'open': 137.5, 'high': 150.0, 'low': 125.0, 'close': 143.75, 'volume': 12500.0}, {'date': '2023-01-06', 'open': 132.0, 'high': 144.0, 'low': 120.0, 'close': 138.0, 'volume': 12000.0}])

Parameters

NameTypeDescriptionDefaultOptional
dataList[Data]List of data to be used for the calculation.False
indexstr, optionalIndex column name to use with data, by default "date".False
lengthint, optionalNumber of periods for the ADX, by default 50.False
scalarfloat, optionalScalar value for the ADX, by default 100.0.False
driftint, optionalDrift value for the ADX, by default 1.False

Returns

OBBject
results : List[Data]
The calculated data.