区域市场占有率分析(陕西省证券业协会数据)
用途
基于陕西省证券业协会官网(https://www.sxsfa.org.cn/marketData/industryData)公开季度数据, 对指定地区(城市)的证券分支机构进行区域市场占有率分析,自动完成「参数确认 → 数据采集 → 分析表生成」全流程,输出符合审计底稿规范的 4-Sheet Excel 分析表。
何时使用
- 用户要求分析某地区某证券营业部的市场占有率 / 竞争地位
- 用户要求抓取陕西省证券业协会网站的分支机构季度数据
- 用户要求对标同城营业部、整理横向/纵向对比表
- 审计场景:营业部离岗/离任审计、分支机构经营分析、区域竞争格局研究
执行流程
第一步:与用户确认 5 项参数(必须逐项确认,不得跳过)
向用户确认以下参数,全部确认后方可执行。建议一次列出完整清单,请用户核对或直接回答:
| # | 参数 | 说明 | 示例 | |---|------|------|------| | 1 | 查询地区 | 城市名,可带或不带"市"后缀,脚本自动规范化 | 汉中市 / 汉中 | | 2 | 目标营业部 | 简称或全称,脚本按关键词自动匹配全称 | 汉中东大街 / 西部证券股份有限公司汉中东大街证券营业部 | | 3 | 期初季度 | 年份+季度,格式灵活(2023Q1 / 2023年一季度 / 2023-1) | 2023Q1 | | 4 | 期末季度 | 同上;期初不得晚于期末 | 2026Q2 | | 5 | 保存路径 | 生成 xlsx 与 json 数据的本地目录 | D:/区域市占率分析 |
确认方式:直接向用户复述参数清单并请其确认,或用 AskUserQuestion 分组确认。 若用户只给了部分参数,缺项主动追问,补齐后再执行。
第二步:运行采集+生成脚本
脚本位于 scripts/sxsfa_region_analysis.py,用参数模式执行(无需加载脚本内容到上下文):
python <skill_dir>/scripts/sxsfa_region_analysis.py \
--city "汉中市" --target "汉中东大街" \
--start "2023Q1" --end "2026Q2" \
--outdir "D:/区域市占率分析"
- 脚本会自动完成:城市名规范化(含"市"后缀校验)→ 季度序列生成 →
营业部级+城市级数据采集(写入
{城市}_quarterly_data.json缓存)→ 目标营业部自动匹配(精确匹配 → 关键词包含匹配,多匹配会报错列出候选)→ 生成 xlsx。 - 也可用
--interactive进入交互模式由脚本逐项提问(供用户直接命令行使用)。 - 如需自定义输出文件名:
--outname "自定义.xlsx"。 - Python 依赖:
openpyxl(见scripts/requirements.txt);其他用标准库,无需联网代理。
第三步:校验输出并反馈
- 确认 xlsx 已生成、4 个 Sheet 齐全(01_横向对比 / 02_纵向趋势 / 03_区域背景 / 04_集中度与梯队)。
- 向用户报告关键结论:目标机构综合市占率排名及变化、期初/期末客户资产、 区域合计、机构变动(退出/新进)等(脚本终端输出已包含核心信息,可直接转述)。
第四步:展示交付物
用 present_files 展示生成的 xlsx 与 json 缓存文件路径。
输出说明(4-Sheet Excel)
| Sheet | 内容 | 说明 | |-------|------|------| | 01_横向对比 | 期初 vs 期末双时点对比 | 21 列:5 指标双时点+变动率、资产市占率/综合市占率期初期末及变动、排名变化;两时点并集机构,退出/新进自动标注;目标机构行高亮 | | 02_纵向趋势 | 目标机构季度趋势 | 全部季度:资产/交易额/客户数/营收/净利润 + 4 项市占率 + 综合排名 | | 03_区域背景 | 城市级季度汇总 | 机构数/资产/交易额/客户数/营收/利润/两融/产品销售/营销人员 | | 04_集中度与梯队 | 期末季度集中度 | CR3/CR5/CR10、HHI、梯队划分(龙头/头部/腰部/尾部)、5 类风险信号 |
- 综合市占率权重:客户资产 30% + 股票基金交易额 25% + 客户数 20% + 营业收入 15% + 净利润 10%
- 样式:A4、仿宋 14pt、标题仿宋加粗 20pt(审计底稿规范)
- 数据单位:金额万元、客户数个
HTML 可视化报告(v1.2.1 新增)
除 Excel 底稿外,可将分析结果生成为自包含单文件 HTML 报告(内嵌 CSS,无外部依赖)。
何时生成
- 用户要求"生成报告""可视化报告""HTML 报告""看效果",或明确要看图形化呈现
- 用户提供了参考截图,要求按某种版式呈现分析结论
生成方式
- 以模板为骨架:复制
assets/report_template.html,保留其中全部 CSS 不动, 仅替换{{占位符}}与内容区块。禁止重写样式、禁止引入外部 CSS/JS/图片。 - 严格遵循样式规范:配色、卡片、段落、染色、响应式规则见
references/report_style_guide.md——生成前必读。 - 数据取自 Excel 分析结果或
{城市}_quarterly_data.json,勿编造。
关键硬性规则(易错,务必逐条自查)
| # | 规则 |
|---|------|
| 1 | 顶部仅 1 个 chip(数据来源),无版本徽章,hero-fields 固定 3 列(数据期间/数据范围/分析主体) |
| 2 | 紫色 hero 背景不加纹理/背景图,仅保留右上角单光晕 + 底部渐变分隔线 |
| 3 | KPI 四卡视觉完全一致:主数字 k-val 一律黑色,禁止 inline 染色与单卡特殊底色;仅 k-chg 染涨跌色 |
| 4 | 结论段落按主体分段(每个对象一个 <p>,段首 【主体名】 深棕加粗) |
| 5 | 段落内所有增减幅度必须 <b class="up"> / <b class="down"> 染色加粗,不得有裸数值 |
| 6 | 禁止 ++X%、禁止 --Xpp(应为中文冒号 净利润:-2.97pp) |
| 7 | 增长=绿(#10b981)、下降=红(#dc2626)(本报告规范,非行情涨跌色) |
| 8 | 横向条形 .hbar-val 按"期末较期初"方向整体染色加粗;表格排名变动用 chip-up/chip-down |
| 9 | 双断点响应式(1024px / 768px)必须保留 |
| 10 | 页脚注明数据来源与综合市占率口径 |
交付
用 present_files 展示 HTML(会自动打开预览面板)。交付前按
references/report_style_guide.md 第八节「生成检查清单」逐项核对。
版本历史
| 版本 | 变更 |
|------|------|
| 1.0.0 | 初版:参数确认 → 协会数据采集 → 4-Sheet Excel 分析表生成 |
| 1.2.1 | 新增 HTML 可视化报告能力:沉淀 assets/report_template.html 模板与 references/report_style_guide.md 视觉规范(顶部 4 层布局、KPI 四卡一致、分主体段落、全局涨跌染色、双断点响应式) |
注意事项
- 数据范围:网站最早可查 2022 年四季度(2022Q1-Q3 无数据)。期初早于 2022Q4 时脚本会得到空数据,需提示用户调整。
- 网络:脚本已内置 SSL 绕过与 3 次重试;接口公开无风控,但建议每季度加 0.2s 延时(脚本已内置)。
- 机构变动:期间内可能有营业部退出/新进(如国泰海通合并、区域调整),横向对比按两时点并集处理,变动情况自动标注在注2 与 Sheet4 底部。
- 目标匹配:关键词匹配到多家时会报错并列出候选全称,让用户提供更精确简称后重跑;匹配失败时同样列出该地区全部机构名单供选择。
- 缓存复用:同城市、同季度区间的 json 缓存存在时直接复用(跳过采集),换参数后自动重新采集。
- 期初/期末不在册:目标机构若期初或期末不在该地区名单,脚本会告警;横向对比表中对应时点显示"—",请向用户说明原因。
API 参考
接口细节、字段口径与返回结构见 references/api_notes.md;脚本异常排查时按该文档核对。
Scan to join WeChat group