벤치마크

같은 기간 동안 포트폴리오 수익률을 SPY, QQQ 또는 사용자 지정 인덱스와 비교합니다. 결국 보고 싶은 건 하나입니다. 시장을 이기고 있는지, 아니면 그냥 따라가고 있는지입니다.

각 벤치마크의 일별 캔들을 Finnhub에서 가져와, 포트폴리오와 동일한 기간에 대한 총 수익률을 비교합니다. 일별 스냅샷이 있으면 가장 이른 스냅샷을 시작일로 사용하고, 없으면 가장 이른 거래 날짜를 기준으로 cost-basis 비교 모드로 전환됩니다. benchmarks는 리스트로 받으며(기본 ["SPY","QQQ"]), from/to로 기간을 덮어쓸 수 있습니다.
{
"period": { "start": "2024-01-02", "end": "2026-04-27", "days": 846, "mode": "snapshot" },
"portfolio": { "return_pct": 61.23, "start_value_usd": 100000, "end_value_usd": 161230 },
"benchmarks": [
  { "ticker": "SPY", "return_pct": 28.41, "alpha_pct": 32.82 },
  { "ticker": "QQQ", "return_pct": 35.10, "alpha_pct": 26.13 }
]
}
Finnhub API 키가 필요합니다. 프로필 페이지에서 등록하세요. 무료 플랜은 일별 캔들을 최대 1년까지 제공합니다. 그보다 긴 기간을 비교하면 응답에 경고가 붙고 벤치마크 기간이 잘립니다.
snap
일별 스냅샷이 있을 때 (권장)
일별 포트폴리오 합계를 사용해 벤치마크의 일별 종가와 같은 기준으로 비교합니다. 스냅샷이 많을수록 결과도 더 믿을 만합니다.
cost
스냅샷이 없을 때 (폴백)
총 cost basis와 현재 시가를 비교하고, 출력에 그 한계도 함께 표시합니다. 자본이 서로 다른 날짜에 들어간 점은 반영하지 못하므로 방향성 정도로만 봐야 합니다. 정확도를 높이려면 add_snapshot으로 스냅샷을 꾸준히 기록하세요.