2026/2/9 14:19:19
网站建设
项目流程
专业的企业网站设计与编辑,顺德做网站设计的公司,网站建设优化项目,天元建设集团有限公司开票信息Day 71#xff1a;【99天精通Python】项目篇开篇 - 金融数据看板需求分析
前言
欢迎来到 项目篇 的第一天#xff08;第71天#xff09;#xff01;
在之前的 70 天里#xff0c;我们像练武一样#xff0c;先练了扎马步#xff08;基础语法#xff09;#xff0c;又练…Day 71【99天精通Python】项目篇开篇 - 金融数据看板需求分析前言欢迎来到项目篇的第一天第71天在之前的 70 天里我们像练武一样先练了扎马步基础语法又练了拳法进阶特性还学了刀枪剑戟实战库。现在是时候下山闯荡江湖打一场硬仗了。我们将启动第一个大型综合项目——金融数据可视化看板 (Financial Dashboard)。不像之前的练习代码那样只有几十行这个项目将包含数据采集、存储、分析、Web展示全流程代码量可能会达到上千行。它将是你简历上非常亮眼的一个作品。本节内容项目背景与目标需求分析 (User Stories)技术选型 (Stack)系统架构设计数据库表结构设计一、项目背景在金融投资领域信息就是金钱。投资者需要实时监控多只股票的行情查看历史走势对比不同股票的收益率。虽然有很多炒股软件但作为程序员我们要开发一个属于自己的、可定制的数据看板。核心目标搭建一个 Web 网站用户可以在网页上搜索股票代码查看该股票的 K 线图、移动平均线、成交量并能对比多只股票的涨跌幅。二、需求分析我们把功能拆解为具体的模块数据获取模块对接金融数据接口Tushare 或 BaoStock。支持历史数据下载过去 1-3 年。支持每日增量更新定时任务。数据存储模块将下载的数据存入数据库避免重复请求接口。使用 SQL 进行高效查询。Web 展示模块首页显示大盘指数上证指数、纳斯达克的走势。搜索页输入代码如600519跳转到详情页。详情页展示该股票的 K 线图 (Candlestick) 和均线 (MA)。对比页选择两只股票画出它们的收益率曲线对比图。三、技术选型为了实现上述功能我们需要组合使用之前学过的技术模块技术栈理由Web 框架Flask轻量级适合做数据展示型应用。数据源BaoStock免费、无门槛的 A 股数据接口。数据库SQLite简单易用无需额外部署服务器。ORMSQLAlchemyFlask 的标配 ORM操作数据库更方便。图表库ECharts百度开源的 JS 图表库比 Matplotlib 生成的静态图更炫酷、可交互。定时任务APSchedulerFlask 的定时任务扩展用于每天收盘后更新数据。四、系统架构设计前端展示后端逻辑HTTP请求查询调用每天16:00下载数据存入渲染加载展示用户浏览器Flask Web ServerSQLite 数据库数据处理模块定时任务爬虫模块BaoStock APIHTML 模板ECharts JS库动态K线图五、数据库设计我们需要两张核心表一张存股票列表公司名、代码一张存具体的日线行情数据。5.1 股票基础信息表 (stock_basic)字段名类型说明codeVARCHAR股票代码 (PK)如sh.600519nameVARCHAR股票名称如贵州茅台industryVARCHAR所属行业update_timeDATETIME最后更新时间5.2 日线行情表 (stock_daily)字段名类型说明idINTEGER自增主键codeVARCHAR股票代码 (FK)dateDATE交易日期openFLOAT开盘价closeFLOAT收盘价highFLOAT最高价lowFLOAT最低价volumeFLOAT成交量六、环境搭建创建一个新的项目文件夹finance_board并配置虚拟环境。mkdirfinance_boardcdfinance_board# 1. 创建虚拟环境python -m venv venv# 2. 激活环境 (Windows)venv\Scripts\activate# (Mac/Linux: source venv/bin/activate)# 3. 安装依赖pipinstallflask flask-sqlalchemy baostock pandas apscheduler七、项目结构初始化建立以下目录结构finance_board/ ├── app.py # Flask 入口 ├── config.py # 配置文件 ├── models.py # 数据库模型 ├── services/ # 业务逻辑 │ ├── data_fetcher.py # 数据抓取 │ └── analysis.py # 数据分析 ├── static/ # 静态文件 (JS/CSS) └── templates/ # HTML 模板八、小结今天是项目启动的第一天。做项目最忌讳上来就写代码想清楚比写得快更重要。我们完成了需求明确要做一个股票数据看板。架构设计确定了 Flask SQLite ECharts 的技术路线。数据建模设计了数据库表结构。明天 (Day 72)我们将开始编写后端核心代码搭建数据库模型并编写脚本从 BaoStock 拉取股票列表和历史数据。系列导航上一篇Day 70 - 实战篇总结下一篇Day 72 - 金融数据看板数据层实现待更新