Moving Average
Moving Averages are implemented in finquant.moving_average
.
The module provides functions to compute and visualise:
Simple Moving Averages,
Exponential Moving Averages,
a band of Moving Averages (simple or exponential), and
Bollinger Bands.
- finquant.moving_average.compute_ma(data, fun, spans, plot=True)
Computes a band of moving averages (sma or ema, depends on the input argument fun) for a number of different time windows. If plot is True, it also computes and sets markers for buy/sell signals based on crossovers of the Moving Averages with the shortest/longest spans.
- Parameters:
data (
SERIES_OR_DATAFRAME
) – A series/dataframe of daily stock prices (if DataFrame, only one column is expected)fun (
Callable
[[Union
[Series
,DataFrame
],int
],Series
]) – Function that computes a moving average, e.g.`sma`
(simple) or`ema`
(exponential).spans (
List
[int
]) – List of integers, time windows to compute the Moving Average on.plot (
bool
) – boolean, whether to plot the moving averages and buy/sell signals based on crossovers of shortest and longest moving average, or not, default: True
- Return type:
DataFrame
- Returns:
Moving averages of given data.
- finquant.moving_average.ema(data, span=100)
Computes and returns the exponential moving average.
Note: the moving average is computed on all columns.
- Parameters:
data (
DataFrame
) – A dataframe of daily stock pricesspan (
int
) – Number of days/values over which the average is computed, default: 100
- Return type:
DataFrame
- Returns:
Exponential moving average
- finquant.moving_average.ema_std(data, span=100)
Computes and returns the standard deviation of the exponential moving average.
- Parameters:
data (
DataFrame
) – A dataframe of daily stock pricesspan (
int
) – Number of days/values over which the average is computed, default: 100
- Return type:
DataFrame
- Returns:
Standard deviation of exponential moving average
- finquant.moving_average.plot_bollinger_band(data, fun, span=100)
Computes and visualises a Bolling Band.
- Parameters:
data (
DataFrame
) – A dataframe of daily stock pricesfun (
Callable
[[DataFrame
,int
],DataFrame
]) – function that computes a moving average, e.g.sma
(simple) orema
(exponential).span (
int
) – Number of days/values over which the average is computed, default: 100
- Return type:
None
- finquant.moving_average.sma(data, span=100)
Computes and returns the simple moving average.
Note: the moving average is computed on all columns.
- Parameters:
data (
DataFrame
) – A dataframe of daily stock pricesspan (
int
) – Number of days/values over which the average is computed, default: 100
- Return type:
DataFrame
- Returns:
Simple moving average
- finquant.moving_average.sma_std(data, span=100)
Computes and returns the standard deviation of the simple moving average.
- Parameters:
data (
DataFrame
) – A dataframe of daily stock pricesspan (
int
) – Number of days/values over which the average is computed, default: 100
- Return type:
DataFrame
- Returns:
Standard deviation of simple moving average