feat: Atlanta Fed GDPNow 일간 vintage 수집 (#11) #41
No reviewers
Labels
No labels
api
bug
chore
collector
decision-needed
docs
enhancement
feature
feedback-loop
frontend
infra
skill
test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
xhh/financial-data-platform!41
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-11-gdpnow"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Atlanta Fed GDPNow 의 일별 나우캐스트 갱신을 수집. Atlanta Fed 공식 XLSX 링크가 SPA HTML 로 응답해서 스크래핑 대신 FRED ALFRED vintage 엔드포인트 를 사용 — 같은
GDPNOW시리즈에 대해realtime_start/end로 모든 vintage 가 노출됨.storage/models.py::GDPNowVintage— (date, forecast_quarter, value) 모델, UniqueConstraint 포함collectors/atlanta_fed_collector.py— ALFRED 호출 래퍼 (재시도/타임아웃/결측 필터)scripts/collect_gdpnow.py—--since기본 최근 90 일 upserttests/collectors/test_atlanta_fed_collector.py— 5 케이스routers/system.pycoverage 에gdpnow_vintages등록 + Date 심볼str강제 캐스팅Test plan
uv run python scripts/collect_gdpnow.py --since 2025-10-01로 실 데이터 수집Closes #11
ALFRED (FRED) vintage 엔드포인트로 GDPNow 나우캐스트의 일별 갱신을 수집. Atlanta Fed 의 공식 XLSX 직링크가 모두 SPA 랜딩페이지 HTML 을 돌려줘서 스크래핑 대안으로 ALFRED 를 사용. `realtime_start/end` 범위에 대해 GDPNOW 시리즈의 모든 vintage 가 그대로 노출됨. 추가 ---- - `storage/models.py::GDPNowVintage` — (date, forecast_quarter, value) UniqueConstraint (date, forecast_quarter). tracked_tables / coverage_tables 에도 등록. - `collectors/atlanta_fed_collector.py::AtlantaFedCollector` — ALFRED 호출 래퍼. 재시도/타임아웃/결측(".") 필터링 포함. - `scripts/collect_gdpnow.py` — --since 기본 최근 90일. upsert. - `tests/collectors/test_atlanta_fed_collector.py` — 5 케이스 (파싱/키 누락/재시도/재시도 소진/모델 유니크 제약) - `routers/system.py` 커버리지 로직: `forecast_quarter` 같은 Date 심볼도 안전하게 다루도록 `str(r.symbol)` 강제 캐스팅. 53 tests pass (48 → 53). Closes #11 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>