Skip to main content

atr

Calculate the Average True Range.

Used to measure volatility, especially volatility caused by gaps or limit moves. The ATR metric helps understand how much the values in your data change on average, giving insights into the stability or unpredictability during a certain period. It's particularly useful for spotting trends of increase or decrease in variations, without getting into technical trading details. The method considers not just the day-to-day changes but also accounts for any sudden jumps or drops, ensuring you get a comprehensive view of movement.

Examples

from openbb import obb
# Get the Average True Range.
stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')
atr_data = obb.technical.atr(data=stock_data.results)
obb.technical.atr(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

data: list[openbb_core.provider.abstract.data.Data]
list of data to apply the indicator to.

index: str
Default: date
Index column name, by default 'date'

length: int
Default: 14
It's period, by default 14

mamode: Literal['rma', 'ema', 'sma', 'wma']
Default: rma
Moving average mode, by default 'rma'

drift: int
Default: 1
The difference period, by default 1

offset: int
How many periods to offset the result, by default 0


Returns

results: list[Data]

Serializable results.

provider: None

Provider name.

warnings: Optional[list[Warning_]]

list of warnings.

chart: Optional[Chart]

Chart object.

extra: dict[str, Any]

Extra info.