Referencia técnica · Paso 4a · Indicadores — generación
Cómo el precio crudo se transforma en cientos de columnas: las familias por período, las fórmulas propias que no son TA-Lib estándar, los desfasajes y la alineación multi-timeframe sin look-ahead.
La mayoría son indicadores TA-Lib estándar, calculados sobre cada período del estilo de trading. Una columna por (familia, período).
| Grupo | Familias |
|---|---|
| Osciladores | rsi · stoch_k/d · mfi · willr · cci |
| Tendencia | sma · mema (EMA) · adx · +di / −di · macd* |
| Volatilidad | atr · bb_upper/middle/lower · zscore* |
| Posición / rango | ibs* · aaro / aarou / aarod* · dc_upper/lower* |
| Volumen | obv (si hay volumen real) |
Las marcadas con * tienen fórmula propia (§2) — no son una llamada TA-Lib directa. El resto es TA-Lib estándar sobre los períodos del trading_style.
Las columnas que se construyen a mano, con la mecánica exacta del código.
El .shift(1) es deliberado: el canal de la barra actual usa el rango de las p barras previas, no la actual — de otro modo leería su propio high/low y filtraría el futuro.
Cada columna base se replica desplazada al pasado, para que las reglas puedan comparar el ahora con hace N barras.
Los shift_periods vienen del estilo (o custom), ya filtrados por max_shift_bars en el paso de configuración.
Los indicadores de un TF superior (H4, D1) se pegan al índice del TF de operación sin filtrar el futuro: cada barra base recibe el último bar HTF que ya cerró.
merge_asof "backward" toma siempre el último bar ya cerrado.Continúa en 4b: excursiones, fórmula del target (TP-antes-que-SL), winsorización MAD-sigma, chequeo de leakage y estrategia de NaN.
Fuentes:
· domain/indicators/transform.py — compute_features (familias, IBS, BB, Aroon, MACD, zscore, DC, OBV, shifts)
· domain/indicators/multi_tf.py — align_to_base_tf, _PERIOD_OFFSETS
· domain/trading_styles.py — períodos y shift_periods por estilo