---
name: sma
kind: function
lang: go
domain: finance
version: "1.0.0"
purity: pure
signature: "func SMA(data []float64, period int) []float64"
description: "Calcula la media movil simple (SMA) sobre una serie de datos con un periodo dado."
tags: [finance, indicator, sma, moving-average]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: []
params:
  - name: data
    desc: "slice de precios de cierre o valores de serie temporal (ej: [1.0, 2.0, 3.0, ...])"
  - name: period
    desc: "período de media móvil (ej: 5, 20, 50, 200 días)"
output: "slice de valores SMA del mismo tamaño que data, primeros period-1 elementos son 0 (sin datos suficientes)"
tested: false
tests: []
test_file_path: ""
file_path: "functions/finance/sma.go"
---

# sma

Calcula la media movil simple (Simple Moving Average). Los primeros `period-1` elementos del resultado son 0 ya que no hay datos suficientes para calcular la media.

## Ejemplo

```go
result := finance.SMA([]float64{1, 2, 3, 4, 5}, 3)
// result = [0, 0, 2, 3, 4]
```
