type
Post
status
Published
date
May 25, 2026
slug
daily-stock-analysis-agent-guide
summary
这篇文章系统梳理 Daily Stock Analysis 的核心功能、部署方式、普通分析与 Agent 模式的实现差异,并用一只股票示例说明不同模式下报告会长什么样。
tags
Python
agent
工具
category
Agent
icon
📈
password
TL;DR:Daily Stock Analysis 是一个面向 A 股、港股、美股的智能分析系统。它把行情、日线、技术指标、筹码、资金流、新闻情报、板块背景和大模型判断串成一条自动化链路,最后生成可推送、可回看、可在 Web 中追问的决策报告。
🧩 Daily Stock Analysis:从数据抓取到 Agent 决策的完整使用指南
🔍 一、这个项目解决什么问题
Daily Stock Analysis,简称 DSA,本质上是一个“自选股自动研究员”。它不是单纯行情提醒,也不是只调用大模型写一段点评,而是把数据抓取、指标计算、新闻搜索、风险排查、LLM 分析、报告生成和通知推送放在同一条流水线上。
它适合三类场景:
- 每天收盘后自动分析自选股,生成可执行的买卖观察报告。
- 在 Web 工作台里手动分析某只股票,并查看历史报告、回测、持仓。
- 用 Agent 问股,围绕趋势、均线、热点、事件、成长、缠论、波浪等策略做多轮追问。
项目覆盖 A 股、港股、美股,但不同市场的数据源完整度不同。A 股能力最完整,包括实时行情、日线、技术指标、筹码分布、板块归属、资金流和新闻情报。
⚙️ 二、核心功能全景
模块 | 能力 | 用途 |
行情与日线 | 实时价、涨跌幅、成交量、历史 K 线 | 判断当前价格位置、趋势和均线结构 |
技术分析 | MA5、MA10、MA20、乖离率、支撑位、压力位、MACD、RSI、量能 | 给趋势、买点、风险位提供量化背景 |
筹码分布 | 获利比例、平均成本、集中度 | 判断套牢盘、获利盘和筹码压力 |
资金流 | 主力净流入、5 日/10 日流入 | 判断量价背后是否有资金确认 |
新闻情报 | 最新消息、公告、机构观点、风险排查、业绩预期 | 补充技术面之外的催化和风险 |
板块背景 | 所属行业、概念、题材、板块热度 | 判断个股是否处在板块共振中 |
AI 报告 | 核心结论、评分、趋势、买卖点、止损、风险、催化 | 把数据转成可读、可执行的决策仪表盘 |
Agent 问股 | ReAct 工具调用、15 种策略 Skill、多轮问答、多 Agent 编排 | 支持针对一只股票持续追问 |
Web / 桌面 | 配置管理、手动分析、任务进度、历史报告、回测、持仓 | 把命令行能力变成可视化工作台 |
通知推送 | 企业微信、飞书、Telegram、Discord、Slack、邮箱、自定义 Webhook | 每天自动把报告推到使用场景里 |
🚀 三、如何部署和运行
1. 本地命令行运行
最小方式是复制环境变量模板,配置股票列表和至少一个大模型 Key:
常用命令:
2. Web 工作台
Web 模式会启动 FastAPI 和前端工作台:
默认访问:
Web 里可以做这些事:
- 修改系统配置和模型配置。
- 手动触发个股分析或大盘复盘。
- 查看任务进度和历史报告。
- 使用 Agent 策略问股。
- 管理回测、持仓、告警规则。
3. Docker 部署
Docker 更适合长期运行:
或者启动定时分析容器:
两者都启动:
常见模式:
命令 | 用途 | 端口 |
docker-compose -f ./docker/docker-compose.yml up -d server | Web / API 服务模式 | 8000 |
docker-compose -f ./docker/docker-compose.yml up -d analyzer | 每日自动分析模式 | - |
docker-compose -f ./docker/docker-compose.yml up -d | 同时启动 Web 和定时任务 | 8000 |
4. GitHub Actions 自动运行
适合不想维护服务器的人。把仓库 Fork 后,在 Actions Secrets / Variables 中配置:
- 大模型 API Key。
- 股票列表。
- 通知渠道 Webhook。
- 可选搜索 API Key 和 Tushare Token。
默认工作流通常在交易日收盘后运行,适合“每天自动推送一份报告”。
🧭 四、一次实际分析会发生什么
以
600487 为例,典型流程如下:- 读取股票列表:从
.env、命令行参数或 Web 请求里拿到600487。
- 获取基础行情:先拿日线,再拿实时行情,用实时价补齐盘中/盘后价格状态。
- 计算技术指标:计算 MA5、MA10、MA20、均线排列、乖离率、支撑位、压力位、趋势评分、MACD、RSI、量能。
- 获取筹码分布:如果当天筹码还没更新,可能自动取上一个交易日。
- 获取资金流:优先通过配置的数据源获取个股资金流;如果 AkShare 个股资金流缺失,可以回退到 Tushare
moneyflow_dc。
- 获取所属板块:查询行业、概念、题材,用于判断板块共振和情绪背景。
- 搜索新闻情报:围绕“最新消息、机构分析、风险排查、公司公告、业绩预期”等维度构建查询。
- 构造 Prompt:把行情、技术指标、筹码、资金流、新闻、板块和系统交易纪律拼成大模型输入。
- 生成报告:输出决策仪表盘,包括评分、趋势、买点、止损、风险和操作建议。
- 后处理和推送:做字段完整性检查、决策稳定性校准、通知分段或转图片推送。
这个流程的关键是:日线数据负责历史结构,实时行情负责当前状态,新闻和资金流负责确认或否定技术信号。
🏗️ 五、普通分析和 Agent 模式有什么区别
普通
python main.py 更像一条固定流水线:Agent 模式则是工具调用循环:
它是项目自研的 ReAct 风格实现,不依赖 LangChain、AutoGen 或 CrewAI。工具由项目内的
ToolRegistry 注册,包括:get_realtime_quote
get_daily_history
get_chip_distribution
get_analysis_context
get_stock_info
get_capital_flow
analyze_trend
calculate_ma
get_volume_analysis
analyze_pattern
search_stock_news
search_comprehensive_intel
get_market_indices
get_sector_rankings
get_skill_backtest_summary
get_strategy_backtest_summary
get_stock_backtest_summary
当前 Agent 不加载 MCP 工具。它使用的是项目自己的 Python function tools。
🧠 六、Agent 策略和多 Agent 编排
Agent 的策略写在
strategies/*.yaml,本质是自然语言 Skill,不是硬编码 Python 规则。内置策略包括:- 默认多头趋势
bull_trend
- 缩量回踩
shrink_pullback
- 放量突破
volume_breakout
- 均线金叉
ma_golden_cross
- 底部放量
bottom_volume
- 箱体震荡
box_oscillation
- 龙头策略
dragon_head
- 热点题材
hot_theme
- 事件驱动
event_driven
- 成长质量
growth_quality
- 预期重估
expectation_repricing
- 情绪周期
emotion_cycle
- 缠论
chan_theory
- 波浪理论
wave_theory
- 一阳夹三阴
one_yang_three_yin
配置方式:
如果留空,默认使用主默认策略,内置默认是
bull_trend。多 Agent 编排是顺序工作流,不是自由协商。典型链路:
其中 Agent 编排层是顺序执行;同一个 Agent 内部一次请求多个工具时,工具层可以并行执行。
📄 七、不同模式下报告长什么样
1. REPORT_TYPE=brief
适合推送很短的消息,通常是 3 到 5 句话。
示例:
600487当前处在震荡偏弱区间,价格未形成有效突破。短线需要观察 MA5 附近承接和成交量变化,若资金流继续为负,应以持有观察或降低仓位为主。上方压力关注前高和 MA20 附近,下方支撑关注最近结构低点。
特点:
- 极短。
- 适合手机通知。
- 不展开完整指标。
2. REPORT_TYPE=simple
适合日常默认推送。它会保留核心结论、评分、趋势、操作建议和风险。
示例结构:
特点:
- 比 brief 信息更完整。
- 适合企业微信、飞书、Telegram 推送。
- 不会像 full 那样展开所有证据链。
3. REPORT_TYPE=full
适合 Docker、Web 历史报告、复盘归档。它会保留完整 Markdown 和较完整的分析过程。
示例结构:
特点:
- 最适合复盘和归档。
- 字段完整,便于 Web 展示和历史查询。
- 推送渠道长度有限时可能会分段或转图片。
4. 大盘复盘模式
命令:
报告关注的是市场整体,而不是单只股票:
5. Agent 单 Agent 模式
配置:
输出更像“带工具调用的策略问答”:
6. Agent 多 Agent 模式
配置:
输出来自多个角色的顺序评审:
如果使用
specialist:会在
decision 前插入最多 3 个策略专家,例如:它们当前是顺序执行的独立评审,最后由
decision 统一汇总。🔧 八、部署时最容易踩的点
- 至少要有一个可用大模型 Key:没有模型就只能 dry-run 抓数据,不能生成 AI 报告。
- 搜索 Key 是增强项:没有搜索 Key 也能跑基础技术面,但新闻情报会弱很多。
- Tushare Token 是增强项:有助于补齐筹码、资金流等数据;不同接口积分权限不同。
- Docker 里推荐
REPORT_TYPE=full:避免推送内容看起来不完整,完整报告也更适合 Web 历史。
- Web 外网访问要设置 host:云服务器部署通常需要
WEB_HOST=0.0.0.0或命令行--host 0.0.0.0。
- 通知渠道不是必须:不配置也能生成本地报告;配置后才会推送。
- Agent 模式更贵更慢:单 Agent 已经会多轮工具调用,多 Agent 会增加 LLM 调用次数。
✅ 九、我的使用建议
如果只是每天看自选股:
如果希望报告完整归档:
如果希望在 Web 里追问股票:
如果想要更强的风险检查:
如果想研究某只股票是否符合特定交易模式:
🧾 十、总结
Daily Stock Analysis 的价值不在于“让大模型猜涨跌”,而在于把日常复盘中需要反复查的数据和判断框架标准化:行情、趋势、量能、筹码、资金流、新闻、板块和风险都进入同一个报告结构。
普通模式适合稳定自动化;Agent 模式适合交互式追问;多 Agent 模式适合把技术、情报、风控和策略专家拆开,让最终结论更有层次。
实际使用时,建议先从本地或 Docker 的普通分析跑通,再逐步打开 Web、通知、搜索、Tushare、Agent 和多 Agent。这样每一层增强都能明确知道自己解决了什么问题,也更容易定位数据源或模型输出的异常。
- 作者:老王TechTalk
- 链接:https://www.illusionjourney.com/article/daily-stock-analysis-agent-guide
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章









