Back to skills
extension
Category: Data & AnalyticsNo API key required

XBJHB-Shaanxi-Securities-Market-Analyzer

陕西省证券业协会官网(www.sxsfa.org.cn)分支机构区域市场占有率分析。用户提供查询地区(城市)、目标营业部(简称或全称)、期初季度、期末季度与本地保存路径后,自动采集协会官网季度数据(营业部级+城市级),生成 4-Sheet Excel 区域市场占有率分析表(期初vs期末横向对比/纵向趋势/区域背景/集中度与梯队)。触发词:区域市场占有率、市占率分析、证券营业部分析、分支机构季度数据、营业部对标、陕西省证券业协会、sxsfa、协会网站数据抓取。

personAuthor: user_962fa9e0hubcommunity

区域市场占有率分析(陕西省证券业协会数据)

用途

基于陕西省证券业协会官网(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 报告""看效果",或明确要看图形化呈现
  • 用户提供了参考截图,要求按某种版式呈现分析结论

生成方式

  1. 以模板为骨架:复制 assets/report_template.html保留其中全部 CSS 不动, 仅替换 {{占位符}} 与内容区块。禁止重写样式、禁止引入外部 CSS/JS/图片。
  2. 严格遵循样式规范:配色、卡片、段落、染色、响应式规则见 references/report_style_guide.md——生成前必读。
  3. 数据取自 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 四卡一致、分主体段落、全局涨跌染色、双断点响应式) |

注意事项

  1. 数据范围:网站最早可查 2022 年四季度(2022Q1-Q3 无数据)。期初早于 2022Q4 时脚本会得到空数据,需提示用户调整。
  2. 网络:脚本已内置 SSL 绕过与 3 次重试;接口公开无风控,但建议每季度加 0.2s 延时(脚本已内置)。
  3. 机构变动:期间内可能有营业部退出/新进(如国泰海通合并、区域调整),横向对比按两时点并集处理,变动情况自动标注在注2 与 Sheet4 底部。
  4. 目标匹配:关键词匹配到多家时会报错并列出候选全称,让用户提供更精确简称后重跑;匹配失败时同样列出该地区全部机构名单供选择。
  5. 缓存复用:同城市、同季度区间的 json 缓存存在时直接复用(跳过采集),换参数后自动重新采集。
  6. 期初/期末不在册:目标机构若期初或期末不在该地区名单,脚本会告警;横向对比表中对应时点显示"—",请向用户说明原因。

API 参考

接口细节、字段口径与返回结构见 references/api_notes.md;脚本异常排查时按该文档核对。