Merge pull request 'docs: B1_gas_backdata_feature_bank spec/16 PLANNED → DONE' (#37) from feature/backdata-feature-bank-done into main

This commit is contained in:
2026-06-14 10:35:14 +09:00
+20 -5
View File
@@ -451,7 +451,7 @@ analysis_enhancements:
phase_4_backdata_collection:
B1_gas_backdata_feature_bank:
priority: HIGH
status: PLANNED
status: DONE
purpose: >
매수/매도 뒷북과 설거지 패턴을 줄이기 위한 진입-청산 백데이터 원장.
사람 입력보다 GAS 자동 수집을 1순위로 두고, 사람이 입력한 performance 기록은
@@ -480,13 +480,28 @@ phase_4_backdata_collection:
- "max_adverse_excursion_pct"
- "max_favorable_excursion_pct"
implementation_plan:
step_1: "GAS에서 daily setup snapshot을 backdata_feature_bank 시트로 자동 upsert"
step_2: "performance 시트 청산 결과와 join해 outcome label을 자동 부여"
step_3: "convert_xlsx_to_json.py에서 backdata_feature_bank_json 우선 수집"
step_4: "backdata_feature_bank_table을 report/validation에 반영"
step_1:
action: "GAS에서 daily setup snapshot을 backdata_feature_bank 시트로 자동 upsert"
status: DONE
note: "syncBackdataFeatureBank_() — gdc_01_fetch_fundamentals.gs:1128, gdf_02_harness_assembly.gs:146"
step_2:
action: "performance 시트 청산 결과와 join해 outcome label을 자동 부여"
status: DONE
note: "buildBackdataFeatureBankRowsV1_() — mapLatestPerformanceByTicker_ 기반 join"
step_3:
action: "convert_xlsx_to_json.py에서 backdata_feature_bank_json 우선 수집"
status: DONE
note: "src/quant_engine/convert_xlsx_to_json.py:synthesize_backdata_feature_bank() 구현"
step_4:
action: "backdata_feature_bank_table을 report/validation에 반영"
status: DONE
note: "render_operational_report.py:_backdata_feature_bank_table(), validate_harness_context.py 검증"
fallback_policy:
manual_input: "performance 시트 또는 수동 보정은 fallback일 뿐 primary source가 아니다."
missing_action: "GAS 생성본이 없으면 fallback 기록과 함께 source_origin=FALLBACK_SYNTH로 남긴다."
implementation_note: >
2026-06-14 구현 완료 확인. GAS(syncBackdataFeatureBank_) + Python(synthesize_backdata_feature_bank)
모두 구현됨. T+20 데이터 누적 후 ML 패턴 학습 품질 향상 예정.
# 2026-05-30 구현 현황
# - S5_etf_raw: PARTIAL_DONE 유지 (수동 NAV 병행)