# fund_analyzer **Repository Path**: coderyrepos/fund_analyzer ## Basic Information - **Project Name**: fund_analyzer - **Description**: 一个专注于基金分析的开源项目,提供数据抓取、分析与可视化工具,帮助投资者做出更明智的投资决策。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2026-01-07 - **Last Updated**: 2026-01-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI基金分析助手 一个基于PyQt5的基金分析桌面应用程序,提供对话聊天、基金详细信息查询和持仓管理功能。 ## 📋 功能特性 ### 💬 对话聊天页面 - **左侧**:对话窗口,支持与AI投资顾问的交互 - **右侧**:基金推荐区域 - **右上角**:热门基金展示 - **右下角**:AI推荐基金(包含买入/卖出建议) - 集成ai_advisor工具类实现智能对话功能 ### 📊 基金详细信息页面 - 支持查询任意基金的详细信息 - 展示基金的基本信息、历史净值、业绩表现、持仓信息和风险指标 - 使用fund_analyzer中的静态函数获取数据 - 通过标签页组织不同类型的信息 ### 💰 持仓信息页面 - 展示用户持仓基金信息 - 计算并显示盈亏情况(盈利显示为红色,亏损显示为绿色) - 支持模拟买入/卖出操作 - 显示和修改可用本金金额 - 本金金额随交易操作动态变化 ## 🖼️ 系统截图 以下为基金分析应用的界面截图: ![主界面](imgs/1.png) ![对话聊天页面](imgs/2.png) ![基金详情页面](imgs/3.png) ![持仓管理页面](imgs/4.png) ![基金分析页面](imgs/5.png) ## 🔄 流程图 ![流程图](imgs/6.png) [AI工作流引擎支持](https://gitee.com/coderyrepos/ai-workflow-engine) ## 🏗️ 技术架构 ### 项目结构 ```text src/ ├── __init__.py ├── main.py # 应用程序入口 ├── ui/ # 用户界面模块 │ ├── __init__.py │ ├── main_window.py # 主窗口类,实现黑色主题和标签页布局 │ ├── chat_tab.py # 对话聊天页面 │ ├── fund_info_tab.py # 基金详细信息页面 │ ├── portfolio_tab.py # 持仓信息页面 │ └── styles.py # 样式定义,实现黑色主题 ├── data/ # 数据管理模块 │ ├── __init__.py │ ├── data_manager.py # 数据管理器,处理JSON持久化 │ └── data_cache.py # 数据缓存管理 ├── analysis/ # 数据分析模块 │ ├── __init__.py │ ├── fund_analyzer.py # 基金数据获取工具类 │ ├── fund_analyzer_json.py # 基金数据获取工具类(JSON格式) │ └── ai_advisor.py # AI投资顾问类 └── utils/ # 工具模块 ├── __init__.py ├── utils.py # 通用工具函数 └── comprehensive_test.py # 综合测试工具 ``` ### 设计特点 - 模块化设计,各功能组件独立 - 数据持久化,使用JSON格式存储用户数据 - 清晰的代码结构,易于维护和扩展 ## 🚀 快速开始 ### 环境要求 - Python 3.7+ ### 安装依赖 ```bash pip install PyQt5 akshare pandas ``` ### 启动应用 ```bash python -m src.main ``` ### 使用步骤 1. 在对话聊天页面与AI顾问交流获取基金建议 2. 在基金详情页面查询特定基金的详细信息 3. 在持仓信息页面管理您的基金持仓和资金 ## 💾 数据持久化 用户持仓信息和可用本金保存在 `user_data.json` 文件中,包括: - 持仓基金信息(代码、名称、数量、成本价) - 可用现金金额 ## 🤖 AI 配置 本项目使用AI工作流引擎,需要配置API密钥才能使用AI功能。目前仅支持qwenapi的DeepSeek-V3模型。 ### API 配置文件 在项目根目录下创建 `api_config.json` 文件,配置示例如下: ```json { "api1": { "model_name": "deepseek-v3", "temperature": 0.7, "max_tokens": 500, "api_key": "xxxxxxxxxxxxxxxxxxx", "endpoint": "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions", "executor": "qwen", "role_mapping":{ "user": "user", "assistant": "assistant", "system": "system", "tool": "function" } } } ``` ## 📦 依赖项 - PyQt5 - akshare - pandas - datetime - json ## 📦 打包发布 项目支持使用Nuitka进行打包,生成独立的Windows可执行文件。 ### Nuitka打包 1. 安装Nuitka: ```bash pip install nuitka ``` 2. 使用批处理脚本打包(推荐): ```bash build_nuitka.bat ``` 3. 或使用Python脚本打包: ```bash python nuitka_build.py ``` 打包后的可执行文件将位于 `dist/fund_analyzer.exe`。 ## ⚠️ 注意事项 - 买入操作需要确保可用资金充足 - 卖出操作需要确保持仓数量足够 - 所有交易为模拟操作,不涉及真实资金 - 本项目仅供学习和参考使用,投资有风险,决策需谨慎 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request 来改进本项目。 ## 📄 许可证 本项目为开源项目,如需使用请遵循相关协议。