fund-cli 2.0.0__tar.gz → 2.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fund_cli-2.0.0 → fund_cli-2.0.1}/CHANGELOG.md +7 -0
- fund_cli-2.0.1/GITHUB_MANUAL_RELEASE.md +139 -0
- fund_cli-2.0.1/GITHUB_RELEASE_INSTRUCTIONS.md +155 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/PKG-INFO +188 -49
- fund_cli-2.0.1/README.md +268 -0
- fund_cli-2.0.1/RELEASE_INSTRUCTIONS.md +267 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/pyproject.toml +1 -1
- fund_cli-2.0.0/README.md +0 -129
- {fund_cli-2.0.0 → fund_cli-2.0.1}/.env.example +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/.gitignore +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/.pre-commit-config.yaml +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/CONTRIBUTING.md +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/LICENSE +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/docs/api/reference.md +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/docs/development.md +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/docs/index.md +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/docs/installation.md +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/docs/usage/tutorial.md +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/examples/basic_analysis.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/examples/batch_processing.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/examples/portfolio_optimization.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/__main__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/ai/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/ai/analyzer.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/ai/prompts.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/ai/providers.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/analysis/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/analysis/attribution.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/analysis/backtest.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/analysis/holding.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/analysis/manager.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/analysis/performance.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/analysis/portfolio.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/analysis/risk.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/cli.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/ai_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/analyze_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/compare_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/config_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/data_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/filter_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/holding_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/interactive_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/main.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/manager_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/monitor_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/commands/optimize_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/config.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/analyzer.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/data_manager.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/data_quality.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/monitor.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/optimizer.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/optimizers/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/optimizers/efficient_frontier.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/optimizers/max_sharpe.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/optimizers/mean_variance.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/optimizers/risk_parity.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/reporter.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/reporters/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/reporters/html_reporter.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/reporters/markdown_reporter.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/core/screener.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/data/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/data/adapters/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/data/adapters/akshare_adapter.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/data/adapters/tushare_adapter.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/data/adapters/wind_adapter.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/data/base.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/data/cache.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/data/models.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/utils/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/utils/decorators.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/utils/helpers.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/utils/validators.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/views/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/views/charts.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/views/reports.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/src/fund_cli/views/tables.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/test_mvp.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/conftest.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/fixtures/sample_data.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/integration/test_data_flow.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/integration/test_monitoring_flow.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/integration/test_optimization_flow.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_ai/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_ai/test_analyzer.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_ai/test_prompts.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_ai/test_providers.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_analysis/test_attribution.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_analysis/test_backtest.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_analysis/test_holding.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_analysis/test_manager.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_analysis/test_performance.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_analysis/test_performance_enhanced.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_base_classes.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_commands/test_cli.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_commands/test_compare_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_commands/test_config_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_commands/test_holding_cmd.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_commands/test_interactive.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_core/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_core/test_data_quality.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_core/test_monitor.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_core/test_optimizers.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_core/test_reporters.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_core/test_screener.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_data/test_cache_extended.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_data/test_models.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_data/test_models_extended.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_utils/__init__.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_utils/test_helpers.py +0 -0
- {fund_cli-2.0.0 → fund_cli-2.0.1}/tests/unit/test_views.py +0 -0
|
@@ -5,6 +5,13 @@
|
|
|
5
5
|
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
|
|
6
6
|
并且本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
7
7
|
|
|
8
|
+
## [2.0.1] - 2026-05-08
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- 修复PyPI文档链接显示为空的问题
|
|
12
|
+
- 将README.md中的文档链接改为GitHub绝对链接
|
|
13
|
+
- 在README.md中直接包含安装指南、使用教程、API文档、开发指南内容
|
|
14
|
+
|
|
8
15
|
## [2.0.0] - 2026-05-08
|
|
9
16
|
|
|
10
17
|
### Added
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Fund CLI V2.0.0 GitHub 手动发布步骤
|
|
2
|
+
|
|
3
|
+
由于GitHub Token权限限制,请按照以下步骤手动完成发布。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## ✅ 本地准备已完成
|
|
8
|
+
|
|
9
|
+
- [x] Git仓库初始化
|
|
10
|
+
- [x] 所有代码已提交 (113个文件)
|
|
11
|
+
- [x] Git标签 v2.0.0 已创建
|
|
12
|
+
- [x] PyPI已发布成功
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 📋 手动发布步骤
|
|
17
|
+
|
|
18
|
+
### 步骤1: 在GitHub创建仓库
|
|
19
|
+
|
|
20
|
+
1. 访问 https://github.com/new
|
|
21
|
+
2. 填写信息:
|
|
22
|
+
- **Repository name**: `fund-cli`
|
|
23
|
+
- **Description**: `专业基金分析CLI工具 - 支持AI辅助分析、组合优化、持仓分析`
|
|
24
|
+
- **Visibility**: Public
|
|
25
|
+
- **不要勾选** "Initialize this repository with a README"
|
|
26
|
+
3. 点击 **Create repository**
|
|
27
|
+
|
|
28
|
+
### 步骤2: 推送代码
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
cd /workspace/fund-cli
|
|
32
|
+
|
|
33
|
+
# 添加远程仓库
|
|
34
|
+
git remote add origin https://github.com/jarrey-0804/fund-cli.git
|
|
35
|
+
|
|
36
|
+
# 推送代码
|
|
37
|
+
git branch -M main
|
|
38
|
+
git push -u origin main
|
|
39
|
+
|
|
40
|
+
# 推送标签
|
|
41
|
+
git push origin v2.0.0
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 步骤3: 创建GitHub Release
|
|
45
|
+
|
|
46
|
+
1. 访问 `https://github.com/jarrey-0804/fund-cli/releases`
|
|
47
|
+
2. 点击 **"Create a new release"**
|
|
48
|
+
3. 选择标签: `v2.0.0`
|
|
49
|
+
4. 填写标题: `Fund CLI V2.0.0 正式发布`
|
|
50
|
+
5. 复制以下内容到Release notes:
|
|
51
|
+
|
|
52
|
+
```markdown
|
|
53
|
+
## Fund CLI V2.0.0 正式发布
|
|
54
|
+
|
|
55
|
+
### 🎉 核心亮点
|
|
56
|
+
|
|
57
|
+
- **🤖 AI辅助分析**: 集成多LLM提供商(OpenAI/阿里云Qwen),支持智能基金分析
|
|
58
|
+
- **📊 持仓分析**: 持仓穿透、行业分布、风格分析(九宫格)
|
|
59
|
+
- **⚖️ 组合优化**: 均值-方差、最大夏普、风险平价策略
|
|
60
|
+
- **👤 基金经理**: 经理业绩追踪、稳定性评估
|
|
61
|
+
- **🔔 实时监控**: 净值变动监控、预警通知
|
|
62
|
+
- **💻 交互式模式**: REPL风格交互体验
|
|
63
|
+
|
|
64
|
+
### 📦 安装
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pip install fund-cli==2.0.0
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 📚 文档
|
|
71
|
+
|
|
72
|
+
- [安装指南](docs/installation.md)
|
|
73
|
+
- [使用教程](docs/usage/tutorial.md)
|
|
74
|
+
- [API文档](docs/api/reference.md)
|
|
75
|
+
- [CHANGELOG](CHANGELOG.md)
|
|
76
|
+
|
|
77
|
+
### 📝 主要变更
|
|
78
|
+
|
|
79
|
+
**新增功能**:
|
|
80
|
+
- AI分析模块(summarize, compare, advice, risk, insight, portfolio)
|
|
81
|
+
- 持仓分析模块(query, industry, concentration, changes, style)
|
|
82
|
+
- 基金经理模块(info, performance, stability)
|
|
83
|
+
- 组合优化增强(mean-variance, max-sharpe, risk-parity, frontier, backtest)
|
|
84
|
+
- 业绩归因模块(Brinson归因)
|
|
85
|
+
- 监控预警模块
|
|
86
|
+
|
|
87
|
+
**改进**:
|
|
88
|
+
- 数据层架构重构,支持多数据源适配器
|
|
89
|
+
- CLI界面优化,使用Rich库增强输出
|
|
90
|
+
- 缓存机制优化
|
|
91
|
+
|
|
92
|
+
**修复**:
|
|
93
|
+
- 内存占用问题
|
|
94
|
+
- 时区处理问题
|
|
95
|
+
|
|
96
|
+
### 🔗 相关链接
|
|
97
|
+
|
|
98
|
+
- PyPI: https://pypi.org/project/fund-cli/2.0.0/
|
|
99
|
+
- 文档: https://github.com/jarrey-0804/fund-cli/tree/main/docs
|
|
100
|
+
- Issues: https://github.com/jarrey-0804/fund-cli/issues
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
**发布日期**: 2026-05-08
|
|
105
|
+
**版本**: 2.0.0
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
6. 上传构建产物:
|
|
109
|
+
- 点击 "Attach binaries by dropping them here or selecting them"
|
|
110
|
+
- 上传 `/workspace/fund-cli/dist/fund_cli-2.0.0-py3-none-any.whl`
|
|
111
|
+
- 上传 `/workspace/fund-cli/dist/fund_cli-2.0.0.tar.gz`
|
|
112
|
+
|
|
113
|
+
7. 点击 **"Publish release"**
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## ✅ 发布后验证
|
|
118
|
+
|
|
119
|
+
- [ ] 代码已推送到 https://github.com/jarrey-0804/fund-cli
|
|
120
|
+
- [ ] Git标签已推送
|
|
121
|
+
- [ ] GitHub Release已创建
|
|
122
|
+
- [ ] 构建产物已上传
|
|
123
|
+
- [ ] Release页面可访问: https://github.com/jarrey-0804/fund-cli/releases/tag/v2.0.0
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 🎉 发布完成
|
|
128
|
+
|
|
129
|
+
GitHub Release创建完成后,您的项目将完全发布:
|
|
130
|
+
|
|
131
|
+
| 平台 | 状态 | 链接 |
|
|
132
|
+
|------|------|------|
|
|
133
|
+
| PyPI | ✅ 已发布 | https://pypi.org/project/fund-cli/2.0.0/ |
|
|
134
|
+
| GitHub | ⏳ 待手动发布 | https://github.com/jarrey-0804/fund-cli |
|
|
135
|
+
|
|
136
|
+
**安装命令**:
|
|
137
|
+
```bash
|
|
138
|
+
pip install fund-cli==2.0.0
|
|
139
|
+
```
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Fund CLI V2.0.0 GitHub 发布指南
|
|
2
|
+
|
|
3
|
+
## ✅ 本地Git操作已完成
|
|
4
|
+
|
|
5
|
+
- [x] Git仓库初始化
|
|
6
|
+
- [x] 所有文件提交 (113个文件, 13789行)
|
|
7
|
+
- [x] Git标签 v2.0.0 创建
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 📤 推送到GitHub步骤
|
|
12
|
+
|
|
13
|
+
### 步骤1: 在GitHub创建仓库
|
|
14
|
+
|
|
15
|
+
1. 访问 https://github.com/new
|
|
16
|
+
2. 填写仓库信息:
|
|
17
|
+
- **Repository name**: `fund-cli`
|
|
18
|
+
- **Description**: `专业基金分析CLI工具 - 支持AI辅助分析、组合优化、持仓分析`
|
|
19
|
+
- **Visibility**: Public (或 Private)
|
|
20
|
+
- **Initialize**: 不要勾选 (已有本地仓库)
|
|
21
|
+
3. 点击 **Create repository**
|
|
22
|
+
|
|
23
|
+
### 步骤2: 添加远程仓库并推送
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
cd /workspace/fund-cli
|
|
27
|
+
|
|
28
|
+
# 添加远程仓库 (替换 YOUR_USERNAME 为您的GitHub用户名)
|
|
29
|
+
git remote add origin https://github.com/YOUR_USERNAME/fund-cli.git
|
|
30
|
+
|
|
31
|
+
# 推送代码到main分支
|
|
32
|
+
git branch -M main
|
|
33
|
+
git push -u origin main
|
|
34
|
+
|
|
35
|
+
# 推送标签
|
|
36
|
+
git push origin v2.0.0
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 步骤3: 创建GitHub Release
|
|
40
|
+
|
|
41
|
+
**方法A: 通过GitHub Web界面**
|
|
42
|
+
|
|
43
|
+
1. 访问 `https://github.com/YOUR_USERNAME/fund-cli/releases`
|
|
44
|
+
2. 点击 **"Create a new release"**
|
|
45
|
+
3. 填写Release信息:
|
|
46
|
+
|
|
47
|
+
**Choose a tag**: `v2.0.0`
|
|
48
|
+
**Release title**: `Fund CLI V2.0.0 正式发布`
|
|
49
|
+
|
|
50
|
+
**Release notes**:
|
|
51
|
+
|
|
52
|
+
```markdown
|
|
53
|
+
## Fund CLI V2.0.0 正式发布
|
|
54
|
+
|
|
55
|
+
### 🎉 核心亮点
|
|
56
|
+
|
|
57
|
+
- **🤖 AI辅助分析**: 集成多LLM提供商(OpenAI/阿里云Qwen),支持智能基金分析
|
|
58
|
+
- **📊 持仓分析**: 持仓穿透、行业分布、风格分析(九宫格)
|
|
59
|
+
- **⚖️ 组合优化**: 均值-方差、最大夏普、风险平价策略
|
|
60
|
+
- **👤 基金经理**: 经理业绩追踪、稳定性评估
|
|
61
|
+
- **🔔 实时监控**: 净值变动监控、预警通知
|
|
62
|
+
- **💻 交互式模式**: REPL风格交互体验
|
|
63
|
+
|
|
64
|
+
### 📦 安装
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pip install fund-cli==2.0.0
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 📚 文档
|
|
71
|
+
|
|
72
|
+
- [安装指南](docs/installation.md)
|
|
73
|
+
- [使用教程](docs/usage/tutorial.md)
|
|
74
|
+
- [API文档](docs/api/reference.md)
|
|
75
|
+
- [CHANGELOG](CHANGELOG.md)
|
|
76
|
+
|
|
77
|
+
### 📝 主要变更
|
|
78
|
+
|
|
79
|
+
**新增功能**:
|
|
80
|
+
- AI分析模块(summarize, compare, advice, risk, insight, portfolio)
|
|
81
|
+
- 持仓分析模块(query, industry, concentration, changes, style)
|
|
82
|
+
- 基金经理模块(info, performance, stability)
|
|
83
|
+
- 组合优化增强(mean-variance, max-sharpe, risk-parity, frontier, backtest)
|
|
84
|
+
- 业绩归因模块(Brinson归因)
|
|
85
|
+
- 监控预警模块
|
|
86
|
+
|
|
87
|
+
**改进**:
|
|
88
|
+
- 数据层架构重构,支持多数据源适配器
|
|
89
|
+
- CLI界面优化,使用Rich库增强输出
|
|
90
|
+
- 缓存机制优化
|
|
91
|
+
|
|
92
|
+
**修复**:
|
|
93
|
+
- 内存占用问题
|
|
94
|
+
- 时区处理问题
|
|
95
|
+
|
|
96
|
+
### 🔗 相关链接
|
|
97
|
+
|
|
98
|
+
- PyPI: https://pypi.org/project/fund-cli/2.0.0/
|
|
99
|
+
- 文档: https://github.com/YOUR_USERNAME/fund-cli/tree/main/docs
|
|
100
|
+
- Issues: https://github.com/YOUR_USERNAME/fund-cli/issues
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
**发布日期**: 2026-05-08
|
|
105
|
+
**版本**: 2.0.0
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
4. 上传构建产物:
|
|
109
|
+
- 点击 **"Attach binaries"**
|
|
110
|
+
- 上传 `dist/fund_cli-2.0.0-py3-none-any.whl`
|
|
111
|
+
- 上传 `dist/fund_cli-2.0.0.tar.gz`
|
|
112
|
+
|
|
113
|
+
5. 点击 **"Publish release"**
|
|
114
|
+
|
|
115
|
+
**方法B: 通过GitHub CLI**
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# 安装GitHub CLI (如未安装)
|
|
119
|
+
# https://cli.github.com/
|
|
120
|
+
|
|
121
|
+
# 登录
|
|
122
|
+
gitHub auth login
|
|
123
|
+
|
|
124
|
+
# 创建Release
|
|
125
|
+
gh release create v2.0.0 \
|
|
126
|
+
--title "Fund CLI V2.0.0 正式发布" \
|
|
127
|
+
--notes-file RELEASE_NOTES.md \
|
|
128
|
+
dist/fund_cli-2.0.0-py3-none-any.whl \
|
|
129
|
+
dist/fund_cli-2.0.0.tar.gz
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## ✅ 发布后验证清单
|
|
135
|
+
|
|
136
|
+
- [ ] 代码已推送到GitHub
|
|
137
|
+
- [ ] Git标签已推送
|
|
138
|
+
- [ ] GitHub Release已创建
|
|
139
|
+
- [ ] 构建产物已上传到Release
|
|
140
|
+
- [ ] Release页面可访问
|
|
141
|
+
- [ ] 文档链接有效
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 🔗 GitHub Release页面
|
|
146
|
+
|
|
147
|
+
创建完成后,Release页面地址为:
|
|
148
|
+
```
|
|
149
|
+
https://github.com/YOUR_USERNAME/fund-cli/releases/tag/v2.0.0
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
**发布日期**: 2026-05-08
|
|
155
|
+
**版本**: 2.0.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fund-cli
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.1
|
|
4
4
|
Summary: 专业基金分析CLI工具 - 面向机构客户
|
|
5
5
|
Project-URL: Homepage, https://github.com/your-org/fund-cli
|
|
6
6
|
Project-URL: Documentation, https://fund-cli.readthedocs.io
|
|
@@ -66,34 +66,54 @@ Description-Content-Type: text/markdown
|
|
|
66
66
|
|
|
67
67
|
---
|
|
68
68
|
|
|
69
|
-
##
|
|
69
|
+
## 简介
|
|
70
70
|
|
|
71
71
|
Fund CLI 是一款面向机构客户的专业基金分析命令行工具,提供基金筛选、业绩分析、组合对比、风险监控等功能。基于开源技术栈构建,支持多数据源接入和AI辅助分析。
|
|
72
72
|
|
|
73
|
-
##
|
|
73
|
+
## 核心功能
|
|
74
74
|
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
75
|
+
- **基金筛选** - 多维度筛选条件,支持业绩、风险、规模等指标
|
|
76
|
+
- **业绩分析** - 收益率、夏普比率、最大回撤等专业指标
|
|
77
|
+
- **基金对比** - 多基金横向对比分析
|
|
78
|
+
- **组合优化** - 基于现代投资组合理论的资产配置优化
|
|
79
|
+
- **AI分析** (V2.0) - AI辅助投资分析和报告生成
|
|
80
|
+
- **多数据源** - 支持AKShare、Tushare、Wind等数据源
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 安装指南
|
|
85
|
+
|
|
86
|
+
### 系统要求
|
|
87
|
+
|
|
88
|
+
- Python 3.10 或更高版本
|
|
89
|
+
- pip 包管理器
|
|
83
90
|
|
|
84
|
-
### 安装
|
|
91
|
+
### 使用 pip 安装
|
|
85
92
|
|
|
86
93
|
```bash
|
|
87
|
-
# 使用 pip 安装
|
|
88
94
|
pip install fund-cli
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 从源码安装
|
|
89
98
|
|
|
90
|
-
|
|
91
|
-
git clone https://github.com/
|
|
99
|
+
```bash
|
|
100
|
+
git clone https://github.com/jarrey-0804/fund-cli.git
|
|
92
101
|
cd fund-cli
|
|
93
102
|
pip install -e ".[dev]"
|
|
94
103
|
```
|
|
95
104
|
|
|
96
|
-
###
|
|
105
|
+
### 验证安装
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
fund --version
|
|
109
|
+
fund --help
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 使用教程
|
|
115
|
+
|
|
116
|
+
### 基本命令
|
|
97
117
|
|
|
98
118
|
```bash
|
|
99
119
|
# 查看帮助
|
|
@@ -112,53 +132,130 @@ fund compare 000001 000002 000003
|
|
|
112
132
|
fund info 000001
|
|
113
133
|
```
|
|
114
134
|
|
|
115
|
-
|
|
135
|
+
### AI分析功能 (V2.0)
|
|
116
136
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
-
|
|
120
|
-
- [开发指南](docs/development.md)
|
|
137
|
+
```bash
|
|
138
|
+
# 配置AI服务
|
|
139
|
+
fund ai config --provider qwen --api-key YOUR_API_KEY
|
|
121
140
|
|
|
122
|
-
|
|
141
|
+
# AI基金分析
|
|
142
|
+
fund ai summarize 000001
|
|
123
143
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
| 可视化 | Plotly, Matplotlib |
|
|
131
|
-
| AI集成 | LiteLLM |
|
|
144
|
+
# AI投资建议
|
|
145
|
+
fund ai advice --risk-level 中等
|
|
146
|
+
|
|
147
|
+
# AI风险评估
|
|
148
|
+
fund ai risk 000001
|
|
149
|
+
```
|
|
132
150
|
|
|
133
|
-
|
|
151
|
+
### 组合优化
|
|
134
152
|
|
|
153
|
+
```bash
|
|
154
|
+
# 均值方差优化
|
|
155
|
+
fund optimize mean-variance 000001 000002 000003
|
|
156
|
+
|
|
157
|
+
# 风险平价优化
|
|
158
|
+
fund optimize risk-parity 000001 000002 000003
|
|
159
|
+
|
|
160
|
+
# 最大夏普比率优化
|
|
161
|
+
fund optimize max-sharpe 000001 000002 000003
|
|
135
162
|
```
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
163
|
+
|
|
164
|
+
### 数据管理
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# 更新基金数据
|
|
168
|
+
fund data update
|
|
169
|
+
|
|
170
|
+
# 查看数据缓存
|
|
171
|
+
fund data cache info
|
|
172
|
+
|
|
173
|
+
# 清理缓存
|
|
174
|
+
fund data cache clear
|
|
148
175
|
```
|
|
149
176
|
|
|
150
|
-
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## API文档
|
|
180
|
+
|
|
181
|
+
### Python API 使用
|
|
182
|
+
|
|
183
|
+
```python
|
|
184
|
+
from fund_cli import FundClient
|
|
185
|
+
|
|
186
|
+
# 创建客户端
|
|
187
|
+
client = FundClient()
|
|
188
|
+
|
|
189
|
+
# 获取基金信息
|
|
190
|
+
fund_info = client.get_fund("000001")
|
|
191
|
+
|
|
192
|
+
# 分析基金
|
|
193
|
+
analysis = client.analyze("000001")
|
|
194
|
+
|
|
195
|
+
# 筛选基金
|
|
196
|
+
funds = client.screen(type="股票型", min_scale=10)
|
|
197
|
+
|
|
198
|
+
# 对比基金
|
|
199
|
+
comparison = client.compare(["000001", "000002", "000003"])
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### AI分析 API
|
|
203
|
+
|
|
204
|
+
```python
|
|
205
|
+
from fund_cli.ai import AIAnalyzer
|
|
206
|
+
|
|
207
|
+
# 创建分析器
|
|
208
|
+
analyzer = AIAnalyzer(provider="qwen", api_key="YOUR_API_KEY")
|
|
209
|
+
|
|
210
|
+
# 基金摘要
|
|
211
|
+
summary = analyzer.summarize_fund("000001")
|
|
212
|
+
|
|
213
|
+
# 投资建议
|
|
214
|
+
advice = analyzer.investment_advice(risk_level="中等")
|
|
215
|
+
|
|
216
|
+
# 风险评估
|
|
217
|
+
risk = analyzer.risk_assessment("000001")
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 开发指南
|
|
223
|
+
|
|
224
|
+
### 开发环境设置
|
|
151
225
|
|
|
152
226
|
```bash
|
|
227
|
+
# 克隆仓库
|
|
228
|
+
git clone https://github.com/jarrey-0804/fund-cli.git
|
|
229
|
+
cd fund-cli
|
|
230
|
+
|
|
231
|
+
# 创建虚拟环境
|
|
232
|
+
python -m venv venv
|
|
233
|
+
source venv/bin/activate # Linux/macOS
|
|
234
|
+
# 或 venv\Scripts\activate # Windows
|
|
235
|
+
|
|
153
236
|
# 安装开发依赖
|
|
154
237
|
pip install -e ".[dev]"
|
|
155
238
|
|
|
156
239
|
# 安装 pre-commit 钩子
|
|
157
240
|
pre-commit install
|
|
241
|
+
```
|
|
158
242
|
|
|
159
|
-
|
|
243
|
+
### 运行测试
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
# 运行所有测试
|
|
160
247
|
pytest tests/
|
|
161
248
|
|
|
249
|
+
# 运行带覆盖率
|
|
250
|
+
pytest --cov=src/fund_cli tests/
|
|
251
|
+
|
|
252
|
+
# 运行特定测试
|
|
253
|
+
pytest tests/unit/test_core/ -v
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### 代码质量
|
|
257
|
+
|
|
258
|
+
```bash
|
|
162
259
|
# 代码格式化
|
|
163
260
|
black src tests
|
|
164
261
|
|
|
@@ -169,15 +266,57 @@ ruff check src tests
|
|
|
169
266
|
mypy src
|
|
170
267
|
```
|
|
171
268
|
|
|
172
|
-
|
|
269
|
+
### 项目结构
|
|
270
|
+
|
|
271
|
+
```
|
|
272
|
+
fund-cli/
|
|
273
|
+
├── src/fund_cli/ # 源代码
|
|
274
|
+
│ ├── cli.py # CLI入口
|
|
275
|
+
│ ├── config.py # 配置管理
|
|
276
|
+
│ ├── core/ # 核心模块
|
|
277
|
+
│ ├── data/ # 数据层
|
|
278
|
+
│ ├── analysis/ # 分析模块
|
|
279
|
+
│ ├── ai/ # AI模块 (V2.0)
|
|
280
|
+
│ ├── commands/ # CLI命令
|
|
281
|
+
│ └── utils/ # 工具函数
|
|
282
|
+
├── tests/ # 测试代码
|
|
283
|
+
├── docs/ # 文档
|
|
284
|
+
└── examples/ # 示例脚本
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## 技术栈
|
|
290
|
+
|
|
291
|
+
| 类别 | 技术 |
|
|
292
|
+
|------|------|
|
|
293
|
+
| CLI框架 | Typer, Rich |
|
|
294
|
+
| 数据处理 | Pandas, NumPy |
|
|
295
|
+
| 数据源 | AKShare, Tushare |
|
|
296
|
+
| 量化分析 | QuantStats, PyPortfolioOpt |
|
|
297
|
+
| 可视化 | Plotly, Matplotlib |
|
|
298
|
+
| AI集成 | LiteLLM, Qwen |
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## 更多文档
|
|
303
|
+
|
|
304
|
+
- [安装指南](https://github.com/jarrey-0804/fund-cli/blob/main/docs/installation.md)
|
|
305
|
+
- [使用教程](https://github.com/jarrey-0804/fund-cli/blob/main/docs/usage/tutorial.md)
|
|
306
|
+
- [API参考](https://github.com/jarrey-0804/fund-cli/blob/main/docs/api/reference.md)
|
|
307
|
+
- [开发指南](https://github.com/jarrey-0804/fund-cli/blob/main/docs/development.md)
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## 许可证
|
|
173
312
|
|
|
174
313
|
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件。
|
|
175
314
|
|
|
176
|
-
##
|
|
315
|
+
## 贡献
|
|
177
316
|
|
|
178
317
|
欢迎贡献!请查看 [贡献指南](CONTRIBUTING.md) 了解详情。
|
|
179
318
|
|
|
180
|
-
##
|
|
319
|
+
## 联系方式
|
|
181
320
|
|
|
182
|
-
- 问题反馈: [GitHub Issues](https://github.com/
|
|
183
|
-
- 功能建议: [GitHub Discussions](https://github.com/
|
|
321
|
+
- 问题反馈: [GitHub Issues](https://github.com/jarrey-0804/fund-cli/issues)
|
|
322
|
+
- 功能建议: [GitHub Discussions](https://github.com/jarrey-0804/fund-cli/discussions)
|