一、项目概述与技术选型

1.1 项目概述

该项目基于Streamlit框架搭建一个申万行业金融数据分析平台,实现行业指数可视化、股票交易数据展示、财务指标主成分分析与综合评价的全流程交互,涵盖数据清洗、可视化、机器学习(PCA)等核心技术点。

1.2 技术选型

  • 前端与交互:Streamlit
  • 数据处理:Pandas
  • 可视化:Matplotlib
  • 机器学习:Scikit-learn
  • 数据存储:CSV/Excel

二、项目核心功能模块设计

  1. 数据处理模块(st_data函数):实现行业数据筛选、关联、可视化,返回指数走势图、股票价格图及各类分析数据。
  2. 综合评价模块(Fr函数):基于 PCA 实现财务指标的综合评分与排名。
  3. 交互展示模块(st_fig函数):通过 Streamlit 搭建前端交互界面,整合数据处理与评价结果的展示。

流程:选择行业/年度/排行数量—调用st_data获取行业可视化图表—调用Fr获取综合评价—展示结果

三、核心代码实现

3.1 数据处理核心函数(st_data)

3.2 财务综合评价函数(Fr)

3.3 Streamlit 交互展示函数(st_fig)

四、关键功能亮点

4.1 金融可视化

  • 多股票价格子图:采用 3 行 2 列的子图布局,同时展示 6 只股票的价格走势,便于行业内个股对比分析。
  • 自适应标题:根据选择的行业动态生成图表标题,提升交互的直观性。

4.2 基于 PCA 的财务综合评价

  • 数据标准化:通过StandardScaler消除指标量纲的影响,保证不同财务指标的可比性。
  • 自适应降维:设置n_components=0.95,自动保留 95% 的信息,避免过度降维导致的信息丢失。
  • 加权综合得分:以主成分的解释方差占比为权重,计算综合得分,更科学地反映上市公司的财务表现。

4.3 交互式参数调节

  • 从申万一级行业列表中自由选择分析对象。
  • 选择 2022-2024 年的财务数据进行年度评价。
  • 自定义展示综合排名的前 N 名(5/10/15/20),满足不同的分析粒度需求。

五、展示页面

六、总结

本文基于 Streamlit 框架搭建了一个功能完善的申万行业金融数据分析平台,实现了行业指数可视化、股票交易数据展示、财务指标主成分分析与综合评价的全流程交互。平台采用函数化与模块化设计,兼具数据处理的严谨性和交互的灵活性,不仅适用于金融行业研究的教学实验,也可作为投资分析的辅助工具。

通过该平台,使用者可以直观地分析申万行业的指数趋势、个股表现,并基于 PCA 实现上市公司的财务综合排名,为投资决策提供数据支撑。未来可进一步集成实时数据源、优化可视化效果、添加多方法评价对比,打造更全面的金融数据分析平台。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐