专业基金分析CLI工具 - 面向机构客户
Project description
Fund CLI
简介
Fund CLI 是一款面向机构客户的专业基金分析命令行工具,提供基金筛选、业绩分析、组合对比、风险监控等功能。基于开源技术栈构建,支持多数据源接入和AI辅助分析。
核心功能
- 基金筛选 - 多维度筛选条件,支持业绩、风险、规模等指标
- 业绩分析 - 收益率、夏普比率、最大回撤等专业指标
- 基金对比 - 多基金横向对比分析
- 组合优化 - 基于现代投资组合理论的资产配置优化
- AI分析 (V2.0) - AI辅助投资分析和报告生成
- 多数据源 - 支持AKShare、Tushare、Wind等数据源
安装指南
系统要求
- Python 3.10 或更高版本
- pip 包管理器
使用 pip 安装
pip install fund-cli
从源码安装
git clone https://github.com/jarrey-0804/fund-cli.git
cd fund-cli
pip install -e ".[dev]"
验证安装
fund --version
fund --help
使用教程
基本命令
# 查看帮助
fund --help
# 筛选基金
fund filter --type 股票型 --min-scale 10
# 分析基金
fund analyze 000001
# 对比基金
fund compare 000001 000002 000003
# 查看基金信息
fund info 000001
AI分析功能 (V2.0)
# 配置AI服务
fund ai config --provider qwen --api-key YOUR_API_KEY
# AI基金分析
fund ai summarize 000001
# AI投资建议
fund ai advice --risk-level 中等
# AI风险评估
fund ai risk 000001
组合优化
# 均值方差优化
fund optimize mean-variance 000001 000002 000003
# 风险平价优化
fund optimize risk-parity 000001 000002 000003
# 最大夏普比率优化
fund optimize max-sharpe 000001 000002 000003
数据管理
# 更新基金数据
fund data update
# 查看数据缓存
fund data cache info
# 清理缓存
fund data cache clear
API文档
Python API 使用
from fund_cli import FundClient
# 创建客户端
client = FundClient()
# 获取基金信息
fund_info = client.get_fund("000001")
# 分析基金
analysis = client.analyze("000001")
# 筛选基金
funds = client.screen(type="股票型", min_scale=10)
# 对比基金
comparison = client.compare(["000001", "000002", "000003"])
AI分析 API
from fund_cli.ai import AIAnalyzer
# 创建分析器
analyzer = AIAnalyzer(provider="qwen", api_key="YOUR_API_KEY")
# 基金摘要
summary = analyzer.summarize_fund("000001")
# 投资建议
advice = analyzer.investment_advice(risk_level="中等")
# 风险评估
risk = analyzer.risk_assessment("000001")
开发指南
开发环境设置
# 克隆仓库
git clone https://github.com/jarrey-0804/fund-cli.git
cd fund-cli
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/macOS
# 或 venv\Scripts\activate # Windows
# 安装开发依赖
pip install -e ".[dev]"
# 安装 pre-commit 钩子
pre-commit install
运行测试
# 运行所有测试
pytest tests/
# 运行带覆盖率
pytest --cov=src/fund_cli tests/
# 运行特定测试
pytest tests/unit/test_core/ -v
代码质量
# 代码格式化
black src tests
# Lint检查
ruff check src tests
# 类型检查
mypy src
项目结构
fund-cli/
├── src/fund_cli/ # 源代码
│ ├── cli.py # CLI入口
│ ├── config.py # 配置管理
│ ├── core/ # 核心模块
│ ├── data/ # 数据层
│ ├── analysis/ # 分析模块
│ ├── ai/ # AI模块 (V2.0)
│ ├── commands/ # CLI命令
│ └── utils/ # 工具函数
├── tests/ # 测试代码
├── docs/ # 文档
└── examples/ # 示例脚本
技术栈
| 类别 | 技术 |
|---|---|
| CLI框架 | Typer, Rich |
| 数据处理 | Pandas, NumPy |
| 数据源 | AKShare, Tushare |
| 量化分析 | QuantStats, PyPortfolioOpt |
| 可视化 | Plotly, Matplotlib |
| AI集成 | LiteLLM, Qwen |
更多文档
许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
贡献
欢迎贡献!请查看 贡献指南 了解详情。
联系方式
- 问题反馈: GitHub Issues
- 功能建议: GitHub Discussions
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fund_cli-2.0.1.tar.gz
(95.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
fund_cli-2.0.1-py3-none-any.whl
(93.1 kB
view details)
File details
Details for the file fund_cli-2.0.1.tar.gz.
File metadata
- Download URL: fund_cli-2.0.1.tar.gz
- Upload date:
- Size: 95.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ee67248db0f02cf61b84751c7ca7812fc4605dc5244b69eb1d62b531f69d3ab
|
|
| MD5 |
ecc68feee847156be1f5202457927965
|
|
| BLAKE2b-256 |
b4c68e213c29ed63b6b3d1e291f03bf1206bd4cf4c274b11d2b2f6369b7828c4
|
File details
Details for the file fund_cli-2.0.1-py3-none-any.whl.
File metadata
- Download URL: fund_cli-2.0.1-py3-none-any.whl
- Upload date:
- Size: 93.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
485bedbf212ab3fdacc9395c1da3fb6772818e874d63694ee04fb02f72e1b159
|
|
| MD5 |
abf5be17f24ba3fab0cad677cf61cd3c
|
|
| BLAKE2b-256 |
50b074aa92332d735c829c20d81191a7c8766ca2df9c50a4586febd50131a9cd
|