DockerSpace / tests /test_factor_skill_registry.py
DennisChan0909's picture
Backup current stock predictor strategies
ee37d63
Raw
History Blame Contribute Delete
985 Bytes
import json
from pathlib import Path
from models.factor_skill_registry import level1_catalog, level2_sops_for_active_factors, level3_scripts_for_active_factors
def test_current_overlay_exposes_44_level1_factor_skills():
payload = json.loads(Path("config/multi_factor_overlay.json").read_text())
names = list(payload["selected_config"]["weights"])
rows = level1_catalog(names)
assert len(rows) == 44
assert all(row["description"] and row["trigger"] and row["level2_sop"] for row in rows)
def test_triggered_factors_load_only_needed_sop_and_deep_scripts():
active = ["intraday_60k_volume_low_guard", "big_player_buy"]
assert level2_sops_for_active_factors(active) == [
"docs/factor_skills/group_sops.md#量價行為",
"docs/factor_skills/group_sops.md#籌碼與風險",
]
assert level3_scripts_for_active_factors(active) == [
"scripts/run_44factor_buy_gate_evaluation.py",
"data/realtime_chip_adapter.py",
]