面向个人投资者的只读金融 AI 投研原型。项目以可核验数据为基础,将行情、财务、机构共识和市场信息组织为轻量研究结论,并通过受约束的 Agent 流程完成解释。
- 单标的投前研究:证券消歧、行情快照、历史价格、财务指标、分析师共识和资讯线索。
- 市场雷达:主要指数代理、板块表现以及 3/5 日主力资金动向。
- Evidence 证据链:保留来源、数据时间、计算区间和确定性指标口径。
- 受约束 AI 解读:LLM 只解释结构化事实,不负责金融数值计算,也不执行交易。
- 响应式界面:围绕“结论 → 依据 → 证据详情”组织桌面端和移动端信息。
用户问题
→ 意图识别与标的消歧
→ 受控 Skill 调用
→ Futu OpenAPI / 本地缓存
→ Python 确定性指标计算
→ Evidence 上下文构建
→ LLM 选择并解释关键信号
→ 输出校验与 data_only 降级
系统限制单次任务调用次数,并在模型不可用、数据过期或证据不足时降级为只展示可核验数据。
- Backend:Python、FastAPI、Pydantic、SQLite
- Data:Futu OpenAPI、OpenD Gateway;保留 Tushare A 股 Adapter
- AI:GLM-4.7-Flash、结构化 Prompt、Context Builder、Output Validator
- Frontend:React、Next.js、TypeScript、Vinext
- Quality:Pytest、Node Test、ESLint
Futu SDK 只存在于 Provider Adapter 内,业务层使用统一领域模型。收益率、波动率、最大回撤、财务增速和资金强度均由 Python 确定性计算;模型只能基于白名单上下文进行归纳,不允许补全缺失的新闻正文或编造数据。
资金流强度采用“主力净流入 ÷ 成交额”的统一口径,用于观察交易资金方向,不等同于 ETF 申购赎回或真实基金净流入。
要求 Python 3.11+,并在本机启动 Futu OpenD。
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python -m finagent.cli serve-api --port 8000根据自己的账户配置 .env。不要提交 .env、SQLite 数据库或 OpenD 登录信息。
要求 Node.js 22.13+。
cd web
npm install
cp .env.example .env.local
npm run dev默认访问 http://localhost:3001,后端接口文档位于 http://127.0.0.1:8000/docs。
pytest -q
cd web && npm test当前项目已覆盖数据标准化、缓存、异常边界、指标计算、Skill 输出、API 合约和前端渲染测试。
本项目是金融 AIPM 作品集和可运行 MVP,不是生产投资顾问服务。当前仅提供只读研究辅助,不连接交易账户,不给出收益承诺,也不构成投资建议。
