跳转至

智能投顾 Agent

项目背景与目标

随着居民财富管理需求的快速增长,传统人工投顾服务存在覆盖面窄、成本高、标准化不足等问题。智能投顾(Robo-Advisor)通过算法与 AI Agent 能力,为用户提供个性化的资产配置建议、动态组合管理与再平衡服务,让大众也能享受专业的财富管理体验。

本项目目标是构建一个端到端的智能投顾 Agent 系统,核心能力包括:用户风险偏好评估、多资产配置方案生成、组合表现跟踪、自动再平衡建议、市场事件解读与持仓调整提示。系统须遵循"合规优先、风险可控、透明可解释"的原则,所有建议需附带依据说明,禁止承诺收益。

需求分析

用户角色: - 普通投资者:填写风险问卷、查看配置方案、接收调仓提示 - 投资顾问(人工复核):审核高风险方案、处理异常情况 - 合规风控人员:审查建议合规性、监控异常行为

核心功能需求: 1. 风险评估:通过问卷 + 历史行为刻画用户风险等级(C1-C5) 2. 资产配置:基于风险等级、资金规模、投资期限生成大类资产配比 3. 组合再平衡:监控偏离度,触发阈值时生成再平衡建议 4. 市场解读:抓取宏观事件、财报、政策,输出对持仓的影响分析 5. 持仓诊断:对用户既有持仓进行健康度评分与优化建议

非功能需求:响应时延 P95 < 3s;配置方案可解释;所有建议留痕可审计;满足适当性管理要求。

技术选型说明

模块 技术方案 选型理由
Agent 框架 LangGraph 状态机式编排,适合多步骤评估流程
LLM GPT-4o / Qwen-Max 市场解读与建议生成需要强推理
风险评估引擎 规则 + 评分卡 监管要求可解释,避免黑盒
配置算法 均值-方差模型 + Black-Litterman 经典资产配置理论,可调预期收益
行情数据 Tushare / AkShare / Wind API 覆盖 A 股、基金、债券、商品
向量库 Milvus 存储研报、政策文档做 RAG
后端 FastAPI + Celery 异步任务处理行情抓取与回测
数据库 PostgreSQL + Redis 用户画像持久化 + 实时行情缓存
前端 React + ECharts 配置饼图、净值曲线可视化

架构设计

flowchart TD
    U[用户终端] --> API[FastAPI 网关]
    API --> AG[LangGraph Agent 编排]
    AG --> RISK[风险评估模块]
    AG --> ALLOC[资产配置引擎]
    AG --> REB[再平衡监控]
    AG --> MKT[市场解读 RAG]
    RISK --> DB[(PostgreSQL 用户画像)]
    ALLOC --> MD[配置算法服务]
    MD --> QUOTE[行情数据服务]
    REB --> REDIS[(Redis 持仓缓存)]
    MKT --> VEC[(Milvus 研报向量)]
    MKT --> LLM[LLM 推理]
    AG --> AUDIT[审计留痕]
    CEL[Celery 定时任务] --> QUOTE
    CEL --> REB
    AUDIT --> DB

关键模块实现思路

模块1:风险评估

设计两层评估机制:静态问卷 + 动态行为。静态问卷采集年龄、收入、投资经验、亏损承受度、投资期限等维度,使用评分卡映射到 C1-C5 五档。动态行为通过用户历史交易(追涨杀跌频率、持仓集中度、赎回行为)做修正。

def map_risk_score(questionnaire: dict, behavior: dict) -> str:
    base = score_card(questionnaire)              # 0-100 分
    adjusted = base + behavior_adjust(behavior)    # 行为修正 ±10
    level = "C1" if adjusted < 20 else "C2" if adjusted < 40 ...
    return level  # 返回风险等级,附带依据

问卷题目与权重需经合规审核,避免诱导性提问。结果须强制告知用户并签字确认。

模块2:资产配置引擎

采用"战略配置 + 战术微调"双层结构。战略配置基于风险等级确定股/债/商品/现金的大类比例,使用均值-方差模型在历史收益-协方差矩阵上求解有效前沿,再叠加 Black-Litterman 模型引入主观观点做调整。战术微调由 LLM 结合宏观研判给出 ±5% 偏离建议。

每个风险等级预设一个"基准组合"作为锚点,配置结果须与基准偏离不超过阈值,保证一致性。

模块3:组合再平衡

设置时间触发(月度/季度)与阈值触发(任一资产偏离目标比例 > 5%)双机制。再平衡时考虑交易成本、税收影响、申赎限额,输出"建议卖出/买入清单"而非强制执行。

再平衡建议需附带回测对比:执行 vs 不执行过去 1 年的夏普比率差异,增强说服力。

模块4:市场解读 RAG

构建研报与政策文档向量库,定时抓取券商晨报、央行公告、财报季信息。当用户询问"今天大盘为什么跌"或主动推送时,LLM 先检索相关文档,再结合用户持仓生成影响分析:影响方向(利好/利空)、影响程度(高/中/低)、建议动作(持有/调仓/关注)。

核心流程详解

首次配置流程: 1. 用户注册并完成风险问卷 → 系统生成风险等级 2. 输入资金规模、投资期限、目标收益 3. Agent 调用配置引擎生成 3 套候选方案(保守/平衡/进取) 4. LLM 生成方案解读(为什么这样配、预期风险收益) 5. 用户选择方案 → 落地持仓 → 写入审计日志

再平衡流程: 1. Celery 定时任务每日收盘后计算持仓偏离度 2. 触发阈值 → Agent 生成再平衡建议 3. 推送通知给用户,附回测对比与依据 4. 用户确认 → 生成调仓指令(对接券商交易接口需持牌)

部署与优化建议

  • 合规隔离:建议生成与交易执行物理分离,建议侧由 Agent 完成,执行侧走持牌交易系统
  • 数据时效:行情数据缓存不超过 15 分钟,关键决策走实时接口
  • LLM 成本:市场解读使用 GPT-4o,简单问答降级到 GPT-4o-mini
  • 缓存策略:基准组合与风险等级映射表常驻 Redis,减少重复计算
  • 灰度发布:新配置算法先在 5% 用户灰度,监控夏普比率与回撤

常见问题与解决方案

问题 原因 解决方案
配置方案同质化 基准组合限制过死 引入用户标签做差异化微调
LLM 解读与数据矛盾 模型幻觉 RAG 强制检索 + 数值校验护栏
行情接口限流 第三方 API 配额 多源备份 + 本地缓存降级
用户风险等级突变 行为修正过激 修正幅度限幅 + 人工复核

扩展方向

  • 接入港股、美股、REITs 等更多资产类别
  • 增加目标日期基金(TDF)模式,按退休年份自动下滑风险
  • 引入社交功能,用户可分享组合(脱敏后)供参考
  • 对接券商 OpenAPI 实现一键调仓(需合规备案)