WBS-7.8/7.10: 기술장벽 확정 & 운영절차 명문화
WBS-7.8 (ETF NAV 자동 수집): - 기술장벽 최종 확정: pykrx get_etf_price_deviation/tracking_error = HTTP 400 LOGOUT - 근본원인: KRX 회원 로그인 필수 (헤더/세션 보정 불가) - KRX 공식 API/KIND 경로 미확정 - status: BLOCKED_TECHNICAL_BARRIER - 운영: etf_nav_manual 수동 입력 계속 사용 - 다음 재검토: 2026-09-30 (API 발급 가능성 분기별 확인) WBS-7.10 (공매도 잔고율 자동화): - 기술장벽 최종 확정: KIS API 미제공, pykrx blocked - KRX 공매도종합포털만 유효한 경로 (수동 CSV 다운로드) - status: MANUAL_CSV_ONLY - 운영: 영업일 1회 수동 다운로드 후 --short-csv 경로 지정 * 데이터 없을 시 DATA_MISSING_SAFE로 보수적 판정 * 정성매도전략 실행 중단 없음 (다른 신호만으로 결정) - CLI: python tools/build_qualitative_sell_inputs_v1.py --short-csv Temp/shorting_balance_manual_YYYY-MM-DD.csv - 다음 재검토: 2026-12-31 문서화: - spec/16_data_gaps_roadmap.yaml에 WBS-7.8/7.10 절 추가 - 기술장벽 분석 + 운영절차 + CLI 명시 - next_review_date/action 지정 테스트: 135/135 PASS Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -766,3 +766,89 @@ phase_5_platform_transition:
|
||||
# - Stage2_Gate PENDING: T+20 표본 누적 후 자동 평가
|
||||
# - 주요 지표: outcome_quality=85.23(PASS) guidance_proof=99.26(PASS)
|
||||
# - 미수집 펀더멘털(ROE/OPM/FCF/Revenue): CHECK_58/59 해결 시 자동 개선
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# WBS-7.8 (ETF NAV 자동 수집) — 기술장벽 확정 & 운영절차 명문화
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
phase_wbs_7_8_etf_nav_automation:
|
||||
status: BLOCKED_TECHNICAL_BARRIER
|
||||
wbs_ref: WBS-7.8
|
||||
deadline: "2026-12-31"
|
||||
problem_statement: >
|
||||
ETF NAV, 괴리율, 추적오차, AUM 자동 수집이 미구현. 현재는 etf_nav_manual 탭에
|
||||
수동 입력만 가능.
|
||||
automation_attempts:
|
||||
- date: "2026-06-22"
|
||||
tool: "pykrx (이미 EOD 가격 조회로 사용 중)"
|
||||
methods_attempted:
|
||||
- "get_etf_price_deviation() — ETF 괴리율"
|
||||
- "get_etf_tracking_error() — 추적오차"
|
||||
- "get_shorting_balance() — 공매도 잔고율 (WBS-7.10과 공유)"
|
||||
result: "모두 HTTP 400 LOGOUT"
|
||||
root_cause: "KRX 회원 로그인 필수 (KRX_ID/KRX_PW 환경변수 미설정 경고)"
|
||||
evidence: "raw HTTP로 재현 확인 — 헤더/세션 보정으로 해결 불가"
|
||||
automation_path_confirmed_blocked:
|
||||
- "pykrx: KRX 인증 게이트 (회원 로그인 불가)"
|
||||
- "KRX 공식 API: 접근 경로 미확정"
|
||||
- "KIND: 공개 데이터셋 접근 불확실"
|
||||
- "운용사 PDF export: 수동만 가능"
|
||||
fallback_procedure: "spec/16_data_gaps_roadmap.yaml:S5_etf_raw.implementation 참조 — etf_nav_manual 수동 입력"
|
||||
next_review_date: "2026-09-30"
|
||||
next_review_action: >
|
||||
KRX 정보데이터시스템/KIND 공식 API 또는 공개 데이터셋 발급/이용약관 변경 여부를
|
||||
재확인한다. 변경이 없으면 next_review_date를 다음 분기로 갱신하고 BLOCKED 유지,
|
||||
변경이 있으면 P1_kis_core_api_collector와 동일한 패턴으로 착수 여부를 결정한다.
|
||||
implementation_note: >
|
||||
2026-06-22 WBS-7.8 기술장벽 최종 확정. 자동화 불가능하므로 운영절차를
|
||||
명문화한다. etf_nav_manual 수동 경로 외에 대체 경로 없음.
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# WBS-7.10 (공매도 잔고율 자동화) — 기술장벽 확정 & 운영절차 명문화
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
phase_wbs_7_10_shorting_balance_automation:
|
||||
status: MANUAL_CSV_ONLY
|
||||
wbs_ref: WBS-7.10
|
||||
deadline: "2026-07-15"
|
||||
problem_statement: >
|
||||
공매도 잔고율(short_balance_ratio)은 KIS Open API에서 제공하지 않으며,
|
||||
KRX 공매도종합포털 CSV 다운로드만 유효한 경로다. 이 데이터는
|
||||
qualitative_sell_strategy_v1에서 short_interest_pressure 계산에 필요하다.
|
||||
data_source:
|
||||
official: "KRX 공매도종합포털 (data.krx.co.kr/contents/MDC/MDI/mdioper/BBGO1910/)"
|
||||
format: "일일 CSV 다운로드 (날짜별 종목별 공매도 잔고 %)"
|
||||
coverage: "KOSPI/KOSDAQ 전 상장종목"
|
||||
update_frequency: "일일 (T+1, 오전 10시경)"
|
||||
kis_api_check:
|
||||
status: "NOT_PROVIDED"
|
||||
verification: "KIS Open API 공식 문서 검색, 임금운용 담당자 확인"
|
||||
alternative_kis_endpoints: []
|
||||
krx_direct_check:
|
||||
status: "BLOCKED_KRX_MEMBER_LOGIN"
|
||||
tool: "pykrx.get_shorting_balance()"
|
||||
error: "HTTP 400 LOGOUT (KRX_ID/KRX_PW 환경변수 미설정)"
|
||||
root_cause: "KRX 회원 계정 필수, 헤더/세션 보정 불가"
|
||||
date_confirmed: "2026-06-22"
|
||||
workaround_procedure:
|
||||
method: "수동 KRX CSV 다운로드 경로"
|
||||
steps:
|
||||
- "1. KRX 공매도종합포털 접속 (로그인 필요: 일반 계정, 증권회원사 계정, KRX 회원사 계정 모두 가능)"
|
||||
- "2. '당일 공매도현황' 탭에서 종목 선택 또는 전체 다운로드"
|
||||
- "3. CSV 파일 저장: spec 문서에 기입된 경로 (예: Temp/shorting_balance_manual_YYYY-MM-DD.csv)"
|
||||
- "4. build_qualitative_sell_inputs_v1.py --short-csv 플래그 사용해 수동 경로 지정"
|
||||
frequency: "영업일 1회 (run_all 실행 전, 또는 자동 스케줄 전에 수동 다운로드)"
|
||||
operational_note: >
|
||||
현재 정성매도전략은 short_interest_pressure=DATA_MISSING일 때 항상 보수적
|
||||
(낮은 conviction)으로 판단한다. 공매도 데이터가 없으면 다른 4개 신호만 사용해
|
||||
결정하므로, 영업 중단 가능성은 없다 — 다만 정밀도 제한.
|
||||
cli_interface:
|
||||
usage: "python tools/build_qualitative_sell_inputs_v1.py --short-csv Temp/shorting_balance_manual_YYYY-MM-DD.csv"
|
||||
missing_data_handling: "status=DATA_MISSING_SAFE로 수정(보수적 판정)"
|
||||
validation: "CI에서 --short-csv 미제공 시 DATA_MISSING 경고 출력"
|
||||
next_review_date: "2026-12-31"
|
||||
next_review_action: >
|
||||
이후 분기에 KIS API 업그레이드 또는 KRX 공개 데이터 경로 변경 여부를
|
||||
재확인한다. 변경이 없으면 MANUAL_CSV_ONLY 상태 유지, 변경이 있으면
|
||||
자동화 착수 여부를 결정한다.
|
||||
implementation_note: >
|
||||
2026-06-22 WBS-7.10 기술장벽 최종 확정. 자동화 경로 불가능하므로
|
||||
수동 CSV 운영절차를 governance/rules에 명문화한다.
|
||||
|
||||
Reference in New Issue
Block a user