--- name: bollinger_bands kind: function lang: go domain: finance version: "1.0.0" purity: pure signature: "func BollingerBands(data []float64, period int, numStdDev float64) (upper, middle, lower []float64)" description: "Calcula las bandas de Bollinger (upper, middle, lower) para una serie de precios." tags: [finance, indicator, bollinger, bands] uses_functions: [] uses_types: [bollinger_result_go_finance] returns: [bollinger_result_go_finance] returns_optional: false error_type: "" imports: [math] params: - name: data desc: "slice de precios de cierre (ej: [22.5, 23.1, 22.8, ...])" - name: period desc: "período de la media móvil simple (ej: 5, 20, 50 días)" - name: numStdDev desc: "número de desviaciones estándar para las bandas (típicamente 2.0)" output: "tupla (upper, middle, lower) - tres slices de precios banda superior, media (SMA) e inferior" tested: false tests: [] test_file_path: "" file_path: "functions/finance/bollinger_bands.go" --- # bollinger_bands Calcula las bandas de Bollinger. La banda media es la SMA, y las bandas superior e inferior estan a `numStdDev` desviaciones estandar de la media. Usa desviacion estandar poblacional. ## Ejemplo ```go upper, middle, lower := finance.BollingerBands( []float64{22, 24, 23, 25, 26, 28, 27, 29, 30, 28}, 5, 2.0, ) ```