# 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 - 基金大师专业版
**一个功能完整、界面友好的基金投资管理桌面应用程序**
[](https://www.python.org/)
[](LICENSE)
[](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