 ## Simple Moving Average

This algorithm creates a Simple Moving Average for a time series.

## Introduction This algorthm creates a simple moving average over the previous K datapoints in a timeseries graph.

## Inputs

This algorithm has two input formats; JSON Formatting and Array Formatting.

## JSON Format

``````{
"data":Double[],
"lagTime": Int,
}
``````
``````{
"data": [0,1,2,3,4,5,6,20,8,9,10,11,12],
"lagTime": 5
}
``````
• data - _(required)_ - The timeseries input data you wish to create a simple moving average for, this algorithm assumes the values are evenly spaced. (`dx(1) == dx(n)`)
• lagTime - _(optional)_ - The lagtime for the average, if there is a lag of n, each point is replaced by the average of itself and the n points that proceeded it, or, if the point is within the lag factor of the the start of the series, with the average of it and all earlier points.

## Array Format

``````[
data: Double[],
lagTime: Int
]
``````
``````[[0,1,2,3,4,5,6,20,8,9,10,11,12],5]
``````
• data - _(required)_ - The timeseries input data you wish to create a simple moving average for, this algorithm assumes the values are evenly spaced. (`dx(1) == dx(n)`)
• lagTime - _(optional)_ - The lagtime for the average, if there is a lag of n, each point is replaced by the average of itself and the n points that proceeded it, or, if the point is within the lag factor of the the start of the series, with the average of it and all earlier points.

## Outputs

This algorithm has json output for json input, and array output for array input.

## JSON Format

``````{
"output": Double[]
}
``````
``````{
"output": [0, 0.5, 1, 1.5, 2, 3, 4, 7.6, 8.6, 9.6, 10.6, 11.6, 10]
}
``````
• output - The simple moving average for your dataset.

## Array Format

``````output: Double[]
``````
``````{
"output": [0, 0.5, 1, 1.5, 2, 3, 4, 7.6, 8.6, 9.6, 10.6, 11.6, 10]
}
``````
• output - The simple moving average for your dataset.

Contents