Skip to content

Overnight Gap

Intuição

O Overnight Gap captura o retorno entre o close do dia anterior e o open do dia atual. Ele é frequentemente associado a notícias e eventos fora do pregão.

Definição

gap_t = ln(open_t / close_{t-1})

Uso

from quantmaster.features.returns import overnight_gap

df["overnight_gap"] = overnight_gap(df)

API

Source code in src/quantmaster/features/returns.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def overnight_gap(
    data: pd.DataFrame,
    *,
    open_col: str = "open",
    close_col: str = "close",
) -> pd.Series:
    validate_columns(data, required=(open_col, close_col))

    o = pd.to_numeric(data[open_col], errors="coerce").astype(float)
    c = pd.to_numeric(data[close_col], errors="coerce").astype(float)

    o = o.where(o > 0)
    c = c.where(c > 0)
    prev_c = c.shift(1)

    out = np.log(o / prev_c)
    out.name = "overnight_gap"
    return out