kjh2064 45a39759e3 WBS-2.4 PEG_SCORE_V1 구현 + ROADMAP_WBS.md 완성도 매트릭스 전면 업데이트
[WBS-2.4] ingest_fundamental_raw.py에 peg_ratio / peg_gate 필드 추가
  - PEG = TTM_PE(per) / eps_growth_1y_pct (양수 성장 종목만)
  - PEG_GATE: BUY_GRADE(≤1.0) / HOLD(≤1.5) / CAUTION(>1.5)
  - 비ETF 8종목 중 6종목 PEG 산출 (75% — 음수성장 2종목 정상 NULL)
  - Forward_PE 미입수 시 TTM_PE 대체 조항 적용

[ROADMAP] 완성도 매트릭스 전면 업데이트
  - WBS 1.1~1.5, 2.1~2.4, 3.1~3.4, 4.4, 5.1~5.3 모두 100%  반영
  - WBS 2.5, 4.1~4.3: DATA_GATED 명시
  - Phase bar: 1/3/5 완료(20/20), 2 80%, 4 25%
  - D2: 9% → 100% (269개 등록), D5: 55단계 DAG PASS
  - KPI 섹션: RS/PEG/CI/CD 실적 반영

[CI] tools/setup_act_runner.sh 추가 (Synology NAS act_runner 설치 스크립트)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 17:31:51 +09:00

Core/Satellite Collector v4

은퇴자산용 코어/위성 후보 데이터 수집기입니다.

v4 기본 정책

  • 파라미터 없이 실행
  • 1차 유니버스: KOSPI 160개 + KOSDAQ 40개
  • 최종 후보: 100개
  • 최종 후보 내 KOSDAQ: 최대 20개
  • 1차 탐색 총량은 v3와 동일한 200개로 유지하여 호출 수 증가를 막습니다.

설치

npm install
node core_satellite_collector.js

OpenDART 공시까지 확인하려면:

$env:DART_API_KEY="발급받은키"
node core_satellite_collector.js

운영 표준

하네스/보고서/동기화까지 포함한 최종 게이트는 아래 순서를 사용합니다.

npm run full-gate

이 스크립트는 아래를 직렬로 수행합니다.

  • convert-data-json
  • validate-gas-call-arity
  • validate-proposal-reference
  • validate-harness-context
  • validate-operational-report-contract
  • audit-coverage
  • validate-harness-coverage-auditor
  • validate-strategy-tests-contract
  • validate-breakout-gate
  • validate-anti-whipsaw
  • validate-cash-raise-route
  • validate-brt-harness
  • validate-determinism
  • validate-alpha-execution-harness:strict
  • render-report-json
  • validate-report-json
  • validate-report-quality
  • validate-report-sync

spec와 데이터 샘플 검증까지 포함한 전체 엄격 검증은 아래를 사용합니다.

npm run validate-engine-strict

proposal 평가 이력까지 갱신하는 일일 실행은 아래를 사용합니다.

npm run daily-feedback-report

백필 누적 원장(backdata_feature_bank) 상태를 즉시 검증하려면 아래를 사용합니다.

npm run validate-backdata-migration-state

Outcome/Evaluation 복구 파이프라인(YOLO)을 한 번에 실행하려면 아래를 사용합니다.

npm run yolo-outcome-recovery

GAS 함수 정의/호출 인자 수 불일치만 단독 점검하려면 아래를 사용합니다.

npm run validate-gas-call-arity

사용자 판단용 제안표 하네스 출력이 실제로 존재하는지 점검하려면 아래를 사용합니다.

npm run validate-proposal-reference

GAS runHarnessRefresh_() 반영 후에는 아래 강제 검증으로 올릴 수 있습니다.

npm run validate-proposal-reference:strict

GAS 반영 후 proposal_reference_json까지 포함한 최종 엄격 게이트는 아래를 사용합니다.

npm run full-gate:proposal-strict

spec/데이터 샘플까지 포함한 전체 엄격 검증은 아래를 사용합니다.

npm run validate-engine-proposal-strict

GAS 반영 체크리스트

proposal_reference_json을 실제 하네스 출력으로 승격하려면 아래 순서를 따릅니다.

  1. Apps Script에 최신 gas_harness_rows.gs 반영
  2. Apps Script에서 runHarnessRefresh_() 실행
  3. Google Sheets harness_context 시트에 아래 키 생성 확인
    • proposal_reference_json
    • proposal_reference_lock
  4. 로컬에서 npm run convert-data-json 실행
  5. npm run validate-proposal-reference:strict 실행
  6. npm run full-gate:proposal-strict 실행
  7. 최종 운영 전환 시 npm run validate-engine-proposal-strict 기준으로 사용

운영 리포트 계약

운영 리포트는 사람이 읽는 Temp/operational_report.md와 기계 검증용 Temp/operational_report.json을 함께 생성합니다.

  • operational_report.json이 canonical 계약입니다.
  • operational_report.md는 표시용 렌더입니다.
  • JSON 스키마는 schemas/operational_report.schema.json을 사용합니다.
  • 계약 드리프트 검사는 npm run validate-operational-report-contract로 수행합니다.
  • 전체 게이트에는 render-report-json -> validate-report-json -> validate-report-quality -> validate-report-sync 순서가 포함됩니다.

전환 기준:

  • validate-proposal-referenceSKIP이면 아직 GAS 산출물 미반영 상태
  • validate-proposal-reference:strictPASS여야 proposal 하네스 strict 전환 완료
S
Description
퀀트 투자 엔진
Readme 28 MiB
Languages
Python 63.5%
JavaScript 31.8%
C# 3.7%
HTML 0.4%
PowerShell 0.2%
Other 0.4%