好友
阅读权限20
听众
最后登录1970-1-1
|
本帖最后由 zxl7725103 于 2026-2-28 12:58 编辑
源码地址:FundMasterPro: 一个功能完整、界面友好的基金投资管理桌面应用程序
界面如下:FundMaster Pro - 基金大师专业版
<div align="center">
一个功能完整、界面友好的基金投资管理桌面应用程序



帮助您轻松管理基金投资组合,实时追踪收益情况
</div>
✨ 功能特性
🎯 核心功能
- 基金净值查询: 从天天基金网获取历史净值数据,支持自定义日期范围
- 买入记录管理: 记录基金买入信息,自动计算份额和成本
- 卖出操作: 支持全部/部分卖出,自动计算收益和年化收益率
- 持仓管理: 实时显示所有持仓记录和收益情况
- 收益计算: 自动计算盈亏金额、盈亏比例、持仓天数、年化收益率
🚀 高级功能
- 数据导出: 将持仓数据导出为CSV文件,方便Excel分析
- 统计汇总: 查看投资组合总体收益情况,包括总投入、总收益、收益率等
- 编辑记录: 支持编辑已有的持仓记录,自动重新计算收益数据
- 快速查询: 双击持仓记录自动查询该基金的净值走势
- 右键菜单: 快速设置买入/卖出日期,提高操作效率
- 更新到最近日期: 一键获取最新净值并自动填入卖出信息
💎 用户体验
- 状态栏: 实时显示操作状态和查询结果
- 颜色标记: 盈利显示红色,亏损显示绿色,已卖出显示灰色
- 数据验证: 完善的输入校验和错误提示
- 网络优化: 使用Session提高爬虫性能,增强稳定性
- 快捷操作: 支持Delete键删除、双击查询等快捷方式
📦 安装说明
环境要求
- Python 3.11 或更高版本
- Windows / Linux / macOS
快速开始
-
克隆项目
git clone https://gitee.com/zxl7725103/FundMasterPro.git
cd FundMasterPro
-
安装依赖
pip install -r requirements.txt
-
运行程序
python main.py
依赖说明
requests>=2.31.0 - 网络请求库
tkcalendar>=1.6.1 - 日历选择组件
📖 使用指南
1. 查询基金净值
- 在顶部输入框输入6位基金代码
- 选择查询的起始和结束日期
- 点击"查询"按钮或按回车键
- 查询结果将显示在"净值走势"表格中
2. 买入基金
- 在净值走势表格中选择一行数据
- 点击"选中买入"按钮
- 在弹出的对话框中输入买入金额
- 点击"保存"完成记录
3. 卖出基金
- 在持仓记录表格中选择一条未卖出的记录
- 点击"选中卖出"按钮
- 在弹出的对话框中输入卖出净值和份额
- 系统会实时计算预计收益
- 点击"确认卖出"完成操作
快捷操作:
- 更新到最近日期: 点击"更新到最近日期"按钮,系统会自动:
- 查询该基金最新的净值日期
- 自动填入卖出日期和最新净值
- 自动填入全部卖出份额
- 自动计算预计收益
- 显示更新结果提示
这个功能特别适合需要按最新净值全部卖出的情况。
4. 查看统计
点击"查看统计"按钮,可以查看:
- 总投入金额
- 当前持仓金额
- 已卖出金额
- 总收益和收益率
- 持仓和已卖出记录数
5. 导出数据
点击"导出数据"按钮,可以将所有持仓记录导出为CSV文件,方便用Excel查看和分析。
6. 删除记录
有两种方式删除持仓记录:
- 使用删除按钮: 选中持仓记录后,点击"删除记录"按钮
- 使用快捷键: 选中持仓记录后,按Delete键
删除前会弹出确认对话框,防止误操作。
7. 编辑持仓记录
可以编辑已有的持仓记录:
- 在持仓记录表格中选择一条记录
- 点击"编辑记录"按钮
- 在弹出的对话框中修改相关信息
- 点击"保存"完成编辑
可编辑的字段:
- 基金代码、基金名称
- 买入日期、买入净值、买入金额
- 卖出日期、卖出净值、卖出金额(可选)
自动计算:
- 持有份额: 根据买入金额和买入净值自动计算(份额 = 金额 / 净值)
- 如果填写了卖出信息,系统会自动计算:
- 盈亏金额 = 卖出金额 - 买入金额
- 盈亏比例 = (盈亏金额 / 买入金额) × 100%
- 持仓天数 = 卖出日期 - 买入日期
- 年化收益率 = 根据持仓天数计算的年化收益
注意: 持有份额由系统自动计算,无需手动输入。
8. 快速查询净值
双击持仓记录可以快速查询该基金的净值走势:
- 在持仓记录表格中双击任意一条记录
- 系统会自动填充基金代码
- 自动设置日期范围为最近3个月
- 自动查询并显示净值走势
- 状态栏显示查询的基金信息
这个功能方便您快速查看持仓基金的最新净值走势。
9. 右键菜单快速操作
在净值走势表格中,可以使用右键菜单快速设置买入或卖出日期:
设为买入日期:
- 在净值走势表格中选择一行数据
- 右键点击,选择"设为买入日期"
- 系统自动打开买入对话框,日期和净值已自动填充
- 输入买入金额,保存即可
设为卖出日期:
- 先在持仓记录表格中选择要卖出的记录
- 在净值走势表格中选择卖出日期对应的净值
- 右键点击,选择"设为卖出日期"
- 系统自动打开卖出对话框,日期和净值已自动填充
- 确认卖出份额,保存即可
这个功能可以快速将历史净值设置为买入或卖出日期,提高操作效率。
📊 数据说明
持仓记录字段
- 基金代码: 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 # 测试数据库
⚠️ 注意事项
- 本程序仅供个人学习和研究使用,不构成任何投资建议
- 基金数据来自天天基金网,请遵守网站的使用条款和robots协议
- 投资有风险,入市需谨慎,请根据自身情况理性投资
- 建议定期备份数据库文件
fund_data.db,防止数据丢失
- 网络连接不稳定时,查询可能需要较长时间,请耐心等待
🔒 数据安全
- 所有数据存储在本地 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
📄 许可证
本项目仅供学习和个人使用,请勿用于商业用途。
🤝 贡献
欢迎提出问题和建议!如果您想为项目做出贡献:
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature)
- 提交更改 (
git commit -m 'Add some AmazingFeature')
- 推送到分支 (
git push origin feature/AmazingFeature)
- 提交 Pull Request
📮 联系方式
如有问题或建议,欢迎通过以下方式反馈:
<div align="center">
⭐ 如果这个项目对您有帮助,请给一个 Star ⭐
Made with ❤️ by FundMaster Pro Team
</div>
看到好多人没有python程序,我打包成exe文件了。
https://wwbsf.lanzoum.com/iuSrD3jevv1a |
-
|