Skip to content

F0restN/FundPilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data: akshare

FundPilot

基金分析、筛选与组合导航工具。项目目标不是找“过去涨得最多”的基金,而是用可复用规则筛出更可能有持续风险调整收益的基金,并结合个人持仓做组合诊断。

当前能力

  • portfolio.yaml 读取支付宝基金交易记录
  • 使用加权平均法计算当前份额、成本价、市值与浮动盈亏
  • 通过 AKShare 拉取基金净值、基础信息、持仓、分红与指数数据
  • 使用 SQLite 缓存减少重复请求
  • 计算年化收益、年化波动、最大回撤、Sharpe、Sortino、Calmar、Alpha、Beta、信息比率等指标
  • 按基金类型做初步分类与评分:短债、纯债、固收+、权益、量化、红利、黄金、QDII、行业主题
  • 输出当前组合的基金筛选诊断表

使用

uv run python main.py

预热缓存:

uv run python src/update_cache.py

打开 notebook 做交互分析:

uv run jupyter notebook

请从项目根目录运行该命令。uv 会使用当前项目的 .venv;不要用系统 Python 或全局 Jupyter 启动这个 notebook。

运行本地测试:

uv run python -m unittest discover -s tests

Python API: 多 Agent 问答

规划中的 UI 会调用 Python API,而不是依赖命令行解析。当前入口:

from src.agents import answer_question

answer = answer_question("我的组合现在风险怎么样?")
print(answer)

该 API 目前返回纯文本答案,并保留数据来源与“非投资建议”提示。后续 UI 需要更细粒度渲染时,再决定是否升级为结构化返回。

方法框架

筛选逻辑分为几层:

  1. 基础过滤:成立时间、规模、类型、基金经理、申购状态
  2. 绩效评估:收益、波动、回撤、胜率、风险调整收益
  3. 基准比较:Alpha、Beta、超额收益、跟踪误差、信息比率
  4. 风险识别:债基回撤异常、主题基金波动过高、持仓集中度过高
  5. 组合动作:优选、持有观察、谨慎观察、复核、替换候选

数据文件

  • portfolio.yaml:基金交易记录
  • data/fund_cache.db:AKShare 数据缓存
  • src/report/:人工或半自动生成的分析报告

下一步

  • 加入同类基金分位数排名,替代部分静态阈值
  • 增加 A/C 份额费率与持有期成本比较
  • 增加基金经理任职期、历史产品、变更事件分析
  • 增加风格箱、风格漂移和行业暴露分析
  • 生成 Markdown/HTML 自动报告
  • 补测试:成本法、指标计算、缓存新鲜度、评分边界

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors