Merge pull request '[codex] 로드맵 순차 이행 및 릴리스 게이트 정비' (#65) from codex/roadmap-publish into main
Reviewed-on: http://192.168.123.100:8418/KimJaeHyun/myfinance/pulls/65
This commit is contained in:
@@ -7,6 +7,15 @@
|
||||
- 하네스 결측은 `DATA_MISSING — 하네스 업데이트 필요`로만 표시한다.
|
||||
- 차단된 종목의 산출값은 숨기지 말고 shadow ledger로 투명하게 남긴다.
|
||||
|
||||
## 0b. 기본 하네스 완료 조건
|
||||
- 모든 작업은 `YAML + 코드 + 데이터 실체 + 검증 증빙`이 모두 존재할 때만 완료로 본다.
|
||||
- `YAML`은 계약/공식/거버넌스의 원본 권위다. 관련 spec 또는 governance 파일이 함께 갱신되어야 한다.
|
||||
- `코드`는 `src/` 또는 `tools/`의 canonical 구현과 생성물이 함께 맞아야 한다.
|
||||
- `데이터 실체`는 `Temp/`, `GatherTradingData.xlsx`, `GatherTradingData.json`, `runtime/` 등 실제 산출물 또는 데이터 파일로 확인되어야 한다.
|
||||
- `검증 증빙`은 재현 가능한 명령 출력 또는 생성된 검증 결과 파일로 남겨야 한다.
|
||||
- 위 4가지 중 하나라도 빠지면 작업은 미완료다. 요약이나 설명만으로 완료 처리하지 않는다.
|
||||
- 완료 보고에는 반드시 변경된 YAML, 코드, 데이터 파일 경로와 검증 명령을 함께 적는다.
|
||||
|
||||
## 1. 읽는 순서
|
||||
1. `runtime/active_artifact_manifest.yaml`
|
||||
2. `Temp/final_decision_packet_active.json` (manifest alias)
|
||||
@@ -83,6 +92,7 @@
|
||||
- `python tools/validate_schema_model_generation_v1.py`
|
||||
- `python tools/validate_gas_thin_adapter_v1.py`
|
||||
- `python tools/validate_agents_shrink_v1.py`
|
||||
- `python tools/validate_completion_harness_instructions_v1.py`
|
||||
|
||||
## 6b. 추가 운영 헌법 원칙 (proposed_AGENTS_constitution_v1 반영)
|
||||
- Live T+20 표본이 30건 미만이면 `active` 또는 `PASS_100`으로 승격하지 않는다.
|
||||
|
||||
@@ -26,86 +26,35 @@ node core_satellite_collector.js
|
||||
|
||||
## 운영 표준
|
||||
|
||||
하네스/보고서/동기화까지 포함한 최종 게이트는 아래 순서를 사용합니다.
|
||||
릴리즈와 패키징의 기준 진입점은 아래를 사용합니다.
|
||||
|
||||
```powershell
|
||||
npm run ops:release
|
||||
```
|
||||
|
||||
릴리즈 DAG의 엄격 판정이 필요하면 아래를 사용합니다.
|
||||
|
||||
```powershell
|
||||
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와 데이터 샘플 검증까지 포함한 전체 엄격 검증은 아래를 사용합니다.
|
||||
패키지 생성은 아래를 사용합니다.
|
||||
|
||||
```powershell
|
||||
npm run validate-engine-strict
|
||||
npm run prepare-upload-zip
|
||||
```
|
||||
|
||||
proposal 평가 이력까지 갱신하는 일일 실행은 아래를 사용합니다.
|
||||
`ops:release`는 릴리즈 DAG 전체를 실행하고, 일부 `warn_only` 검증은 `PASS_WITH_WARNINGS`로 기록합니다.
|
||||
`full-gate`와 `validate-engine-strict`는 엄격 모드로 동일한 릴리즈 DAG를 재검증합니다.
|
||||
|
||||
```powershell
|
||||
npm run daily-feedback-report
|
||||
```
|
||||
추가 스크립트:
|
||||
|
||||
백필 누적 원장(`backdata_feature_bank`) 상태를 즉시 검증하려면 아래를 사용합니다.
|
||||
|
||||
```powershell
|
||||
npm run validate-backdata-migration-state
|
||||
```
|
||||
|
||||
Outcome/Evaluation 복구 파이프라인(YOLO)을 한 번에 실행하려면 아래를 사용합니다.
|
||||
|
||||
```powershell
|
||||
npm run yolo-outcome-recovery
|
||||
```
|
||||
|
||||
GAS 함수 정의/호출 인자 수 불일치만 단독 점검하려면 아래를 사용합니다.
|
||||
|
||||
```powershell
|
||||
npm run validate-gas-call-arity
|
||||
```
|
||||
|
||||
사용자 판단용 제안표 하네스 출력이 실제로 존재하는지 점검하려면 아래를 사용합니다.
|
||||
|
||||
```powershell
|
||||
npm run validate-proposal-reference
|
||||
```
|
||||
|
||||
GAS `runHarnessRefresh_()` 반영 후에는 아래 강제 검증으로 올릴 수 있습니다.
|
||||
|
||||
```powershell
|
||||
npm run validate-proposal-reference:strict
|
||||
```
|
||||
|
||||
GAS 반영 후 `proposal_reference_json`까지 포함한 최종 엄격 게이트는 아래를 사용합니다.
|
||||
|
||||
```powershell
|
||||
npm run full-gate:proposal-strict
|
||||
```
|
||||
|
||||
spec/데이터 샘플까지 포함한 전체 엄격 검증은 아래를 사용합니다.
|
||||
|
||||
```powershell
|
||||
npm run validate-engine-proposal-strict
|
||||
```
|
||||
- `npm run ops:package`
|
||||
- `npm run ops:validate`
|
||||
- `npm run ops:build`
|
||||
- `npm run render-report-json`
|
||||
- `npm run validate-proposal-reference`
|
||||
- `npm run validate-gas-call-arity`
|
||||
|
||||
## GAS 반영 체크리스트
|
||||
|
||||
@@ -116,10 +65,10 @@ npm run validate-engine-proposal-strict
|
||||
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` 기준으로 사용
|
||||
4. 로컬에서 `npm run ops:prepare` 실행
|
||||
5. `npm run ops:release` 실행
|
||||
6. `npm run full-gate` 실행
|
||||
7. 최종 운영 전환 시 `npm run prepare-upload-zip`로 패키지 생성 여부를 확인
|
||||
|
||||
## 운영 리포트 계약
|
||||
|
||||
@@ -132,5 +81,5 @@ npm run validate-engine-proposal-strict
|
||||
- 전체 게이트에는 `render-report-json -> validate-report-json -> validate-report-quality -> validate-report-sync` 순서가 포함됩니다.
|
||||
|
||||
전환 기준:
|
||||
- `validate-proposal-reference`가 `SKIP`이면 아직 GAS 산출물 미반영 상태
|
||||
- `validate-proposal-reference:strict`가 `PASS`여야 proposal 하네스 strict 전환 완료
|
||||
- `validate-proposal-reference` 결과와 `ops:release` 결과를 함께 봅니다.
|
||||
- `prepare-upload-zip`가 `PASS_WITH_WARNINGS`를 출력하면 warn_only 검증 이슈가 남아 있는 상태입니다.
|
||||
|
||||
@@ -4,6 +4,21 @@ This document is the authoritative guide for LLMs analyzing the packaged data fe
|
||||
|
||||
---
|
||||
|
||||
## Completion Harness
|
||||
|
||||
작업 완료는 아래 4가지가 모두 있을 때만 인정한다.
|
||||
|
||||
- `YAML` 증빙
|
||||
- `코드` 증빙
|
||||
- `데이터 실체` 증빙
|
||||
- `검증 증빙`
|
||||
|
||||
하나라도 없으면 완료로 보지 않는다.
|
||||
|
||||
For this guide, the same rule applies: YAML evidence, code evidence, data artifact evidence, and validation evidence must all be present before marking work complete.
|
||||
|
||||
---
|
||||
|
||||
## 1. Directory & File Mapping
|
||||
|
||||
When the zip package is unpacked, the directory structure is organized as follows. Use these files to verify numbers and trace decisions:
|
||||
|
||||
+19
-4
@@ -5,6 +5,19 @@
|
||||
|
||||
---
|
||||
|
||||
## 0b. 완료 조건
|
||||
|
||||
모든 작업은 아래 4가지 증빙이 함께 있을 때만 완료로 본다.
|
||||
|
||||
- `YAML` 증빙
|
||||
- `코드` 증빙
|
||||
- `데이터 실체` 증빙
|
||||
- `검증 증빙`
|
||||
|
||||
하나라도 빠지면 완료로 보지 않는다.
|
||||
|
||||
---
|
||||
|
||||
## 0. 프로젝트 비전 & 방향성
|
||||
|
||||
### 핵심 목표
|
||||
@@ -23,7 +36,7 @@
|
||||
| **D2 공식 결정론** | 149개 공식 ID 전부 lifecycle 등록 | 269개 등록 (100%) ✅ |
|
||||
| **D3 리스크 제어** | Core/Satellite/Cash 버킷 밴드 위반 0건 | RISK_ON 밴드 내 유지 중 |
|
||||
| **D4 알파 피드백** | 예측→실현 수익 루프 30건 이상 누적 | 0건 (DATA_GATED ~2026-07-15) |
|
||||
| **D5 실행 자동화** | run_all 1회 실행으로 전체 파이프라인 완결 | 55단계 DAG 구축 완료 ✅ |
|
||||
| **D5 실행 자동화** | run_all 1회 실행으로 전체 파이프라인 완결 | 98단계 DAG 구축 완료 ✅ |
|
||||
|
||||
---
|
||||
|
||||
@@ -252,6 +265,7 @@ RS_Line_20D_Slope = RS_Pct_20D의 5일 이동평균 변화율
|
||||
| **공식 ID** | `FLOW_CREDIT_V1`, `SECTOR_ROTATION_MOMENTUM_V1` |
|
||||
| **현재 상태** | sector_flow_history 탭 존재, 데이터 누적 중 |
|
||||
| **신호 로직** | 최근 5일 기관 순매수 상위 섹터 → Flow_Credit 가중치 부여 |
|
||||
| **진척 아티팩트** | `Temp/sector_flow_history_progress_v1.json` |
|
||||
| **상태** | 부분 구현 (일일 누적 필요) |
|
||||
|
||||
**성공 하네스 (데이터 기준)**:
|
||||
@@ -259,7 +273,7 @@ RS_Line_20D_Slope = RS_Pct_20D의 5일 이동평균 변화율
|
||||
검증: sector_flow_history 행 수 ≥ 30 × 섹터 수
|
||||
Flow_Credit IS NOT NULL for 보유 종목 100%
|
||||
Flow_Credit 범위: [0.0, 1.0]
|
||||
현재: Flow_Credit 일부 NULL → 30일 데이터 누적 후 재검증
|
||||
현재: sector_flow_history = 3일 / 30일, Flow_Credit 25/25 non-null → 30일 데이터 누적 후 재검증
|
||||
```
|
||||
|
||||
---
|
||||
@@ -361,6 +375,7 @@ MDD = (peak_total_asset - current_total_asset) / peak_total_asset × 100
|
||||
| **공식 ID** | `ALPHA_FEEDBACK_LOOP_V2` (lifecycle: DATA_GATED) |
|
||||
| **활성화 조건** | live_t20_count ≥ 30 건 (~2026-07-15 예상) |
|
||||
| **담당 파일** | `tools/build_operational_t20_outcome_ledger_v1.py` |
|
||||
| **진척 아티팩트** | `Temp/data_gated_progress_v1.json` |
|
||||
| **현재 상태** | 스키마 완성, 데이터 0건 |
|
||||
|
||||
**성공 하네스 (데이터 기준)**:
|
||||
@@ -557,7 +572,7 @@ CI 게이트:
|
||||
|
||||
신호 품질:
|
||||
RS 신호 커버리지: 100% → 목표: 100% ✅ (WBS-2.3 완료)
|
||||
Flow_Credit 커버리지: 60% → 목표: 100% (WBS-2.5 DATA_GATED)
|
||||
Flow_Credit 커버리지: 100% (data_feed 25/25) → 목표: 100% (WBS-2.5 DATA_GATED)
|
||||
PEG_Gate 커버리지: 75% → 목표: 80% (WBS-2.4 완료, 음수성장 2종목 제외)
|
||||
섹터 유니버스 갱신 gate: PASS ✅ (naver_rows=100, representative_rows=12)
|
||||
|
||||
@@ -573,7 +588,7 @@ CI 게이트:
|
||||
honest_proof_score: 50.95 → 목표: ≥70 (T+20 30건 → 70.95 자동 달성 예상)
|
||||
|
||||
자동화:
|
||||
run_all 성공률: 87단계 DAG PASS → 목표: ≥95% ✅ (step_count=87, wave_0~9)
|
||||
run_all 성공률: 98단계 DAG PASS → 목표: ≥95% ✅ (step_count=98, wave_0~9)
|
||||
CI/CD 커버리지: 100% → 목표: 100% ✅ (Synology act_runner 온라인, 4게이트 PASS)
|
||||
수동 개입 횟수: 매일 → 목표: ≤1회/주 (setupDailyRunAllTrigger 설정 후)
|
||||
```
|
||||
|
||||
@@ -11,3 +11,8 @@ This repository is a deterministic quant engine.
|
||||
- GAS is an adapter layer, not a business-logic layer.
|
||||
- Prompts are copy-only renderers and must not compute prices, quantities, or thresholds.
|
||||
|
||||
## Completion Harness
|
||||
|
||||
- A task is complete only when `YAML`, `code`, `data artifact`, and `validation evidence` all exist together.
|
||||
- Missing any one of the four means the task is incomplete.
|
||||
|
||||
|
||||
+1
-1
@@ -5,4 +5,4 @@
|
||||
3. Generate canonical artifacts through the builder scripts only.
|
||||
4. Render reports from canonical data only.
|
||||
5. Package upload artifacts only after the full gate passes or the output is explicitly audit-only.
|
||||
|
||||
6. Treat work as complete only when YAML, code, data artifacts, and validation evidence all exist together.
|
||||
|
||||
+17
-5
@@ -16,6 +16,18 @@
|
||||
"ops:package": "python tools/refresh_trading_calendar.py && python tools/prepare_upload_zip.py --validation-mode release --profile",
|
||||
"prepare-upload-zip": "python tools/refresh_trading_calendar.py && python tools/prepare_upload_zip.py",
|
||||
"ops:audit": "python tools/harness_coverage_auditor.py",
|
||||
"build-prediction-accuracy-harness": "python tools/build_prediction_accuracy_harness_v2.py",
|
||||
"build-alpha-feedback-loop": "python tools/build_alpha_feedback_loop_v2.py",
|
||||
"build-operational-alpha-calibration": "python tools/build_operational_alpha_calibration_v2.py",
|
||||
"build-sector-flow-history-progress": "python tools/build_sector_flow_history_progress_v1.py",
|
||||
"validate-data-gated-progress": "python tools/validate_data_gated_progress_v1.py",
|
||||
"build-realized-performance": "python tools/build_realized_performance_v1.py",
|
||||
"validate-completion-harness": "python tools/validate_completion_harness_instructions_v1.py",
|
||||
"validate-prediction-accuracy-harness": "python tools/validate_prediction_accuracy_harness_v2.py",
|
||||
"validate-alpha-feedback-loop": "python tools/validate_alpha_feedback_loop_v2.py",
|
||||
"validate-operational-alpha-calibration": "python tools/validate_operational_alpha_calibration_v2.py",
|
||||
"validate-sector-flow-history-progress": "python tools/validate_sector_flow_history_progress_v1.py",
|
||||
"validate-realized-performance": "python tools/validate_realized_performance_v1.py",
|
||||
"validate-gas-recovery": "python tools/validate_gas_orchestration_recovery_v1.py",
|
||||
"ops:clean": "python tools/clean_temp_artifacts_v1.py",
|
||||
"ops:dev": "node core_satellite_collector.js",
|
||||
@@ -26,14 +38,14 @@
|
||||
"render-report-json": "python tools/render_operational_report.py --json GatherTradingData.json --output Temp/operational_report.md --report-json-output Temp/operational_report.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"cheerio": "latest",
|
||||
"cheerio": "1.2.0",
|
||||
"googleapis": "^171.4.0",
|
||||
"iconv-lite": "latest",
|
||||
"yahoo-finance2": "latest"
|
||||
"iconv-lite": "0.7.2",
|
||||
"yahoo-finance2": "3.15.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"adm-zip": "latest",
|
||||
"fast-xml-parser": "latest"
|
||||
"adm-zip": "0.5.17",
|
||||
"fast-xml-parser": "5.8.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"xlsx": "^0.18.5"
|
||||
|
||||
@@ -13,6 +13,17 @@ Use this prompt when producing an investment analysis or HTS-ready playbook.
|
||||
- HTS 즉시 입력 가능 여부는 제안과 분리해 별도 표로 표시한다.
|
||||
- 실행 차단이라도 사용자 판단용 `proposal_reference_sheet`는 숨기지 않는다.
|
||||
|
||||
## DEFAULT COMPLETION HARNESS
|
||||
|
||||
이 프롬프트로 수행하는 모든 작업은 아래 4가지를 모두 충족해야 완료로 본다.
|
||||
|
||||
1. `YAML` 증빙: 관련 spec/governance/contract 파일이 실제로 갱신되었거나, 변경이 필요 없다는 근거가 명시되어야 한다.
|
||||
2. `코드` 증빙: `src/` 또는 `tools/`의 canonical 코드 변경이 있거나, 변경이 없다는 근거가 명시되어야 한다.
|
||||
3. `데이터 실체` 증빙: `Temp/`, `GatherTradingData.xlsx`, `GatherTradingData.json`, `runtime/` 등 실제 데이터 또는 산출물이 갱신되었거나, 변경이 없다는 근거가 명시되어야 한다.
|
||||
4. `검증 증빙`: 재현 가능한 검증 명령과 결과가 제시되어야 한다.
|
||||
|
||||
하나라도 빠지면 완료로 간주하지 않는다. 요약이나 해설만으로는 완료 판정할 수 없다.
|
||||
|
||||
## CRITICAL — QUANTITATIVE_EXPERT_HARNESS (QEH) — 전문사 정밀도 강제
|
||||
|
||||
`data._harness_context`가 JSON에 존재하면 아래 규칙을 **절대적으로** 따른다.
|
||||
|
||||
@@ -3,6 +3,16 @@
|
||||
HTS 캡처 이미지가 제공되면 이 프롬프트를 **분석보다 먼저** 실행한다.
|
||||
출력 순서: ① 화면판별 → ② 검증 → ③ 충돌감지·캡처우선 선언 → ④ TSV붙여넣기 → ⑤ account_snapshot 상태갱신 → ⑥ 현금요약 → ⑦ 인라인재산출 → ⑧ 다음단계
|
||||
|
||||
## 기본 완료 조건
|
||||
|
||||
작업 완료는 다음 4개가 함께 있어야 한다.
|
||||
- `YAML` 증빙
|
||||
- `코드` 증빙
|
||||
- `데이터 실체` 증빙
|
||||
- `검증 증빙`
|
||||
|
||||
하나라도 빠지면 완료로 보지 않는다.
|
||||
|
||||
---
|
||||
|
||||
## STEP 1 — 화면 종류 판별
|
||||
|
||||
@@ -7,6 +7,10 @@ You are the investment audit renderer for the retirement-asset portfolio engine.
|
||||
- Do not calculate prices, quantities, cash shortfall, or gates.
|
||||
- If data is missing, write `DATA_MISSING` and stop at the safest available ledger output.
|
||||
|
||||
## Default Completion Harness
|
||||
- Complete only when `YAML`, `code`, `data artifact`, and `validation evidence` all exist together.
|
||||
- If any one of the four is missing, the task is incomplete.
|
||||
|
||||
## Authority Rules
|
||||
- `global_execution_gate` is the top-level decision.
|
||||
- If the gate is `AUDIT_ONLY`, render Shadow Ledger only.
|
||||
|
||||
@@ -7,6 +7,10 @@ You are the investment audit renderer for the retirement-asset portfolio engine.
|
||||
- Do not calculate prices, quantities, cash shortfall, gates, or scores.
|
||||
- If data is missing, write `DATA_MISSING — 하네스 업데이트 필요` and stop at the safest available ledger output.
|
||||
|
||||
## Default Completion Harness
|
||||
- A task is complete only when `YAML`, `code`, `data artifact`, and `validation evidence` are all present.
|
||||
- Missing any one of the four means the task remains incomplete.
|
||||
|
||||
## Authority Order
|
||||
1. `Temp/final_decision_packet_active.json`
|
||||
2. `GatherTradingData.json:data._harness_context`
|
||||
|
||||
@@ -6,4 +6,4 @@ Audit only.
|
||||
- Do not invent missing numeric values.
|
||||
- Flag stale or deprecated inputs as invalid.
|
||||
- Separate live, replay, and informational outputs.
|
||||
|
||||
- A task is not complete unless YAML, code, data artifact, and validation evidence all exist together.
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
You are a copy-only report renderer. Do not perform any calculations or estimate any numbers.
|
||||
Read the data only from `Temp/final_context_for_llm_v5.yaml` (or active manifests).
|
||||
|
||||
## Default Completion Harness
|
||||
- Complete only when `YAML`, `code`, `data artifact`, and `validation evidence` are all present.
|
||||
- Do not mark a task complete if any one of the four is missing.
|
||||
|
||||
## Execution Protocol
|
||||
1. Check `global_execution_gate`. If it is not `PASS`, output a block alert.
|
||||
2. Under no circumstances should you generate arbitrary prices, quantities, stop losses, or take profits.
|
||||
|
||||
@@ -6,4 +6,4 @@ Render only.
|
||||
- Do not compute prices, quantities, thresholds, or scores.
|
||||
- If a value is missing, render `DATA_MISSING`.
|
||||
- Do not reconcile conflicting sources.
|
||||
|
||||
- A task is complete only when YAML, code, data artifact, and validation evidence are all available together.
|
||||
|
||||
@@ -16,6 +16,17 @@ Review priority:
|
||||
`alpha_lead_table`, `anti_distribution_table`, `profit_preservation_table`, `smart_cash_raise_table`, `execution_quality_table`.
|
||||
10. Verify `routing_serving_trace` appears before `QEH_AUDIT_BLOCK`, and both appear before `concise_hts_input_sheet`.
|
||||
|
||||
## Default Completion Harness
|
||||
|
||||
Do not treat a task as complete unless the change is evidenced in all four forms:
|
||||
|
||||
1. YAML or contract evidence in `spec/` or `governance/`
|
||||
2. Canonical code evidence in `src/` or `tools/`
|
||||
3. Concrete data/artifact evidence in `Temp/`, `GatherTradingData.xlsx`, `GatherTradingData.json`, or `runtime/`
|
||||
4. Reproducible validation evidence from command output or generated validation artifacts
|
||||
|
||||
If any one of the four is missing, call out the task as incomplete.
|
||||
|
||||
Return findings first, ordered by severity.
|
||||
If no findings exist, state that explicitly and list residual risks or missing tests.
|
||||
|
||||
|
||||
@@ -8,6 +8,10 @@ Strictly adhere to the following rules:
|
||||
3. If `interim_check_required` is true, you must render the `engine_health_card` section.
|
||||
4. Keep the reporting format standardized.
|
||||
|
||||
## Default Completion Harness
|
||||
- The report task is complete only when `YAML`, `code`, `data artifact`, and `validation evidence` are all present.
|
||||
- Missing any one of the four means the task remains incomplete.
|
||||
|
||||
## Layout Order
|
||||
1. engine_health_card
|
||||
2. global_gate_and_cash_defense
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for ABSOLUTE_RISK_STOP_V1."""
|
||||
|
||||
FORMULA_ID = 'ABSOLUTE_RISK_STOP_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['holdings', 'df_map']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for ALGORITHM_GUIDANCE_PROOF_V1."""
|
||||
|
||||
FORMULA_ID = 'ALGORITHM_GUIDANCE_PROOF_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for ALPHA_EVALUATION_WINDOW_V1."""
|
||||
|
||||
FORMULA_ID = 'ALPHA_EVALUATION_WINDOW_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['entry_date', 'position_class', 't20_return_pct', 't60_return_pct', 'benchmark_core_return_pct']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for ALPHA_FEEDBACK_LOOP_V1."""
|
||||
|
||||
FORMULA_ID = 'ALPHA_FEEDBACK_LOOP_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['alpha_evaluation_window_json', 'saqg_v1', 'brt_verdict', 'market_regime']
|
||||
FORMULA_OUTPUT_FIELDS = [{'field': 'alpha_feedback_json', 'subfields': ['eligible_t20_fail_rate', 'eligible_t60_fail_rate', 'recommended_filter_adjustments', 'cases_analyzed']}]
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for ANTI_CHASE_V1."""
|
||||
|
||||
FORMULA_ID = 'ANTI_CHASE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for ANTI_CHASING_VELOCITY_V1."""
|
||||
|
||||
FORMULA_ID = 'ANTI_CHASING_VELOCITY_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['close', 'close_1d_ago', 'close_5d_ago', 'market_regime']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for ANTI_LATE_ENTRY_GATE_V2."""
|
||||
|
||||
FORMULA_ID = 'ANTI_LATE_ENTRY_GATE_V2'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for ANTI_WHIPSAW_GATE_V1."""
|
||||
|
||||
FORMULA_ID = 'ANTI_WHIPSAW_GATE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['close_price', 'ma20', 'rsi14']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for ARTIFACT_FRESHNESS_GATE_V1."""
|
||||
|
||||
FORMULA_ID = 'ARTIFACT_FRESHNESS_GATE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'data_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for AUDIT_REPLAY_SNAPSHOT_V1."""
|
||||
|
||||
FORMULA_ID = 'AUDIT_REPLAY_SNAPSHOT_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for BENCHMARK_RELATIVE_TIMESERIES_V1."""
|
||||
|
||||
FORMULA_ID = 'BENCHMARK_RELATIVE_TIMESERIES_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['price.ret5D', 'price.ret20D', 'price.ret60D', 'price.close', 'high52w', 'globalKospiRet5D_', 'globalKospiRet20D_', 'globalKospiRet60D_', 'globalKospiDrawdown_']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for BLANK_CELL_AUDIT_V1."""
|
||||
|
||||
FORMULA_ID = 'BLANK_CELL_AUDIT_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['operational_report_json']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for BREAKEVEN_RATCHET_V1."""
|
||||
|
||||
FORMULA_ID = 'BREAKEVEN_RATCHET_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['average_cost', 'highest_price_since_entry']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"""Auto-generated formula stub for BREAKOUT_FAILURE_STOP_V1."""
|
||||
|
||||
FORMULA_ID = 'BREAKOUT_FAILURE_STOP_V1'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['prior_high', 'close_price', 'days_since_breakout']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
def execute(inputs: dict[str, object]) -> dict[str, object]:
|
||||
raise NotImplementedError('BREAKOUT_FAILURE_STOP_V1' + ' is a generated stub.')
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for BREAKOUT_QUALITY_GATE_V2."""
|
||||
|
||||
FORMULA_ID = 'BREAKOUT_QUALITY_GATE_V2'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['close', 'ma20', 'ret_3d', 'ret_1d', 'disparity', 'rsi14', 'volume', 'avg_volume_5d', 'timing_score_exit', 'distribution_risk_score', 'late_chase_risk_score']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CANONICAL_ARTIFACT_RESOLVER_V1."""
|
||||
|
||||
FORMULA_ID = 'CANONICAL_ARTIFACT_RESOLVER_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CANONICAL_METRICS_V1."""
|
||||
|
||||
FORMULA_ID = 'CANONICAL_METRICS_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CAPITAL_STYLE_ALLOCATION_V1."""
|
||||
|
||||
FORMULA_ID = 'CAPITAL_STYLE_ALLOCATION_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['smart_money_flow_signal_v2_json', 'fundamental_multifactor_v3_json', 'macro_event_ticker_impact_v1_json', 'liquidity_flow_signal_v1_json']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CASH_CREATION_PURPOSE_LOCK_V1."""
|
||||
|
||||
FORMULA_ID = 'CASH_CREATION_PURPOSE_LOCK_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['composite_verdict', 'rs_verdict', 'brt_verdict', 'excess_drawdown_pctp', 'recovery_ratio_20d', 'sfg_v1']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CASH_FLOOR_V1."""
|
||||
|
||||
FORMULA_ID = 'CASH_FLOOR_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['total_asset', 'settlement_cash_d2_krw', 'market_risk_score']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CASH_RAISE_PARETO_EXECUTOR_V2."""
|
||||
|
||||
FORMULA_ID = 'CASH_RAISE_PARETO_EXECUTOR_V2'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CASH_RAISE_VALUE_OPTIMIZER_V3."""
|
||||
|
||||
FORMULA_ID = 'CASH_RAISE_VALUE_OPTIMIZER_V3'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CASH_RATIOS_V1."""
|
||||
|
||||
FORMULA_ID = 'CASH_RATIOS_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['settlement_cash', 'reserved_order_amount', 'planned_buy_amount', 'sell_cash_proceeds_d2', 'total_asset']
|
||||
FORMULA_OUTPUT_FIELDS = {'settlement_cash_ratio': 'settlement_cash / total_asset * 100', 'total_cash_ratio': 'settlement_cash / total_asset * 100', 'buy_power_cash': 'settlement_cash - reserved_order_amount', 'buy_power_ratio': '(settlement_cash - reserved_order_amount) / total_asset * 100', 'post_trade_total_cash_ratio': '(settlement_cash - planned_buy_amount + sell_cash_proceeds_d2) / total_asset * 100'}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CASH_RECOVERY_OPTIMIZER_V1."""
|
||||
|
||||
FORMULA_ID = 'CASH_RECOVERY_OPTIMIZER_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['cash_shortfall_target_krw', 'cash_shortfall_min_krw', 'sell_candidates_json', 'immediate_sell_qty', 'sell_limit_price', 'holding_qty']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CASH_RECOVERY_OPTIMIZER_V4."""
|
||||
|
||||
FORMULA_ID = 'CASH_RECOVERY_OPTIMIZER_V4'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CASH_RECOVERY_V1."""
|
||||
|
||||
FORMULA_ID = 'CASH_RECOVERY_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CASHFLOW_QUALITY_SIGNAL_V1."""
|
||||
|
||||
FORMULA_ID = 'CASHFLOW_QUALITY_SIGNAL_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CASHFLOW_STABILITY_GATE_V1."""
|
||||
|
||||
FORMULA_ID = 'CASHFLOW_STABILITY_GATE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['operating_cf_krw', 'free_cf_krw', 'accrual_ratio_pct']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CLA_REGIME_EXIT_CONDITION_V1."""
|
||||
|
||||
FORMULA_ID = 'CLA_REGIME_EXIT_CONDITION_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['ticker', 'rs_verdict', 'brt_verdict', 'frg_5d_sh', 'volume', 'avg_volume_5d', 'market_regime']
|
||||
FORMULA_OUTPUT_FIELDS = [{'field': 'cla_exit_status', 'unit': 'enum [CLA_ACTIVE,CLA_EXIT_WARNING,CLA_EXIT_CONFIRMED]'}, {'field': 'cla_exit_signals_triggered', 'unit': 'list'}, {'field': 'cla_exit_total_weight', 'unit': 'int'}]
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for COMPLETION_GAP_V1."""
|
||||
|
||||
FORMULA_ID = 'COMPLETION_GAP_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for COMPOSITE_VERDICT_V1."""
|
||||
|
||||
FORMULA_ID = 'COMPOSITE_VERDICT_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'report_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['ss001_grade', 'rs_verdict']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for COMPREHENSIVE_PROPOSAL_V1."""
|
||||
|
||||
FORMULA_ID = 'COMPREHENSIVE_PROPOSAL_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"""Auto-generated formula stub for CONSECUTIVE_STREAK_V1."""
|
||||
|
||||
FORMULA_ID = 'CONSECUTIVE_STREAK_V1'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['daily_close_changes']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
def execute(inputs: dict[str, object]) -> dict[str, object]:
|
||||
raise NotImplementedError('CONSECUTIVE_STREAK_V1' + ' is a generated stub.')
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CONTINUOUS_EVALUATION_DASHBOARD_V1."""
|
||||
|
||||
FORMULA_ID = 'CONTINUOUS_EVALUATION_DASHBOARD_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for CROSS_SECTION_CONSISTENCY_V1."""
|
||||
|
||||
FORMULA_ID = 'CROSS_SECTION_CONSISTENCY_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DATA_INTEGRITY_100_LOCK_V1."""
|
||||
|
||||
FORMULA_ID = 'DATA_INTEGRITY_100_LOCK_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'data_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DATA_INTEGRITY_100_LOCK_V2."""
|
||||
|
||||
FORMULA_ID = 'DATA_INTEGRITY_100_LOCK_V2'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'data_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DATA_INTEGRITY_SCORE_V1."""
|
||||
|
||||
FORMULA_ID = 'DATA_INTEGRITY_SCORE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'data_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DATA_MATURITY_TRUTH_GATE_V1."""
|
||||
|
||||
FORMULA_ID = 'DATA_MATURITY_TRUTH_GATE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'data_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DATA_MATURITY_TRUTH_GATE_VALIDATOR_V1."""
|
||||
|
||||
FORMULA_ID = 'DATA_MATURITY_TRUTH_GATE_VALIDATOR_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'data_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DATA_QUALITY_GATE_V2_PY."""
|
||||
|
||||
FORMULA_ID = 'DATA_QUALITY_GATE_V2_PY'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'data_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DATA_QUALITY_GATE_V3."""
|
||||
|
||||
FORMULA_ID = 'DATA_QUALITY_GATE_V3'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'data_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DETERMINISTIC_ROUTING_ENGINE_V1."""
|
||||
|
||||
FORMULA_ID = 'DETERMINISTIC_ROUTING_ENGINE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['harness_context']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DISTRIBUTION_SELL_DETECTOR_V1."""
|
||||
|
||||
FORMULA_ID = 'DISTRIBUTION_SELL_DETECTOR_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['close', 'high52w', 'avg_volume_5d', 'volume', 'ret5d', 'flow_credit', 'frg_5d_sh', 'inst_5d_sh', 'rsi14', 'obv_slope_20d']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DIVERGENCE_SCORE_V1."""
|
||||
|
||||
FORMULA_ID = 'DIVERGENCE_SCORE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['close_price', 'ma20', 'frg_5d_sh', 'inst_5d_sh', 'flow_credit', 'frg_20d_sh']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DRAWDOWN_GUARD_V1."""
|
||||
|
||||
FORMULA_ID = 'DRAWDOWN_GUARD_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'data_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['win_loss_streak_state', 'win_loss_streak_buy_scale']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for DYNAMIC_HEAT_GATE_V1."""
|
||||
|
||||
FORMULA_ID = 'DYNAMIC_HEAT_GATE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['market_regime', 'total_heat_pct']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for EARNINGS_GROWTH_QUALITY_GATE_V1."""
|
||||
|
||||
FORMULA_ID = 'EARNINGS_GROWTH_QUALITY_GATE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['eps_growth_qoq_pct', 'eps_growth_yoy_pct']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for EARNINGS_QUALITY_SIGNAL_V1."""
|
||||
|
||||
FORMULA_ID = 'EARNINGS_QUALITY_SIGNAL_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for ECP_RISK_SCALE_V1."""
|
||||
|
||||
FORMULA_ID = 'ECP_RISK_SCALE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['total_asset', 'total_asset_ma10']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for EJCE_DIVERGENCE_AUDIT_V1."""
|
||||
|
||||
FORMULA_ID = 'EJCE_DIVERGENCE_AUDIT_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for EJCE_VIEW_RENDERER_V1."""
|
||||
|
||||
FORMULA_ID = 'EJCE_VIEW_RENDERER_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'report_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['ejce_json', 'alpha_lead_json', 'breakout_quality_gate_json', 'anti_chasing_velocity_json', 'heat_concentration_json', 'portfolio_alpha_confidence']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for ENTRY_TIMING_DECILE_FACTOR_V1."""
|
||||
|
||||
FORMULA_ID = 'ENTRY_TIMING_DECILE_FACTOR_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['buy_timing_score', 't5_ledger', 'cut_decile']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"""Auto-generated formula stub for EXECUTION_CAPACITY_LADDER_V1."""
|
||||
|
||||
FORMULA_ID = 'EXECUTION_CAPACITY_LADDER_V1'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['planned_order_amount_krw', 'avg_trade_value_20d_krw', 'intraday_trade_value_krw', 'orderbook_top3_depth_krw', 'spread_bps']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
def execute(inputs: dict[str, object]) -> dict[str, object]:
|
||||
raise NotImplementedError('EXECUTION_CAPACITY_LADDER_V1' + ' is a generated stub.')
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for EXECUTION_METHOD_LADDER_V1."""
|
||||
|
||||
FORMULA_ID = 'EXECUTION_METHOD_LADDER_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['sell_timing_verdict', 'sell_waterfall_gate', 'smart_cash_recovery_gate']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"""Auto-generated formula stub for EXECUTION_PLAN_COMPILER_V1."""
|
||||
|
||||
FORMULA_ID = 'EXECUTION_PLAN_COMPILER_V1'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['order_capacity_krw', 'revalidation_snapshot', 'baseline_snapshot']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
def execute(inputs: dict[str, object]) -> dict[str, object]:
|
||||
raise NotImplementedError('EXECUTION_PLAN_COMPILER_V1' + ' is a generated stub.')
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for EXECUTION_QUALITY_SCORE_V1."""
|
||||
|
||||
FORMULA_ID = 'EXECUTION_QUALITY_SCORE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for EXPECTED_EDGE_V1."""
|
||||
|
||||
FORMULA_ID = 'EXPECTED_EDGE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['target_price', 'entry_price', 'stop_price', 'bayesian_confidence_multiplier', 'execution_cost_rate']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"""Auto-generated formula stub for FIFTY_TWO_WEEK_HIGH_TRIGGER_V1."""
|
||||
|
||||
FORMULA_ID = 'FIFTY_TWO_WEEK_HIGH_TRIGGER_V1'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['close_price', 'high52w']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
def execute(inputs: dict[str, object]) -> dict[str, object]:
|
||||
raise NotImplementedError('FIFTY_TWO_WEEK_HIGH_TRIGGER_V1' + ' is a generated stub.')
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for FINAL_JUDGMENT_GATE_V1."""
|
||||
|
||||
FORMULA_ID = 'FINAL_JUDGMENT_GATE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'report_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for FINANCIAL_HEALTH_SCORE_V1."""
|
||||
|
||||
FORMULA_ID = 'FINANCIAL_HEALTH_SCORE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['roe_pct', 'operating_margin_pct', 'debt_to_equity', 'fcf_b', 'sector_type']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for FLOW_ACCELERATION_V1."""
|
||||
|
||||
FORMULA_ID = 'FLOW_ACCELERATION_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['frg_5d_sh', 'frg_20d_sh', 'close_price', 'ma20']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for FLOW_CREDIT_V1."""
|
||||
|
||||
FORMULA_ID = 'FLOW_CREDIT_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['close_price', 'open_price', 'previous_close_price', 'volume', 'avg_volume_5d', 'frg_5d_sh', 'inst_5d_sh', 'flow_ok']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for FOLLOW_THROUGH_DAY_CONFIRM_V1."""
|
||||
|
||||
FORMULA_ID = 'FOLLOW_THROUGH_DAY_CONFIRM_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['days_since_breakout', 'ret_since_breakout', 'vol_today', 'vol_breakout_day', 'close', 'ma20']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"""Auto-generated formula stub for FORECAST_SIMULATION_ENGINE_V1."""
|
||||
|
||||
FORMULA_ID = 'FORECAST_SIMULATION_ENGINE_V1'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['net_profit_distribution_after_tax_fee_slippage', 'sample_count_total', 'sample_count_same_regime', 'execution_mode']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
def execute(inputs: dict[str, object]) -> dict[str, object]:
|
||||
raise NotImplementedError('FORECAST_SIMULATION_ENGINE_V1' + ' is a generated stub.')
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for FUNDAMENTAL_MULTI_FACTOR_SCORE_V2."""
|
||||
|
||||
FORMULA_ID = 'FUNDAMENTAL_MULTI_FACTOR_SCORE_V2'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['roe_pct', 'opm_pct', 'revenue_growth_pct', 'op_income_growth_pct', 'market_share_proxy_pct', 'operating_cf_krw', 'free_cf_krw', 'debt_ratio_pct']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for FUNDAMENTAL_MULTIFACTOR_V3."""
|
||||
|
||||
FORMULA_ID = 'FUNDAMENTAL_MULTIFACTOR_V3'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for FUNDAMENTAL_QUALITY_GATE_V1."""
|
||||
|
||||
FORMULA_ID = 'FUNDAMENTAL_QUALITY_GATE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['roe_pct', 'op_income_growth_pct', 'debt_ratio_pct', 'operating_cf_krw', 'pe_ttm']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for FUNDAMENTAL_RAW_INGEST_V1."""
|
||||
|
||||
FORMULA_ID = 'FUNDAMENTAL_RAW_INGEST_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'data_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"""Auto-generated formula stub for GOLDEN_CROSS_SIGNAL_V1."""
|
||||
|
||||
FORMULA_ID = 'GOLDEN_CROSS_SIGNAL_V1'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['ma20', 'ma20_prev', 'ma60', 'ma60_prev']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
def execute(inputs: dict[str, object]) -> dict[str, object]:
|
||||
raise NotImplementedError('GOLDEN_CROSS_SIGNAL_V1' + ' is a generated stub.')
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for GROWTH_RATE_SIGNAL_V1."""
|
||||
|
||||
FORMULA_ID = 'GROWTH_RATE_SIGNAL_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for HARNESS_DATA_FRESHNESS_GATE_V1."""
|
||||
|
||||
FORMULA_ID = 'HARNESS_DATA_FRESHNESS_GATE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'data_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['metadata.generated_at', 'metadata.market_date', 'today_date']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for HEAT_CONCENTRATION_ALERT_V1."""
|
||||
|
||||
FORMULA_ID = 'HEAT_CONCENTRATION_ALERT_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['heat_share_pct']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for HORIZON_ALLOCATION_LOCK_V1."""
|
||||
|
||||
FORMULA_ID = 'HORIZON_ALLOCATION_LOCK_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['invest_horizon', 'market_value_krw', 'total_asset_krw']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for HORIZON_CLASSIFICATION_V1."""
|
||||
|
||||
FORMULA_ID = 'HORIZON_CLASSIFICATION_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"""Auto-generated formula stub for IMMUTABLE_DECISION_LEDGER_V1."""
|
||||
|
||||
FORMULA_ID = 'IMMUTABLE_DECISION_LEDGER_V1'
|
||||
FORMULA_OWNER = 'report_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['decision_id', 'input_hash_bundle', 'execution_mode', 'candidate_ids', 'selected_transition_id']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
def execute(inputs: dict[str, object]) -> dict[str, object]:
|
||||
raise NotImplementedError('IMMUTABLE_DECISION_LEDGER_V1' + ' is a generated stub.')
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for INTRADAY_ACTION_MATRIX_V1."""
|
||||
|
||||
FORMULA_ID = 'INTRADAY_ACTION_MATRIX_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['capture_time', 'market_date']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for INVESTMENT_QUALITY_HEADLINE_V1."""
|
||||
|
||||
FORMULA_ID = 'INVESTMENT_QUALITY_HEADLINE_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'report_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for K2_STAGED_REBOUND_SELL_V1."""
|
||||
|
||||
FORMULA_ID = 'K2_STAGED_REBOUND_SELL_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['base_sell_qty', 'previous_close_price', 'atr20']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
"""Auto-generated formula stub for LEADER_LIFECYCLE_GATE_V1."""
|
||||
|
||||
FORMULA_ID = 'LEADER_LIFECYCLE_GATE_V1'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['relative_strength_leads_sector', 'volume_quality_confirmed', 'above_ma60_or_reclaim_confirmed', 'earnings_revision_status', 'institutional_flow_status', 'current_role']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
def execute(inputs: dict[str, object]) -> dict[str, object]:
|
||||
raise NotImplementedError('LEADER_LIFECYCLE_GATE_V1' + ' is a generated stub.')
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for LEADER_POSITION_WEIGHT_CAP_V1."""
|
||||
|
||||
FORMULA_ID = 'LEADER_POSITION_WEIGHT_CAP_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'quant_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['single_position_weight_json', 'market_regime']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for LIQUIDITY_FLOW_SIGNAL_V1."""
|
||||
|
||||
FORMULA_ID = 'LIQUIDITY_FLOW_SIGNAL_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for LLM_NARRATIVE_TEMPLATE_LOCK_V1."""
|
||||
|
||||
FORMULA_ID = 'LLM_NARRATIVE_TEMPLATE_LOCK_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'report_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = []
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Auto-generated formula stub for LLM_SERVING_CONSTRAINT_V1."""
|
||||
|
||||
FORMULA_ID = 'LLM_SERVING_CONSTRAINT_V1'
|
||||
FORMULA_OWNER = 'TODO_REQUIRED'
|
||||
FORMULA_STATUS = 'TODO_REQUIRED'
|
||||
FORMULA_OWNER = 'engine_owner'
|
||||
FORMULA_STATUS = 'active'
|
||||
FORMULA_INPUT_FIELDS = ['harness_context']
|
||||
FORMULA_OUTPUT_FIELDS = []
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user