# wens-tracking **Repository Path**: bkhech/wens-tracking ## Basic Information - **Project Name**: wens-tracking - **Description**: pig cycle - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-09 - **Last Updated**: 2026-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 300498 养猪业务指标追踪系统 这是一个针对300498养猪业务核心指标的一站式自动化追踪、分析与展示看板系统。系统实现了从东方财富 DataCenter API 与 akshare 数据源自动抓取、MySQL 数据库持久化、本地 CSV 双重归档备份、静态图表重绘以及 Flask 看板展示服务。 ## 📊 一、核心追踪指标概览 | 指标类别 | 核心追踪字段 | 数据获取源 | 本地表名 | 表描述 | |----------|------------|-----------|----------|-------| | **月度销售简报** | 生猪出栏量、毛猪销售均价、月度销售收入 | 东方财富网页 API | `monthly_sales` | 存储 2023 年起的月销售数据 | | **季度财务数据** | 营业总收入、归母净利润、ROE、销售毛利率、各项同比 | 东方财富网页 API | `quarterly_finance` | 存储 2023 年起各报告期财务数据 | | **能繁母猪去化** | 全国能繁母猪存栏量、去化偏离度、警告信号 | akshare 产能接口 + 本地手工 CSV | `national_sow_inventory` | 存储全国能繁母猪产能监测数据 | --- ## 🛠️ 二、系统模块与文件说明 | 文件/目录 | 功能描述 | |-----------|---------| | `config.py` | 基础配置文件,读取 `.env` 环境变量并向全局提供数据库 MySQL 连接池连接句柄。 | | `db_init.py` | MySQL 数据表结构构建服务,配置了各表与列的注释及 UTF-8 字符集。 | | `scraper.py` | 数据自动抓取、ASCII 数据规范化及 MySQL 事务入库模块,支持以 `UPSERT` 形式保留历史记录并导出 CSV 作双重复写备份。 | | `charts.py` | 静态数据图表绘制模块,通过 `matplotlib` (非交互后台 `Agg` 模式) 生成高清 PNG 指标曲线。 | | `api.py` | 轻量级 Flask 网页服务,向前端 `dashboard.html` 主动传送 JSON 接口数据。 | | `update.py` | 系统管线调度脚本。可一键执行数据同步、图表红绿条件刷新及拉起本地 Web 可视化页面。 | | `dashboard.html` | 原生 JS 动态渲染看板页面,通过 fetch 方法实时调用后端接口加载并渲染表格。 | | `data/` | 存储手工补录数据与 CSV 数据集双重归档备份。 | | `charts/` | 存储自动生成的销售图表、量价图表、收益对比和能繁母猪去化红线对比 PNG 资产。 | --- ## 🚀 三、安装与部署说明 ### 1. 安装依赖包 ```bash pip install requests matplotlib numpy pymysql flask flask-cors akshare ``` ### 2. 进行数据库环境配置 将根目录下的 `.env.example` 复制重命名为 `.env`,填入本地正确的 MySQL 服务器信息。 ```ini DB_HOST=127.0.0.1 DB_PORT=3306 DB_USER=root DB_PASSWORD=your_password DB_NAME=wens_tracking FLASK_PORT=8080 ``` ### 3. 初始化 MySQL 表结构 ```bash python db_init.py ``` ### 4. 抓取数据并启动看板 ```bash python update.py --serve ``` 该命令执行后,系统会: 1. 抓取最新销售及财务数据增量插入 MySQL 表。 2. 批量生成/刷新 `charts/` 目录下的 5 张可视化 PNG。 3. 自动在本地启动 Flask 站点,代理后端 API 并在浏览器中开启可视化看板,访问:`http://localhost:8080/dashboard.html` --- ## 📈 四、全国能繁母猪去化信号说明 * **去化正常保有量基准线**:根据政策在 2026 年修订为 **3750 万头**。 * **产能去化启动**:全国能繁母猪月度存栏连续 3 个月环比下降。 * **深度去化状态**:当全国存栏值低于保有量 95%(即低于 **3562 万头**)时,系统产能栏会标记为红底的 **“深度去化”** 状态,预警生猪大周期价格上行通道即将开启的可能性偏高。