5f4f1f7508
Añade campos params y output al frontmatter YAML de las 506 funciones del registry. Cada parámetro tiene descripción semántica (qué representa, unidades, rango típico) y cada función describe qué produce su output. Permite a agentes razonar sobre cadenas de composición (ej: prices → log_return → sharpe_ratio) sin leer código.
44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
---
|
|
name: bollinger_bands
|
|
kind: function
|
|
lang: py
|
|
domain: finance
|
|
version: "1.0.0"
|
|
purity: pure
|
|
signature: "def bollinger_bands(data: list, period: int, num_std: float) -> tuple"
|
|
description: "Calcula las Bandas de Bollinger (upper, middle, lower) de una serie de precios."
|
|
tags: [finance, bollinger, volatility, indicator, python]
|
|
uses_functions: [sma_py_finance]
|
|
uses_types: []
|
|
returns: []
|
|
returns_optional: false
|
|
error_type: ""
|
|
imports: []
|
|
params:
|
|
- name: data
|
|
desc: "lista de precios o valores (ej: precios de cierre diarios)"
|
|
- name: period
|
|
desc: "tamanio de la ventana movil en numero de periodos (tipico: 5, 10, 20). Mayor periodo = bandas mas suave."
|
|
- name: num_std
|
|
desc: "numero de desviaciones estandar para las bandas (tipico: 2.0 para 95% de los datos en rango)"
|
|
output: "tupla (upper, middle, lower) donde cada elemento es una lista de floats con len(data) - period + 1 elementos"
|
|
tested: false
|
|
tests: []
|
|
test_file_path: ""
|
|
file_path: "python/functions/finance/finance.py"
|
|
---
|
|
|
|
## Ejemplo
|
|
|
|
```python
|
|
prices = [10, 11, 12, 13, 14, 15, 14, 13, 12, 11]
|
|
upper, middle, lower = bollinger_bands(prices, 5, 2.0)
|
|
# middle es la SMA(5), upper/lower son middle +/- 2*std
|
|
```
|
|
|
|
## Notas
|
|
|
|
Retorna tupla de tres listas (upper, middle, lower). Cada lista tiene len(data) - period + 1 elementos.
|
|
La desviacion estandar se calcula sobre la ventana de tamanio period (poblacional, no muestral).
|
|
Usa internamente la funcion sma para la banda media.
|