Skip to content

INTRADAY RANGE

Intuição

O intraday range é uma proxy simples de volatilidade baseada no range intrabar high/low. Ele é útil para detectar mudanças de regime de volatilidade sem depender de retornos.

Definição

IR_t = ln(high_t / low_t)

A feature retorna a média rolling de IR_t em janela n.

Uso

from quantmaster.features.volatility import intraday_range

df["intraday_range"] = intraday_range(df, window=20)

API

Source code in src/quantmaster/features/volatility.py
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
def intraday_range(
    data: pd.DataFrame,
    *,
    window: int = 20,
    high_col: str = "high",
    low_col: str = "low",
) -> pd.Series:
    window = validate_positive_int(window, name="window")
    validate_columns(data, required=(high_col, low_col))

    h = pd.to_numeric(data[high_col], errors="coerce").astype(float)
    l = pd.to_numeric(data[low_col], errors="coerce").astype(float)

    h = h.where(h > 0)
    l = l.where(l > 0)

    out = np.log(h / l).rolling(window).mean()
    out.name = f"intraday_range_{window}"
    return out