from __future__ import annotations
import sys
from pathlib import Path
try:
import pandas as pd
import pandas_ta as ta except ImportError:
print("pandas / pandas-ta not installed. Run: pip install pandas pandas-ta")
sys.exit(1)
ROOT = Path(__file__).resolve().parent.parent
DATA_DIR = ROOT / "tests" / "data"
SAMPLE = DATA_DIR / "sample_ohlcv.csv"
def write_golden(name: str, series: pd.Series) -> None:
df = series.dropna().reset_index().rename(columns={"index": "index"})
df.columns = ["index", name.split("_")[0].lower()]
out = DATA_DIR / f"golden_{name}.csv"
df.to_csv(out, index=False)
print(f"wrote {out} ({len(df)} rows)")
def main() -> None:
df = pd.read_csv(SAMPLE)
write_golden("sma_5", ta.sma(df["close"], length=5))
write_golden("ema_5", ta.ema(df["close"], length=5))
write_golden("rsi_14", ta.rsi(df["close"], length=14))
macd = ta.macd(df["close"], fast=12, slow=26, signal=9)
write_golden("macd_12_26_9_line", macd["MACD_12_26_9"])
write_golden("macd_12_26_9_signal", macd["MACDs_12_26_9"])
write_golden("macd_12_26_9_hist", macd["MACDh_12_26_9"])
if __name__ == "__main__":
main()