import pandas as pd
from pathlib import Path

BASE_PATH = Path(__file__).resolve().parents[2]
PRICES_PATH = BASE_PATH / "data" / "raw" / "prices" / "EURUSD"


def load_eurusd_15m():
    file_path = PRICES_PATH / "EURUSD_15M_2003_2026.csv"

    df = pd.read_csv(file_path)

    # normalize column names
    df.columns = [c.strip().lower() for c in df.columns]

    rename_map = {
        "datetime": "datetime",
        "open": "open",
        "high": "high",
        "low": "low",
        "close": "close",
        "volume": "volume",
    }
    df.rename(columns=rename_map, inplace=True)

    df["datetime"] = pd.to_datetime(df["datetime"], format="%Y.%m.%d %H:%M:%S")

    keep_cols = ["datetime", "open", "high", "low", "close", "volume"]
    df = df[keep_cols].copy()
    df = df.sort_values("datetime").reset_index(drop=True)

    return df


if __name__ == "__main__":
    df = load_eurusd_15m()
    print(df.head())
    print(df.tail())
    print("\nRows:", len(df))
    print("Columns:", df.columns.tolist())
    print("Date range:", df["datetime"].min(), "to", df["datetime"].max())