#### TimeSeries / SimpleMovingAverage / 0.2.0

README.md

## Simple Moving Average

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

## Table of Contents

## 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