Exponential Moving Average (EMA)

get_ema(quotes, lookback_periods, candle_part=CandlePart.CLOSE)

Parameters

name type notes
quotes Iterable[Quote] Iterable of the Quote class or its sub-class.
See here for usage with pandas.DataFrame
lookback_periods int Number of periods (N) in the moving average. Must be greater than 0.
candle_part CandlePart, default CandlePart.CLOSE Specify candle part to evaluate. See CandlePart options below.

Historical quotes requirements

You must have at least 2×N or N+100 periods of quotes, whichever is more, to cover the convergence periods. Since this uses a smoothing technique, we recommend you use at least N+250 data points prior to the intended usage date for better precision.

quotes is an Iterable[Quote] collection of historical price quotes. It should have a consistent frequency (day, hour, minute, etc). See the Guide for more information.

CandlePart options

from stock_indicators.indicators.common.enums import CandlePart
type description
CandlePart.OPEN open price
CandlePart.HIGH high price
CandlePart.LOW low price
CandlePart.CLOSE close price
CandlePart.VOLUME volume
CandlePart.HL2 (high+low)/2
CandlePart.HLC3 (high+low+close)/3
CandlePart.OC2 (open+close)/2
CandlePart.OHL3 (open+high+low)/3
CandlePart.OHLC4 (open+high+low+close)/4

Returns

EMAResults[EMAResult]

Convergence warning: The first N+100 periods will have decreasing magnitude, convergence-related precision errors that can be as high as ~5% deviation in indicator values for earlier periods.

EMAResult

name type notes
date datetime Date
ema float, Optional Exponential moving average

Utilities

See Utilities and Helpers for more information.

Example

from stock_indicators import indicators
from stock_indicators import CandlePart     # Short path, version >= 0.8.1

# This method is NOT a part of the library.
quotes = get_historical_quotes("SPY")

# calculate 20-period EMA
results = indicators.get_ema(quotes, 20, CandlePart.CLOSE)

About Exponential Moving Average (EMA)

Exponentially weighted moving average price over a lookback window. [Discuss] 💬

image

See also related Double EMA and Triple EMA.

Sources