Skip to content

Latest commit

 

History

History
85 lines (58 loc) · 3.5 KB

File metadata and controls

85 lines (58 loc) · 3.5 KB
title Exponential Moving Average (EMA)
permalink /indicators/Ema/
type moving-average
layout indicator

{{ page.title }}

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.

{% include candlepart-options.md %}

Returns

EMAResults[EMAResult]
  • This method returns a time series of all available indicator values for the quotes provided.
  • EMAResults is just a list of EMAResult.
  • It always returns the same number of elements as there are in the historical quotes.
  • It does not return a single incremental indicator value.
  • The first N-1 periods will have None values since there's not enough data to calculate.

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 {{ page.title }}

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

image

See also related Double EMA and Triple EMA.

Sources