# FundMasterPro **Repository Path**: zxl7725103/FundMasterPro ## Basic Information - **Project Name**: FundMasterPro - **Description**: 一个功能完整、界面友好的基金投资管理桌面应用程序 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2026-02-20 - **Last Updated**: 2026-02-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FundMaster Pro - 基金大师专业版
**一个功能完整、界面友好的基金投资管理桌面应用程序** [![Python](https://img.shields.io/badge/Python-3.11+-blue.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/License-Personal-green.svg)](LICENSE) [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg)](https://github.com) 帮助您轻松管理基金投资组合,实时追踪收益情况
--- ## ✨ 功能特性 ### 🎯 核心功能 - **基金净值查询**: 从天天基金网获取历史净值数据,支持自定义日期范围 - **买入记录管理**: 记录基金买入信息,自动计算份额和成本 - **卖出操作**: 支持全部/部分卖出,自动计算收益和年化收益率 - **持仓管理**: 实时显示所有持仓记录和收益情况 - **收益计算**: 自动计算盈亏金额、盈亏比例、持仓天数、年化收益率 ### 🚀 高级功能 - **数据导出**: 将持仓数据导出为CSV文件,方便Excel分析 - **统计汇总**: 查看投资组合总体收益情况,包括总投入、总收益、收益率等 - **编辑记录**: 支持编辑已有的持仓记录,自动重新计算收益数据 - **快速查询**: 双击持仓记录自动查询该基金的净值走势 - **右键菜单**: 快速设置买入/卖出日期,提高操作效率 - **更新到最近日期**: 一键获取最新净值并自动填入卖出信息 ### 💎 用户体验 - **状态栏**: 实时显示操作状态和查询结果 - **颜色标记**: 盈利显示红色,亏损显示绿色,已卖出显示灰色 - **数据验证**: 完善的输入校验和错误提示 - **网络优化**: 使用Session提高爬虫性能,增强稳定性 - **快捷操作**: 支持Delete键删除、双击查询等快捷方式 ## 📦 安装说明 ### 环境要求 - Python 3.11 或更高版本 - Windows / Linux / macOS ### 快速开始 1. **克隆项目** ```bash git clone https://gitee.com/zxl7725103/FundMasterPro.git cd FundMasterPro ``` 2. **安装依赖** ```bash pip install -r requirements.txt ``` 3. **运行程序** ```bash python main.py ``` ### 依赖说明 - `requests>=2.31.0` - 网络请求库 - `tkcalendar>=1.6.1` - 日历选择组件 ## 📖 使用指南 ### 1. 查询基金净值 1. 在顶部输入框输入6位基金代码 2. 选择查询的起始和结束日期 3. 点击"查询"按钮或按回车键 4. 查询结果将显示在"净值走势"表格中 ### 2. 买入基金 1. 在净值走势表格中选择一行数据 2. 点击"选中买入"按钮 3. 在弹出的对话框中输入买入金额 4. 点击"保存"完成记录 ### 3. 卖出基金 1. 在持仓记录表格中选择一条未卖出的记录 2. 点击"选中卖出"按钮 3. 在弹出的对话框中输入卖出净值和份额 4. 系统会实时计算预计收益 5. 点击"确认卖出"完成操作 **快捷操作**: - **更新到最近日期**: 点击"更新到最近日期"按钮,系统会自动: - 查询该基金最新的净值日期 - 自动填入卖出日期和最新净值 - 自动填入全部卖出份额 - 自动计算预计收益 - 显示更新结果提示 这个功能特别适合需要按最新净值全部卖出的情况。 ### 4. 查看统计 点击"查看统计"按钮,可以查看: - 总投入金额 - 当前持仓金额 - 已卖出金额 - 总收益和收益率 - 持仓和已卖出记录数 ### 5. 导出数据 点击"导出数据"按钮,可以将所有持仓记录导出为CSV文件,方便用Excel查看和分析。 ### 6. 删除记录 有两种方式删除持仓记录: 1. **使用删除按钮**: 选中持仓记录后,点击"删除记录"按钮 2. **使用快捷键**: 选中持仓记录后,按Delete键 删除前会弹出确认对话框,防止误操作。 ### 7. 编辑持仓记录 可以编辑已有的持仓记录: 1. 在持仓记录表格中选择一条记录 2. 点击"编辑记录"按钮 3. 在弹出的对话框中修改相关信息 4. 点击"保存"完成编辑 **可编辑的字段**: - 基金代码、基金名称 - 买入日期、买入净值、买入金额 - 卖出日期、卖出净值、卖出金额(可选) **自动计算**: - **持有份额**: 根据买入金额和买入净值自动计算(份额 = 金额 / 净值) - 如果填写了卖出信息,系统会自动计算: - 盈亏金额 = 卖出金额 - 买入金额 - 盈亏比例 = (盈亏金额 / 买入金额) × 100% - 持仓天数 = 卖出日期 - 买入日期 - 年化收益率 = 根据持仓天数计算的年化收益 **注意**: 持有份额由系统自动计算,无需手动输入。 ### 8. 快速查询净值 双击持仓记录可以快速查询该基金的净值走势: 1. 在持仓记录表格中双击任意一条记录 2. 系统会自动填充基金代码 3. 自动设置日期范围为最近3个月 4. 自动查询并显示净值走势 5. 状态栏显示查询的基金信息 这个功能方便您快速查看持仓基金的最新净值走势。 ### 9. 右键菜单快速操作 在净值走势表格中,可以使用右键菜单快速设置买入或卖出日期: **设为买入日期**: 1. 在净值走势表格中选择一行数据 2. 右键点击,选择"设为买入日期" 3. 系统自动打开买入对话框,日期和净值已自动填充 4. 输入买入金额,保存即可 **设为卖出日期**: 1. 先在持仓记录表格中选择要卖出的记录 2. 在净值走势表格中选择卖出日期对应的净值 3. 右键点击,选择"设为卖出日期" 4. 系统自动打开卖出对话框,日期和净值已自动填充 5. 确认卖出份额,保存即可 这个功能可以快速将历史净值设置为买入或卖出日期,提高操作效率。 ## 📊 数据说明 ### 持仓记录字段 - 基金代码: 6位数字代码 - 基金名称: 自动从天天基金网获取 - 买入日期: 买入当天的日期 - 买入净值: 买入时的单位净值 - 买入金额: 实际投入金额 - 持有份额: 自动计算(金额/净值) - 卖出日期: 卖出当天的日期 - 卖出净值: 卖出时的单位净值 - 卖出金额: 实际收回金额 - 盈亏金额: 卖出金额 - 买入成本 - 盈亏比例: (盈亏金额 / 买入成本) × 100% - 持仓天数: 从买入到卖出的天数 - 年化收益: 根据持仓天数计算的年化收益率 ## 🛠️ 技术架构 - **开发语言**: Python 3.11 - **GUI框架**: Tkinter + ttk + tkcalendar - **数据库**: SQLite3 (轻量级本地存储) - **网络请求**: requests + Session - **数据源**: 天天基金网 (fund.eastmoney.com) ### 核心模块 - `main.py` - 程序入口和初始化 - `gui.py` - 图形用户界面 - `database.py` - 数据库操作封装 - `crawler.py` - 基金数据爬虫 - `config.py` - 配置管理 ## 📁 项目结构 ``` FundMasterPro/ ├── main.py # 程序入口 ├── config.py # 配置管理 ├── crawler.py # 数据爬虫 ├── database.py # 数据库操作 ├── gui.py # 图形界面 ├── requirements.txt # 依赖列表 ├── README.md # 说明文档 ├── CHANGELOG.md # 更新日志 ├── .gitignore # Git忽略配置 ├── fund_data.db # SQLite数据库(自动创建) └── test_fund.db # 测试数据库 ``` ## ⚠️ 注意事项 1. 本程序仅供个人学习和研究使用,不构成任何投资建议 2. 基金数据来自天天基金网,请遵守网站的使用条款和robots协议 3. 投资有风险,入市需谨慎,请根据自身情况理性投资 4. 建议定期备份数据库文件 `fund_data.db`,防止数据丢失 5. 网络连接不稳定时,查询可能需要较长时间,请耐心等待 ## 🔒 数据安全 - 所有数据存储在本地 SQLite 数据库中 - 不会上传任何个人信息到服务器 - 建议定期备份 `fund_data.db` 文件 - 导出的 CSV 文件包含完整的持仓信息,请妥善保管 ## 📝 版本历史 ### v2.6.0 (当前版本) - 2026-02-18 - ✨ 新增"更新到最近日期"功能,一键获取最新净值 - 🐛 修复刷新问题,确保数据同步更可靠 - 🎨 优化卖出操作流程,提升用户体验 ### v2.5.0 - 2026-02-18 - ✨ 新增编辑持仓记录功能 - 🎨 持有份额自动计算,无需手动输入 - 📊 完善持仓记录管理,支持完整的增删改查 ### v2.4.0 - 2026-02-18 - ✨ 新增右键菜单快速操作 - 🚀 提高操作效率,减少手动输入 ### v2.3.0 - 2026-02-18 - ✨ 新增双击查询净值功能 - 🎨 优化用户体验,快速查看持仓基金走势 ### v2.0.0 - 2026-02-18 - ✨ 新增数据导出和统计汇总功能 - 🎨 添加状态栏和颜色标记 - 🐛 增强错误处理和网络稳定性 > 查看完整更新日志请见 [CHANGELOG.md](CHANGELOG.md) ## 📄 许可证 本项目仅供学习和个人使用,请勿用于商业用途。 ## 🤝 贡献 欢迎提出问题和建议!如果您想为项目做出贡献: 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ## 📮 联系方式 如有问题或建议,欢迎通过以下方式反馈: - 提交 Issue - 发送邮件 ---
**⭐ 如果这个项目对您有帮助,请给一个 Star ⭐** Made with ❤️ by FundMaster Pro Team