# -*- coding: utf-8 -*-
"""
2강 · 2단계 — '들고만 있기' 수익률 (기사: 2025.1~2026.9 보유 -21.4%)
"""
import csv
from pathlib import Path

rows = []
with open(Path(__file__).parent / "data" / "BTC_USD_daily.csv", encoding="utf-8") as f:
    for r in csv.DictReader(f):
        if r["timestamp"]:
            rows.append((r["timestamp"], float(r["close"])))
rows.sort(key=lambda x: x[0])

def period(rows, start, end):
    """start~end 사이의 (날짜, 가격)만 골라 돌려준다"""
    return [x for x in rows if start <= x[0] <= end]

def hold_return(p):
    return p[-1][1] / p[0][1] - 1

train = period(rows, "2023-01-01", "2024-12-31")
test  = period(rows, "2025-01-01", "2026-09-30")
print(f"학습구간 보유: {hold_return(train):+.1%}")
print(f"검증구간 보유: {hold_return(test):+.1%}   (기사 -21.4% 와 같은가?)")

# ── 해 보기 ──
# ① 시작일을 "2025-01-31" 로 바꾸면? 기사 숫자가 왜 우리와 다를 수 있을까?
