行业景气度观察
判断一个行业"景气不景气",不能只看一两个指标。这个技能把一组景气指标(产量、库存、价格、订单……)统一换算成"景气度贡献",加权合成一个 0~100 的景气复合指数,给出"扩张 / 平稳 / 收缩"信号,并标出掉得最狠的异动指标。它是观测脚手架,不是预测。
何时使用
| 用户说法 | 是否触发 |
|---|---|
| 帮我看看这个行业景气不景气 | 是 |
| 这几个指标合成一个景气指数 | 是 |
| 现在行业是在扩张还是收缩 | 是 |
| 哪个指标掉得最厉害 | 是 |
| 帮我做个景气度观察框架 | 是 |
| 预测这个行业明年走势 / 给我行业评级、买卖建议 | 否(本技能只做观测框架,不预测、不评级、不给建议) |
输入
一组行业景气指标(JSON 文件,UTF-8),根含 industry 与 indicators:
{
"industry": "制造业",
"indicators": [
{"name": "产量", "value": 110, "prev": 100, "direction": "up_good", "weight": 0.3},
{"name": "库存", "value": 90, "prev": 100, "direction": "down_good", "weight": 0.2}
]
}
| 字段 | 含义 | 约束 |
|---|---|---|
name |
指标名 | 必填 |
value |
当期值 | 必填、数值 |
prev |
上期值 | 必填、数值 |
direction |
方向 | up_good(升为好)/down_good(降为好)/neutral(中性) |
weight |
权重 | 可选、正数,默认 1 |
子命令
observe · 景气观测(主功能)
python3 scripts/sentiment_observer.py observe --input indicators.json
python3 scripts/sentiment_observer.py observe --input indicators.json --json
输出景气复合指数、信号、各指标改善/恶化/持平与异动标记。
schema · 字段与阈值说明
python3 scripts/sentiment_observer.py schema
python3 scripts/sentiment_observer.py schema --json
合成口径
- 环比变化率 = (value − prev) / |prev|,夹取 [−1, 1];prev 为 0 时记为 0。
- 景气度贡献 = 变化率 × 方向符号(up_good/neutral 为 +1,down_good 为 −1)。
- 复合指数 = 50 + 50 × 加权均值(贡献),夹取 [0, 100];50 = 持平。
- 信号:≥60 景气扩张;<40 景气收缩;之间平稳。
- 异动:|环比变化率| > 30% 标记 ⚠。
输出与退出码
- 退出码
0:观测成功、schema 正常; - 退出码
1:指标不合法(缺 value/prev、direction 非法、weight 非正); - 退出码
2:用法或读取错误(文件不存在、缺子命令、未知子命令、JSON 解析失败)。
--json 输出:composite/signal/indicator_count/improving/worsening/flat/anomalies/indicators[]{name,change_pct,status,anomaly}。
使用示例
# 1. 平稳样本
python3 scripts/sentiment_observer.py observe --input test-samples/indicators_ok.json
# → 复合指数 52.25(平稳),4 指标:改善 3 / 恶化 1 / 持平 0,异动 0
# 2. 扩张样本
python3 scripts/sentiment_observer.py observe --input test-samples/indicators_shock.json
# → 复合指数 70.0(景气扩张),2 指标改善、异动 2 个
# 3. 收缩样本
python3 scripts/sentiment_observer.py observe --input test-samples/indicators_cool.json
# → 复合指数 35.0(景气收缩),2 指标恶化、异动 1 个(订单 -40%)
注意事项
- 是观测不是预测:复合指数是用户指标按口径换算的加权结果,描述"当期相对上期冷暖",不预测未来。
- 不评级、不给建议:本技能不对行业做投资评级、不给买卖或配置建议;如需结论请结合人工研究。
- 口径决定结论:direction 设错(把"降为好"标成"升为好")会让信号反转;prev 口径(同比/环比)要前后一致。
- 不联网取数:value/prev 需用户自己填入,工具不联网取值。
边界声明
只做行业景气度的描述与观测框架;不预测行业前景、不做投资评级、不给出买卖或配置建议;指标口径与权重来自用户输入,可能不完整或有偏差,结论需人工核对;不联网、不写文件、不修改输入;信号与阈值是便于初筛的粗线,不是预测或行业标准。