fix(HEL-356): complete Shenwan industry signal

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
总管
2026-09-09 17:59:58 +08:00
co-authored by multica-agent
parent c3881af708
commit 88411efa1c
7 changed files with 151 additions and 18 deletions
+11 -2
View File
@@ -802,7 +802,11 @@ def _market_line_scores(
{},
)
sector_quantitative_mode = str(sector.get("_quantitative_mode") or "")
actual_sector_source = str(sector.get("source") or "").startswith("tushare_")
sector_source = str(sector.get("source") or "")
actual_sector_source = (
sector_source.startswith("tushare_")
or "sw_member_equal_" in sector_source
)
if (sector.get("realtime") and actual_sector_source) or sector_quantitative_mode == "intraday":
sector_change = float(sector.get("change") or 0)
sector_change_score = _clamp(sector_change / 5, -1, 1)
@@ -831,8 +835,13 @@ def _market_line_scores(
f"成分上涨 {int(sector_up)} 家、下跌 {int(sector_down)}",
f"平均换手 {float(sector.get('turnover_rate') or 0):.2f}%,相对市场 {float(sector.get('relative_turnover') or 0):.2f}",
]
sector_change_label = (
"申万二级行业成分等权涨跌"
if "sw_member_equal_" in sector_source
else "申万二级行业官方涨跌"
)
sector_outer_evidence = [
f"申万二级行业官方涨跌 {sector_change:+.2f}%",
f"{sector_change_label} {sector_change:+.2f}%",
f"领涨 {sector.get('leader') or '--'} {float(sector.get('leading_pct') or 0):+.2f}%",
]
elif actual_sector_source or sector_quantitative_mode == "historical":
+1 -1
View File
@@ -28,7 +28,7 @@ class HeavenManualMixin:
"sector_coverage": {"line": 3, "label": "成分行情覆盖率", "unit": "%", "min": 0, "max": 100},
"sector_relative_turnover": {"line": 3, "label": "行业相对市场换手", "unit": "", "min": 0, "max": 20},
"sector_member_equal_change": {"line": 3, "label": "成分等权涨跌幅", "unit": "%", "min": -100, "max": 100},
"sector_change": {"line": 4, "label": "申万官方涨跌幅", "unit": "%", "min": -100, "max": 100},
"sector_change": {"line": 4, "label": "申万行业涨跌幅", "unit": "%", "min": -100, "max": 100},
"sector_leading_pct": {"line": [3, 4], "label": "行业领涨股涨跌幅", "unit": "%", "min": -100, "max": 100},
"market_sentiment_score": {"line": 5, "label": "市场情绪温度", "unit": "", "min": 0, "max": 100},
"market_seal_rate": {"line": 5, "label": "封板率", "unit": "%", "min": 0, "max": 100},