--- name: ema kind: function lang: py domain: finance version: "1.0.0" purity: pure signature: "def ema(data: list, period: int) -> list" description: "Calcula la media movil exponencial (EMA) de una serie de precios." tags: [finance, moving-average, exponential, indicator, python, pendiente-usar] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "" imports: [] params: - name: data desc: "lista de precios o valores a suavizar (ej: precios de cierre diarios)" - name: period desc: "numero de periodos para el calculo de EMA (tipico: 5, 12, 26, 50, 200). Mayor periodo = mas suavizado." output: "lista de valores EMA con len(data) - period + 1 elementos (mas corta que la entrada)" tested: false tests: [] test_file_path: "" file_path: "python/functions/finance/finance.py" --- ## Ejemplo ```python prices = [10, 11, 12, 13, 14, 15] result = ema(prices, 3) # [11.0, 11.5, 12.25, 13.125] ``` ## Notas El primer valor de la EMA es el SMA del primer periodo. El multiplicador es 2 / (period + 1). Retorna len(data) - period + 1 elementos. Lista vacia si period invalido.