"""freqtrade 가 받아 둔 BTC 일봉 vs weltiq /v1/bars 일봉 — 저장된 증적만 읽는다."""
import json, pandas as pd
FT = "/private/tmp/claude-501/-Users-unolee-dev-weltiq/239c6271-cd97-48f8-a6f7-05feead07d33/scratchpad/ft/user_data/data/binance/BTC_USDT-1d.feather"
WQ = "/private/tmp/weltiq-r1-launch/reports/a/04-freqtrade/weltiq-btc-1d.json"

ft = pd.read_feather(FT)
ft["d"] = pd.to_datetime(ft["date"], utc=True).dt.strftime("%Y-%m-%d")
w = json.load(open(WQ))
print(f'weltiq n = {w["n"]}   (첫 {w["bars"][0]["t"]}  마지막 {w["bars"][-1]["t"]})')
print()
same = diff = 0
rows = []
for b in w["bars"]:
    # weltiq 는 봉 "마감" 시각으로 라벨을 붙인다 → 하루 당겨서 맞춘다
    d = (pd.Timestamp(b["t"]) - pd.Timedelta(days=1)).strftime("%Y-%m-%d")
    m = ft[ft["d"] == d]
    if m.empty:
        continue
    r = m.iloc[0]
    ok = all(abs(float(r[k]) - float(b[k[0]])) < 1e-6 for k in ("open", "high", "low", "close"))
    same += ok; diff += (not ok)
    rows.append((d, float(r["open"]), float(r["close"]), float(b["o"]), float(b["c"]), ok))
print(f"겹치는 일봉 {same+diff}개 중 네 값(OHLC) 모두 일치 {same} · 다름 {diff}")
for d, fo, fc, wo, wc, ok in [rows[0], rows[-2], rows[-1]]:
    print(f"  {d}  freqtrade o={fo:.2f} c={fc:.2f} | weltiq o={wo:.2f} c={wc:.2f}  → {'일치' if ok else '다름'}")
