基于 Streamlit 搭建申万行业金融数据分析平台:从指数可视化到财务综合评价
·
一、项目概述与技术选型
1.1 项目概述
该项目基于Streamlit框架搭建一个申万行业金融数据分析平台,实现行业指数可视化、股票交易数据展示、财务指标主成分分析与综合评价的全流程交互,涵盖数据清洗、可视化、机器学习(PCA)等核心技术点。
1.2 技术选型
- 前端与交互:Streamlit
- 数据处理:Pandas
- 可视化:Matplotlib
- 机器学习:Scikit-learn
- 数据存储:CSV/Excel
二、项目核心功能模块设计
- 数据处理模块(
st_data函数):实现行业数据筛选、关联、可视化,返回指数走势图、股票价格图及各类分析数据。 - 综合评价模块(
Fr函数):基于 PCA 实现财务指标的综合评分与排名。 - 交互展示模块(
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 实现上市公司的财务综合排名,为投资决策提供数据支撑。未来可进一步集成实时数据源、优化可视化效果、添加多方法评价对比,打造更全面的金融数据分析平台。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)