MCPcopy Create free account
hub / github.com/Open-Quant/openquant / _prepare_ohlcv_lf

Function _prepare_ohlcv_lf

python/openquant/data.py:79–96  ·  view source on GitHub ↗
(df: pl.DataFrame)

Source from the content-addressed store, hash-verified

77
78
79def _prepare_ohlcv_lf(df: pl.DataFrame) -> pl.LazyFrame:
80 frame = _canonicalize_columns(df)
81 _validate_required_columns(frame)
82
83 lf = frame.lazy().with_columns(
84 pl.col("ts").cast(pl.Utf8).str.strptime(pl.Datetime, strict=False),
85 pl.col("symbol").cast(pl.Utf8),
86 pl.col("open").cast(pl.Float64),
87 pl.col("high").cast(pl.Float64),
88 pl.col("low").cast(pl.Float64),
89 pl.col("close").cast(pl.Float64),
90 pl.col("volume").cast(pl.Float64),
91 )
92 if "adj_close" in frame.columns:
93 lf = lf.with_columns(pl.col("adj_close").cast(pl.Float64))
94 else:
95 lf = lf.with_columns(pl.col("close").alias("adj_close"))
96 return lf.select(CANONICAL_OHLCV_COLUMNS).drop_nulls(CANONICAL_OHLCV_COLUMNS)
97
98
99def _format_ts(v: Any) -> str | None:

Callers 2

clean_ohlcvFunction · 0.85
data_quality_reportFunction · 0.85

Calls 2

_canonicalize_columnsFunction · 0.85

Tested by

no test coverage detected