Skip to main content

ema

Calculate the Exponential Moving Average (EMA).

EMA is a cumulative calculation, including all data. Past values have a diminishing contribution to the average, while more recent values have a greater contribution. This method allows the moving average to be more responsive to changes in the data.

Examples

from openbb import obb
# Get the Exponential Moving Average (EMA).
stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')
ema_data = obb.technical.ema(data=stock_data.results, target='close', length=50, offset=0)
obb.technical.ema(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]The data to use for the calculation.False
targetstrTarget column name.False
indexstr, optionalIndex column name to use with data, by default "date"False
lengthint, optionalThe length of the calculation, by default 50.False
offsetint, optionalThe offset of the calculation, by default 0.False

Returns

OBBject
results : List[Data]
The calculated data.