Files

19 lines
440 B
Python
Raw Permalink Normal View History

from __future__ import annotations
import pandas as pd
REQUIRED_COLUMNS = {"date", "asset", "close"}
def load_prices_csv(file) -> pd.DataFrame:
df = pd.read_csv(file)
missing = REQUIRED_COLUMNS - set(df.columns)
if missing:
raise ValueError(f"Missing required columns: {sorted(missing)}")
df["date"] = pd.to_datetime(df["date"])
df = df.sort_values(["date", "asset"]).reset_index(drop=True)
return df