feat: WBS-4.4 evaluation_dashboard + CI fix + Synology Gitea 최적화

[WBS-4.4] 일별 성과 모니터링 대시보드 구현
- updateEvaluationDashboard_(): gdf_04_execution_quality.gs에 GAS 함수 신규 추가
  · daily_history 시트 → total_asset, mdd_pct
  · macro 시트 KOSPI Close → 1D 수익률 (직전 행 Close 차이 계산)
  · evaluation_dashboard 탭 자동 생성/업데이트 (Date/Total_Asset/KOSPI_Close/
    Portfolio_Return_1D_Pct/KOSPI_Return_1D_Pct/Alpha_1D_Pct/Cumulative_Alpha_Pct/MDD_Pct)
- run_all() Step-8로 연결 (gas_lib.gs), runRebalanceSheet_ 이후 실행

[CI/CD] validate_formula_registry.py 수정 (WBS-5.1 완성)
- spec/formulas/manifest.yaml 신규 생성 (domains/manifest.yaml 동일 내용)
- RetirementAssetPortfolio.yaml에 formula_registry_manifest 등록
- validate_specs.py PASS 복원 → run_release_dag_v3 gate=PASS step_count=55

[CI/CD] Synology Gitea act_runner 환경 최적화
- runs-on: ubuntu-latest → self-hosted (NAS host-based runner)
- actions/setup-python / actions/setup-node 제거 (NAS에 직접 설치)
- python → python3 명시
- actions/checkout@v3 → v4

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-13 16:46:44 +09:00
parent 105daea3d9
commit 25f771cc77
7 changed files with 338 additions and 33 deletions
+10 -10
View File
@@ -425,9 +425,9 @@ match_rate_pct = 예측방향 맞춘 건수 / 전체 예측 건수 × 100
|------|------|
| **작업** | 일별 포트폴리오 수익률, 벤치마크 대비 Alpha, 공식 예측 적중률 시각화 |
| **공식 ID** | `CONTINUOUS_EVALUATION_DASHBOARD_V1` |
| **현재 상태** | `tools/build_continuous_evaluation_dashboard_v1.py` 존재, 미완성 |
| **산출물** | GatherTradingData.xlsx의 evaluation_dashboard 탭 |
| **상태** | 부분 구현 |
| **현재 상태** | `updateEvaluationDashboard_()` GAS 함수 구현 완료 (`gdf_04_execution_quality.gs`) |
| **산출물** | GatherTradingData.xlsx의 evaluation_dashboard 탭 (run_all Step-8 자동 실행) |
| **상태** | ✅ 완료 (2026-06-13) |
**성공 하네스 (데이터 기준)**:
```
@@ -449,9 +449,9 @@ match_rate_pct = 예측방향 맞춘 건수 / 전체 예측 건수 × 100
| 항목 | 내용 |
|------|------|
| **작업** | main 브랜치 push → 자동 validate → Temp/ 산출물 갱신 → GAS 배포 패키지 생성 |
| **담당** | `.gitea/workflows/ci.yml` 생성 |
| **단계** | 1) python validate 전체 실행, 2) npm run full-gate, 3) dist/ 번들 생성, 4) 알림 |
| **상태** | 미구현 (저장소 초기화 완료) |
| **담당** | `.gitea/workflows/ci.yml` |
| **단계** | validate_specs → validate_formula_registry → validate_golden_coverage_100 → build_rebalance_engine_v2 → ingest_fundamental_raw --no-naver → run_release_dag_v3 --strict → build_bundle |
| **상태** | ✅ 완료 (2026-06-13) — Synology Gitea act_runner 환경 최적화 (`runs-on: self-hosted`, python3 직접 실행) |
**성공 하네스 (데이터 기준)**:
```
@@ -529,8 +529,8 @@ CI 게이트:
| 4.1 T+20 레저 | 🟡 Medium | 중간 | 30건 대기 | 2026-07 | 10% |
| 4.2 예측 정확도 | 🟡 Medium | 중간 | 4.1 완료 | 2026-08 | 20% |
| 4.3 알파 보정 | 🟢 Low | 높음 | 4.2 완료 | 2026-09 | 5% |
| 4.4 대시보드 | 🟡 Medium | 낮음 | 4.1 완료 | 1주 | 30% |
| 5.1 CI/CD | 🟡 Medium | 중간 | Gitea 연결 | 1주 | 5% |
| 4.4 대시보드 | 🟡 Medium | 낮음 | 4.1 완료 | 완료 | **100%** |
| 5.1 CI/CD | 🟡 Medium | 중간 | Gitea 연결 | 완료 | **100%** |
| 5.2 GAS 자동 배포 | 🟢 Low | 낮음 | 5.1 완료 | 3일 | 40% |
| 5.3 자율 실행 | 🟢 Low | 중간 | 5.1+5.2 완료 | 2주 | 10% |
@@ -568,7 +568,7 @@ CI 게이트:
자동화:
run_all 성공률: 확인 중 → 목표: ≥95%
CI/CD 커버리지: 0% → 목표: 100%
CI/CD 커버리지: 100% → 목표: 100% (완료)
수동 개입 횟수: 매일 → 목표: ≤1회/주
```
@@ -611,7 +611,7 @@ CI 게이트:
[ ] WBS-4.1: T+20 레저 첫 30건 달성 (2026-07-15) — 거래 데이터 누적 필요
[ ] WBS-4.2: 예측 정확도 하네스 (WBS-4.1 완료 후)
[ ] WBS-4.3: 알파 보정 루프 (WBS-4.2 완료 후)
[ ] WBS-4.4: 성과 모니터링 대시보드 완성
[x] WBS-4.4: 성과 모니터링 대시보드 완성 (updateEvaluationDashboard_() GAS 함수 + run_all Step-8)
[x] WBS-5.2: GAS 자동 배포 스크립트 (tools/deploy_gas.py -- dry-run PASS 17 files)
[x] WBS-5.3: 타이머 트리거 설정 (gdf_06_rebalance.gs setupDailyRunAllTrigger() 추가)
```