{
  "slug": "moving-average",
  "name": "gizza-ai/moving-average",
  "version": "0.1.0",
  "title": "Moving Average Calculator (SMA, EMA & WMA) — gizza.ai",
  "description": "Calculate simple, exponential and weighted moving averages (SMA, EMA, WMA) over any number series with your chosen window. Free, private, in-browser.",
  "tags": [
    "moving average",
    "sma",
    "ema",
    "wma",
    "simple moving average",
    "exponential moving average",
    "weighted moving average",
    "smoothing",
    "time series",
    "stock prices",
    "technical analysis"
  ],
  "category": "math",
  "urls": {
    "page": "https://gizza.ai/tools/moving-average/",
    "markdown": "https://gizza.ai/tools/moving-average/index.md",
    "descriptor": "https://gizza.ai/tools/moving-average/tool.json",
    "deep_link_example": "https://gizza.ai/tools/moving-average/?series=10%2C%2012%2C%2013%2C%2012%2C%2015%2C%2016%2C%2014%2C%2018%2C%2020%2C%2019&period=3"
  },
  "cli": "gizza tool moving-average \"10, 12, 13, 12, 15, 16, 14, 18, 20, 19\"",
  "tool": {
    "description": "Compute simple (SMA), exponential (EMA), and weighted (WMA) moving averages over a numeric series (e.g. stock/price data), separated by spaces, commas, semicolons, or newlines. 'period' (default 3) is the look-back window; it must be between 1 and 10000 and no larger than the number of data points. Returns the count, period, EMA smoothing factor (2/(period+1)), and the SMA, EMA, and WMA value at each point (null during the warm-up before 'period' points are available). The EMA is seeded with the simple mean of the first window; the WMA uses linear weights with the most recent value weighted heaviest. Runs locally — the data never leaves the device.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "period": {
          "default": 3,
          "description": "Look-back window size for the moving average, 1-10000 (default 3). Must not exceed the number of data points.",
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "series": {
          "description": "The numeric series (e.g. prices) to average, separated by spaces, commas, semicolons, or newlines.",
          "type": "string"
        }
      },
      "required": [
        "series"
      ],
      "type": "object"
    }
  }
}