(df: pl.DataFrame)
| 70 | |
| 71 | |
| 72 | def _validate_required_columns(df: pl.DataFrame) -> None: |
| 73 | required = {"ts", "symbol", "open", "high", "low", "close", "volume"} |
| 74 | missing = sorted(required.difference(df.columns)) |
| 75 | if missing: |
| 76 | raise ValueError(f"missing required OHLCV columns: {', '.join(missing)}") |
| 77 | |
| 78 | |
| 79 | def _prepare_ohlcv_lf(df: pl.DataFrame) -> pl.LazyFrame: |