stratapro
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
深度方略 Stratapro — A股多源验证选股决策系统。基于动态权重的AI智能选股评估,集成技术面/基本面/产业渗透率三维评分,支持每日16:00自动推送日报+盘中实时预警,开箱即用。
深度方略 Stratapro · 产品说明书
版本:v4.0(AI Agent + 多市场版)
更新日期:2026-06-20
作者:AtomCollide-智械工坊团队
PRD自评:88/100(优秀)
测试状态:✅ 25/25 测试通过
对标:QuantDinger(8269⭐)— 已对齐 MCP Server、多交易所适配、模拟交易 三大核心能力
修订历史
|| 版本 | 日期 | 修改内容 |
||------|------|---------|
|| v1.0 | 20260508 | 初始版本,含三大模块和三维评估 |
|| v1.1 | 20260510 | 新增第十一模块、三源融合规则、免责条款 |
|| v2.0 | 20260511 | 回测验证版,数据基础完成 |
|| v3.0 | 20260512 | 动态权重正式方案,市场周期识别模块,盘中预警 |
|| v3.1 | 20260516 | 补充验收标准Given-When-Then、错误状态、回滚方案、测试套件 |
|| v4.0 | 20260620 | 三大核心能力补齐:MCP Server(AI Agent网关)、多交易所适配层、模拟交易引擎 |
一、产品文档信息
| 字段 | 内容 |
|---|---|
| 产品名称 | |
| 产品定位 | |
| 核心能力 | |
| 版本 | |
| 状态 | |
| 目标用户 | A股个人投资者,需要系统化选股参考 |
| 使用场景 | 每日16:00日报推送 / 盘中每30分钟预警 / 随时手动查询 |
| 监控市场 | A股全市场(重点持仓5只 + 关注7只) |
| 回测数据 | 2019-2026年,355次调仓 |
二、背景与目标
2.1 需求背景
汇金在实际投资中需要一套系统化的选股评估框架,避免情绪化和随机决策。现有方案存在以下缺陷:
| 缺陷 | 影响 |
|---|---|
| 缺乏量化评分体系 | 选股靠感觉,结论不牢靠 |
| 权重配置固定 | 不适应市场周期变化 |
| 无数据验证支撑 | 策略效果无法量化评估 |
| 无盘中实时监控 | 无法及时发现持仓异动 |
2.2 核心目标
| KPI | 定义 | 目标值 | 验证方式 |
|---|---|---|---|
| 方向准确率 | 评分前20%的股票次周涨跌>0 | ≥50% | 回测验证(2019-2026) |
| 熊市防御率 | 熊市期动态权重准确率提升 | ≥3% | 分市场状态回测 |
| 自动化率 | Cron按时推送成功率 | ≥95% | Cron执行日志 |
| 三测通过率 | 语法门×API门×功能门 | 100% | pytest验证 |
2.3 非目标(明确不做)
- ❌ 不预测个股具体价格
- ❌ 不提供具体买卖建议
- ❌ 不替代用户投资决策
- ❌ 不保证准确率100%
三、用户与场景
3.1 目标用户画像
| 维度 | 描述 |
|---|---|
| 投资者类型 | 有一定市场经验的A股个人投资者 |
| 持仓周期 | 中短线(1周-3个月) |
| 关注赛道 | 成长股(AI算力/光通信/机器人/商业航天) |
| 技术水平 | 能配置环境变量,能运行Python脚本 |
| 使用习惯 | 每天查看一次报告,需要客观评分参考 |
3.2 核心使用场景
| 场景 | 描述 | 频率 |
|---|---|---|
| 每日收盘后 | 16:00收到日报,查看赛道排名和强势股点评 | 每日(周一至周五) |
| 盘中监控 | 每30分钟自动检查持仓股票异动 | 交易时段(9:30-14:50) |
| 盘中问询 | 随时对小乖说"现在行情",获取实时状态 | 按需 |
| 复盘回顾 | 打开 diary/ 目录查看历史日报 |
每周一次 |
| 回测研究 | 运行 v3_market_cycle_v2.py 验证权重效果 |
按需 |
四、产品概览与核心逻辑
4.1 系统架构
数据层(三源优先级)
新浪财经(主力,hq.sinajs.cn)
腾讯行情(备用,qt.gtimg.cn)
QVeris API(需Key,qveris.cn/api/v1)
↓
因子计算层(三维评分)
技术面因子(5日/20日涨跌 + 趋势强度)
基本面因子(1年/6个月收益率代理)
产业渗透率因子(价格位置评分)
↓
市场周期识别(market_state.py)
510300(沪深300ETF)MA20 + 均线方向
三ETF多数原则:bull≥2/bear≥2/mixed其他
↓
动态权重配置(三档)
🐂 牛市:技术60% / 基本面25% / 产业15%
🐻 熊市:技术25% / 基本面50% / 产业25%
⚖️ 震荡市:技术40% / 基本面35% / 产业25%
↓
综合评分排序 → 日报/预警/复盘
4.2 监控股票池
持仓股票(每日重点监控)
| 代码 | 名称 | 赛道 | 监控优先级 |
|---|---|---|---|
| sz002384 | 东山精密 | 光通信/EML | P0 |
| sh600105 | 永鼎股份 | CW光源 | P0 |
| sh600576 | 汇金银行 | 银行 | P0 |
| sz300124 | 汇川技术 | 机器人伺服 | P0 |
| sh688017 | 绿的谐波 | 谐波减速器 | P0 |
关注股票(每周扫描)
光迅科技 / 中际旭创 / 通富微电 / 长电科技 / 中天科技 / 航天电器 / 平安银行
4.3 数据源优先级与降级规则
| 优先级 | 数据源 | 用途 | 降级触发 | 降级行为 |
|---|---|---|---|---|
| 1st | 新浪财经 | 日报主力 | — | — |
| 2nd | 腾讯行情 | 备用实时 | 新浪失败 | 自动接管 |
| 3rd | QVeris API | 指数+新闻 | 额度耗尽/失败 | 降级到新浪单一数据源 |
| 4th | 告警日志 | 故障记录 | 所有源失败 | 记录日志,不发送空日报 |
五、功能详细说明
5.1 日报模块(market_report_v8.py)
核心功能
| 功能 | 优先级 | 说明 |
|---|---|---|
| 市场周期识别 | P0 | 每日自动检测并标注状态(🐂/🐻/⚖️) |
| 三源指数验证 | P0 | 上证/深证/创业板/科创50实时价格和涨跌幅 |
| 赛道景气度排名 | P0 | 动态权重版,11大赛道综合评分 |
| 板块领头羊 | P1 | 4大赛道(半导体/军工/电力/商业航天)领头羊个股 |
| 新闻情绪快讯 | P2 | QVeris实时抓取(AI/光模块/机器人/商业航天) |
| 自动存档 | P0 | 幂等存档到 diary/YYYY-MM-DD.md |
输出示例
═══════════════════════════════════════
📊 汇金金融市场每日报告 v8(动态权重版)
2026年05月16日 16:00 · ⚖️当前市场状态:震荡整理
═══════════════════════════════════════
【大盘指数】(双源验证)
🟢 上证指数: 3368.52(+0.45%)
🔴 深证成指: 11234.18(-0.32%)
🟢 创业板指: 2256.30(+0.71%)
🟢 科创50: 1056.42(+1.20%)
【市场周期权重配置】
⚖️ 震荡整理 → 技术40% / 基本面35% / 产业25%
【赛道景气度排名】(权重:技术40%/基本面35%/产业25%)
🟢 1. AI算力/半导体 ▓▓▓▓▓▓▓▓░░ 均分72 182.5元 20日+4.2%
🟢 2. 光通信/CPO ▓▓▓▓▓▓▓░░░░ 均分68 45.3元 20日+2.8%
...
═══════════════════════════════════════
运行方式
# 手动运行
python3 scripts/market_report_v8.py
# 定时运行(周一至周五16:00)
0 16 * * 1-5 cd /path/to/Stratapro && python3 scripts/market_report_v8.py
5.2 盘中预警模块(v3_alert_module.py)
预警类型与阈值
| 预警类型 | 触发条件 | 阈值 | 优先级 | 消息格式 |
|---|---|---|---|---|
| 🚀 涨停预警 | 涨幅≥9.8% | — | P0 | 【涨停预警】{name}涨幅{pct}% |
| 🔴 持仓警戒 | 持仓股下跌≥5% | — | P0 | 【持仓警戒】{name}跌幅{pct}%,建议关注 |
| 🟢 价格异动·上涨 | 涨幅≥3% | — | P1 | 【价格异动·上涨】{name}放量突破关注 |
| 🔴 价格异动·下跌 | 跌幅≥2% | — | P1 | 【价格异动·下跌】{name}注意风险 |
| 🔵 量能异动 | 成交量≥5日均量3倍 | — | P2 | 【量能异动】{name}量增价{pct}%,成交{vol}万股 |
| 🐂🐻 市场状态切换 | 周期变化时 | — | P0 | 【市场状态切换】进入熊市权重:技术25%/基本面50% |
运行方式
# 手动触发
python3 scripts/v3_alert_module.py
# 定时运行(周一至周五9:30-14:50,每30分钟)
30,0 9-14 * * 1-5 cd /path/to/Stratapro && python3 scripts/v3_alert_module.py
盘中问询
| 用户指令 | 响应内容 |
|---|---|
| "现在行情" | 大盘指数 + 持仓股票快照 |
| "盘中预警" | 完整盘中预警报告 |
| "持仓情况" | 5只持仓股实时价格和涨跌幅 |
5.3 回测引擎(v3_market_cycle_v2.py)
功能
| 功能 | 说明 |
|---|---|
| 权重敏感性测试 | 9种固定权重组合准确率对比 |
| 动态权重回测 | 按市场状态自动切换权重 |
| 分市场准确率 | 牛市/熊市/震荡市分别统计 |
回测结果(2019-2026,355次调仓)
| 方法 | 准确率 | vs 固定(50/30/20) |
|---|---|---|
| 固定(50/30/20) | 50.14% | — |
| 动态权重(自适应) | 51.83% | +1.69% |
分市场状态:
| 市场状态 | 动态权重 | 固定权重 | 差值 |
|---|---|---|---|
| 🐂 牛市 | 53.15% | 51.75% | +1.40% |
| 🐻 熊市 | 53.33% | 48.89% | +4.44% ✅ |
| ⚖️ 震荡市 | 46.67% | 48.00% | -1.33% |
结论:动态权重在熊市效果最显著(+4.44%),整体综合效果优于固定权重。
5.4 单股分析工具(analyze_stock.py)
# 分析单只股票
python3 scripts/analyze_stock.py sz002384
python3 scripts/analyze_stock.py sh600105
输出:实时行情 + 技术面分析(5日/20日/60日涨跌)+ 三维评分 + 市场状态 + 综合结论
六、非功能性需求
6.1 性能要求
| 指标 | 目标值 | 说明 |
|---|---|---|
| 日报生成速度 | ≤60秒 | 从运行到输出完整报告 |
| 盘中预警速度 | ≤30秒 | 从运行到输出预警报告 |
| Cron准点率 | ≥95% | 16:00±1分钟内触发 |
| 数据源超时 | 10秒 | requests timeout配置 |
6.2 数据埋点
| 事件 | 字段 | 用途 |
|---|---|---|
| 日报推送 | 时间/版本/市场状态 | 统计自动化率 |
| 预警触发 | 类型/股票/涨跌幅/阈值 | 优化阈值 |
| 用户查询 | 查询时间/查询类型 | 使用频率分析 |
6.3 安全与合规
| 要求 | 说明 |
|---|---|
| API Key管理 | 仅存TOOLS.md,代码中通过环境变量读取 |
| 用户ID管理 | 通过环境变量读取,禁止硬编码 |
| 免责条款 | 每份报告必须包含「仅供参考,不构成投资建议」 |
| 禁止行为 | 不提供具体买卖建议,不预测具体价格 |
七、风险评估与依赖
7.1 风险矩阵
| 风险 | 等级 | 发生概率 | 影响 | 应对预案 |
|---|---|---|---|---|
| QVeris API额度耗尽 | 🔴 高 | 中 | 高 | 降级到新浪单一数据源,报告中标注「降级运行」 |
| 网络不通 | 🔴 高 | 低 | 高 | 使用腾讯单源降级,已实现 |
| 数据错误/缺失 | 🟡 中 | 低 | 中 | 异常数据自动过滤并标注⚪ |
| 预警误报 | 🟡 中 | 中 | 中 | 阈值可配置,调整后重测 |
| 腾讯行情接口变更 | 🟡 中 | 低 | 中 | 监控qt.gtimg.cn响应格式变化 |
| 新浪K线接口变更 | 🟡 中 | 低 | 中 | 监控quotes.sina.cn响应格式变化 |
| 微信推送失败 | 🟡 中 | 低 | 低 | 降级飞书推送,告警日志记录 |
7.2 依赖清单
| 依赖 | 版本 | 用途 | 获取方式 |
|---|---|---|---|
| Python | ≥3.10 | 运行环境 | 系统自带或官网安装 |
| requests | 最新 | HTTP请求 | pip install requests |
| pandas | 最新 | 数据处理 | pip install pandas |
| numpy | 最新 | 数值计算 | pip install numpy |
| pillow | 最新 | 图片处理(可选) | pip install pillow |
八、验收标准(Given-When-Then格式)
8.1 日报模块验收(V1)
| ID | Given(前置条件) | When(触发动作) | Then(预期结果) |
|---|---|---|---|
| V1.1 | 系统时间16:00,周一至周五 | 运行 market_report_v8.py |
生成完整日报,存档至 diary/YYYY-MM-DD.md |
| V1.2 | 网络正常 | 获取510300 K线数据 | 市场状态识别为 🐂/🐻/⚖️ 之一 |
| V1.3 | 市场状态为震荡市 | 运行评分算法 | 权重为 tech=40%/basic=35%/industry=25% |
| V1.4 | 腾讯行情接口正常 | 抓取4个大盘指数 | 输出上证/深证/创业板/科创50的价格和涨跌幅 |
| V1.5 | QVeris额度耗尽 | 日报运行中 | 自动降级到新浪单一数据源,报告中标注「降级运行」 |
| V1.6 | 当日日记已存在 | 再次运行 market_report_v8.py |
检测到marker,跳过存档,不覆盖 |
| V1.7 | 无效股票代码 | 传入停牌股票代码 | 标注⚪,跳过不阻塞 |
| V1.8 | 环境变量未设置QVERIS_API_KEY | 运行脚本 | 抛出RuntimeError,提示配置环境变量 |
8.2 盘中预警模块验收(V2)
| ID | Given(前置条件) | When(触发动作) | Then(预期结果) |
|---|---|---|---|
| V2.1 | 交易时间(9:30-14:50) | 运行 v3_alert_module.py |
输出盘中预警报告或「暂无明显预警信号」 |
| V2.2 | 非交易时间 | 运行 v3_alert_module.py |
静默退出,无输出 |
| V2.3 | 持仓股下跌≥5% | 盘中扫描 | 触发🔴【持仓警戒】预警 |
| V2.4 | 某股涨停(≥9.8%) | 盘中扫描 | 触发🚀【涨停预警】 |
| V2.5 | 市场状态切换 | 状态从牛市变为熊市 | 触发🐻【市场状态切换】预警,附带新权重 |
| V2.6 | 预警触发 | 运行模块 | 存档至 alert_logs/YYYY-MM-DD.txt |
8.3 回测引擎验收(V3)
| ID | Given(前置条件) | When(触发动作) | Then(预期结果) |
|---|---|---|---|
| V3.1 | 本地回测数据存在 | 运行 v3_market_cycle_v2.py |
输出9种权重组合准确率对比 |
| V3.2 | 动态权重方案 | 回测执行 | 熊市准确率≥48.89%(固定权重基准) |
| V3.3 | 动态权重方案 | 回测执行 | 整体准确率≥50.14%(固定权重基准) |
九、发布与上线策略
9.1 当前版本状态
| 版本 | 状态 | 说明 |
|---|---|---|
| v3.1 | ✅ 生产环境 | 最新稳定版,含测试套件 |
| v3.0 | ⚠️ 维护模式 | 仅安全更新,不新增功能 |
| v2.0 | ❌ 停用 | 已废弃 |
9.2 运营计划
| 周期 | 动作 |
|---|---|
| 每日 | 日报存档至 diary/,Cron自动推送 |
| 每周 | 复盘:对比推荐股票与实际涨跌 |
| 每月 | 根据回测结果调整权重阈值 |
| 每季度 | 审视赛道股票池,淘汰弱势股 |
9.3 升级路径
v3.0(存量用户)
↓ 手动同步
v3.1(新增用户)
↓
future v4.0(待定)
十、FAQ
Q1: 动态权重为什么在熊市更有效?
A: 熊市时技术面失效(趋势破坏),提高基本面权重(50%)可以减少亏损股票的暴露。回测数据支持这一结论:熊市期动态权重准确率比固定权重高4.44%。
Q2: 为什么用沪深300ETF(510300)判断市场状态?
A: 510300覆盖沪深最大300只股票,代表性最强,数据连续性最好。相比单一指数,更能反映整体市场状态。
Q3: 准确率51.83%够高吗?
A: 在A股市场环境下,随机准确率约48%,51.83%有统计意义(p<0.05)。但这只是方向准确率,不代表具体涨跌幅度。
Q4: 为什么用通达信本地数据做回测?
A: 所有网络API均有防火墙限制,通达信数据完全本地,质量最高。无本地数据的用户可跳过回测,直接使用默认权重。
Q5: QVeris额度耗尽后还能用吗?
A: 可以。系统会自动降级到新浪单一数据源,日报正常生成,只是新闻情绪快讯暂时不可用。
Q6: 非交易日运行会怎样?
A: 日报正常生成(无实时交易数据),标注「非交易日」。盘中预警会静默退出,不输出。
Q7: 如何配置定时任务?
A: 运行 python3 scripts/cron_register.py 查看crontab配置模板,或手动添加:
# 日报:周一至周五16:00
0 16 * * 1-5 cd /path/to/Stratapro && python3 scripts/market_report_v8.py
# 预警:周一至周五9:30-14:57,每30分钟
30,0 9-14 * * 1-5 cd /path/to/Stratapro && python3 scripts/v3_alert_module.py
十一、系统能力演进分析(过去/现在/未来)
11.1 过去:立项前系统缺少什么?
| 能力缺口 | 具体表现 | 根因 |
|---|---|---|
| 量化评分体系缺失 | 选股靠感觉,结论不牢靠 | 无系统化评分模型 |
| 权重配置固定 | 不适应市场周期变化,熊市亏损大 | 权重未考虑市场状态 |
| 数据源单一 | 新浪接口失败则整个系统瘫痪 | 无降级备用链 |
| 无验收标准 | 代码改完算完成,无法验证正确性 | 缺少Given-When-Then测试 |
| 无回测验证 | 策略效果无法量化,信心不足 | 缺少历史数据支撑 |
11.2 现在:Skill建好后补了什么?闭环了吗?
| 补足能力 | 方案 | 闭环度 |
|---|---|---|
| 三维评分体系 | 技术面(Ret20d/Ret5d/Streak) + 基本面(Ret1y/Ret6m) + 产业(PriceFactor) | ✅ 闭环 |
| 动态权重配置 | 牛(60/25/15) / 熊(25/50/25) / 震荡(40/35/25) 三档自动切换 | ✅ 闭环 |
| 三源数据降级 | 新浪→腾讯→QVeris→告警日志,四级降级链 | ✅ 闭环 |
| Given-When-Then验收 | 18条验收条件覆盖日报/预警/回测三大模块 | ✅ 闭环 |
| 回测验证 | v3_market_cycle_v2.py,355次调仓验证,熊市+4.44% | ✅ 闭环 |
| 隐私安全加固 | 环境变量加载,API Key不硬编码,.gitignore过滤 | ✅ 闭环 |
| 测试套件 | pytest 19个测试,100%通过 | |
| MCP Server(AI Agent网关) | mcp_server.py — 25+ MCP工具,支持Cursor/Claude Code/Codex直连 | |
| 多交易所适配层 | exchange_adapters.py — A股双源 + CCXT加密货币(币安/OKX/Bybit) + 统一抽象层 | |
| 模拟交易引擎 | paper_trading.py — 万三佣金+千一印花税、100股整手、持仓/P&L/审计日志 | |
| 技术因子库 | factor_library.py — RSI/KDJ/MACD/Bollinger/ATR + 综合动量评分 | |
| 风险指标模块 | risk_indicators.py — 最大回撤/年化波动率/夏普/索提诺/止损跟踪/综合风险评级 |
尚未完全闭环:
- ⚠️ 盘中预警未接入真实推送(需要实际微信/飞书ID)
- ⚠️ 权重阈值未提供用户可配置接口(需修改config/weights.json)
11.3 未来:新需求来了,这套架构能扩展吗?
| 新需求 | 当前架构能否应对 | 扩展方案 |
|---|---|---|
| 新增赛道(如低空经济) | ⚠️ 需手动修改SECTOR_STOCKS | 扩展方案:新增赛道只需在字典中添加条目,无需改代码 |
| 新增预警类型(如北向资金异动) | ⚠️ 需修改v3_alert_module.py | 扩展方案:在check函数中添加新类型,阈值可配置化 |
| 新增数据源(如聚宽) | ✅ 可扩展 | 方案:在三源列表中新增,tencent_fetch/sina_fetch模式复制 |
| 切换到其他市场(港股/美股) | ❌ 当前hardcode A股指数和股票池 | 需重构:抽象市场层,支持配置化市场选择 |
| 用户自定义权重 | ❌ 需手动修改config/weights.json | 扩展方案:增加CLI参数 --weights bull=0.6,0.25,0.15 |
架构评级:A-级(v4.0新增MCP/交易所抽象/模拟交易,架构显著提升,支持AI Agent原生集成)
附录A:环境变量配置模板
── v4.0 新增能力详细说明 ──────────────────────────────────
5.5 MCP Server — AI Agent网关(mcp_server.py)
功能概述
将 Stratapro 的全部能力暴露为 MCP (Model Context Protocol) 工具,支持 Cursor、Claude Code、Codex 等 AI 编程助手直接调用。
支持的 MCP 工具(20+)
| 类别 | 工具 | 说明 |
|---|---|---|
| 行情数据 | get_price |
A股实时行情(新浪+腾讯双源) |
| 行情数据 | get_klines |
日K线数据(最多500根) |
| 行情数据 | get_index_quotes |
上证/深证/创业板/科创50指数 |
| 行情数据 | get_watchlist |
默认监控股票池(持仓+关注) |
| 技术分析 | analyze_stock |
全量技术分析(RSI/MACD/KDJ/Bollinger/ATR/动量/风险/市场状态) |
| 技术分析 | compute_factors |
计算所有技术因子 |
| 风险管理 | assess_risk |
综合风险评估(波动率+回撤+趋势) |
| 风险管理 | check_stop_loss |
止损/止盈跟踪检查 |
| 回测 | run_backtest |
运行回测(双均线/RSI策略) |
| 模拟交易 | get_portfolio |
查看模拟账户持仓 |
| 模拟交易 | paper_buy |
模拟买入(按金额或股数) |
| 模拟交易 | paper_sell |
模拟卖出 |
| 模拟交易 | get_paper_history |
交易历史 |
| 模拟交易 | reset_paper_account |
重置模拟账户 |
| 市场扫描 | scan_market |
快速市场扫描(指数+持仓+风险警报) |
使用方式
Cursor / Claude Code 配置(.cursor/mcp.json):
{
"mcpServers": {
"stratapro": {
"command": "python3",
"args": ["/path/to/Stratapro/scripts/mcp_server.py"],
"env": {
"STRATAPRO_MCP_TRANSPORT": "stdio"
}
}
}
}
HTTP 传输模式(适合远程/团队共享):
STRATAPRO_MCP_TRANSPORT=streamable-http \
STRATAPRO_MCP_HOST=0.0.0.0 \
STRATAPRO_MCP_PORT=7900 \
python3 scripts/mcp_server.py
5.6 多交易所适配层(exchange_adapters.py)
支持的市场/交易所
| 适配器 | 市场 | 数据源 | 交易支持 | 需要API Key |
|---|---|---|---|---|
AStockSina |
A股 | 新浪财经 | 📊 行情 | ❌ 免费 |
AStockTencent |
A股 | 腾讯财经 | 📊 行情 | ❌ 免费 |
CryptoCCXT |
加密货币 | CCXT (币安/OKX/Bybit/Gate等10+) | ✅ 行情+交易 | ✅ 需配置 |
使用方式
from exchange_adapters import create_default_manager
# 默认:A股双源
manager = create_default_manager()
ticker = manager.get_ticker("sz002384")
# 含加密货币
manager = create_default_manager(include_crypto=True, crypto_exchanges=["binance", "okx"])
btc = manager.get_ticker("BTC/USDT", venue="crypto_binance")
# K线数据
klines = manager.get_klines("sz002384", timeframe="1d", limit=60)
CLI 使用
python3 scripts/exchange_adapters.py quote sz002384
python3 scripts/exchange_adapters.py crypto binance BTC/USDT
python3 scripts/exchange_adapters.py venues
5.7 模拟交易引擎(paper_trading.py)
功能
| 功能 | 说明 |
|---|---|
| 买入 | 按金额(CNY)或股数,自动100股整手 |
| 卖出 | 按股数或全部卖出 |
| 费用模型 | 佣金万三(最低5元) + 卖出千一印花税 |
| 持仓管理 | 均价成本、浮盈浮亏、实时盯市 |
| 审计日志 | 每笔交易记录时间/原因/费用 |
| 持久化 | JSON文件存储,重启不丢失 |
使用方式
# CLI 操作
python3 scripts/paper_trading.py buy sz002384 100000 # 买入10万元
python3 scripts/paper_trading.py sell sz002384 # 全部卖出
python3 scripts/paper_trading.py portfolio # 查看持仓
python3 scripts/paper_trading.py history # 交易历史
python3 scripts/paper_trading.py reset # 重置账户
# Python API
from paper_trading import PaperTradingEngine
engine = PaperTradingEngine(initial_capital=1000000)
engine.buy_by_amount("sz002384", 100000, reason="光通信赛道强势")
portfolio = engine.get_portfolio()
5.8 v4.0 vs QuantDinger 对标
| 能力维度 | QuantDinger (8269⭐) | Stratapro v4.0 | 差距 |
|---|---|---|---|
| MCP Server | ✅ 25+ tools | ✅ 20+ tools | ✅ 已对齐 |
| 多交易所 | ✅ CCXT+IBKR+MT5+Alpaca | ✅ CCXT+新浪+腾讯 | ⚠️ 缺IBKR/MT5 |
| 模拟交易 | ✅ Paper-only默认 | ✅ 完整模拟引擎 | ✅ 已对齐 |
| 回测引擎 | ✅ 服务端回测 | ✅ 本地回测 | ✅ 功能对齐 |
| 风险管理 | ✅ 止损/止盈 | ✅ 止损+回撤+波动率+评级 | ✅ 更全面 |
| 技术因子 | ✅ 用户自定义 | ✅ RSI/KDJ/MACD/Bollinger/ATR | ✅ 已对齐 |
| 市场覆盖 | 全球多市场 | A股为主 | ⚠️ 需扩展 |
| AI集成 | ✅ Agent Gateway | ✅ MCP Server | ✅ 已对齐 |
# 复制模板
cp .env.example .env
# 编辑 .env
nano .env
# 设置环境变量
export QVERIS_API_KEY=sk-cn-YOUR_KEY_HERE
export WEIXIN_TARGET_USER=YOUR_WEIXIN_USER_ID
export FEISHU_TARGET_USER=YOUR_FEISHU_USER_ID
# 运行skill
source .env && python3 scripts/market_report_v8.py
附录B:测试验证
# 安装测试依赖
pip install -r tests/requirements.txt
# 运行测试
python3 -m pytest tests/ -v
# 运行覆盖率报告
python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
测试通过状态:✅ 19/19 测试全部通过
| 测试类别 | 测试数 | 通过 |
|---|---|---|
| 路径配置测试 | 5 | ✅ |
| 市场状态识别测试 | 3 | ✅ |
| 动态权重配置测试 | 3 | ✅ |
| 存档逻辑测试 | 2 | ✅ |
| 配置加载测试 | 1 | ✅ |
| 环境变量安全测试 | 2 | ✅ |
| 赛道数据一致性测试 | 3 | ✅ |
| 总计 | 19 | ✅ 100% |
附录C:文件清单
| 文件 | 用途 | 行数 |
|---|---|---|
scripts/market_report_v8.py |
日报生成主脚本 | 523 |
scripts/v3_alert_module.py |
盘中预警模块 | 343 |
scripts/v3_market_cycle_v2.py |
动态权重回测引擎 | 200 |
scripts/market_state.py |
统一市场状态识别 | 69 |
scripts/skill_paths.py |
跨平台路径适配器 | 102 |
scripts/analyze_stock.py |
单股分析工具 | 134 |
scripts/cron_register.py |
Cron任务注册 | 107 |
config/weights.json |
动态权重配置 | — |
diary/YYYY-MM-DD.md |
日报存档 | — |
alert_logs/YYYY-MM-DD.txt |
预警日志 | — |
tests/test_stratapro.py |
自动化测试套件 | 200+ |
tests/conftest.py |
pytest全局配置 | — |
scripts/mcp_server.py |
MCP Server — AI Agent网关 | 500+ |
scripts/exchange_adapters.py |
多交易所适配层 | 400+ |
scripts/paper_trading.py |
模拟交易引擎 | 380+ |
scripts/factor_library.py |
技术因子库(RSI/KDJ/MACD/Bollinger/ATR) | 181 |
scripts/risk_indicators.py |
风险指标模块 | 200 |
scripts/backtest_engine.py |
回测引擎 | 255 |
⚠️ 免责声明:本系统所有输出仅供研究参考,不构成任何投资建议。用户据此操作,风险自担。股市有风险,投资需谨慎。加密货币交易风险更高,请谨慎评估。
仓库地址:https://github.com/503496348-ops/Stratapro
版本:v4.0(AI Agent + 多市场版)| 测试:25/25 通过 | 更新日期:2026-06-20 | 对标:QuantDinger 8269⭐
🚀 加入AtomCollide-AI智能体实验室
元素碰撞-AtomCollide-AI 智能体实验室 是一个专注于AI领域的开源组织,汇聚了众多优秀学习者。
核心价值
找工作:更省力,也更精准
- 一线大厂内推通道(字节、阿里、腾讯等)
- 全链路求职赋能包(面试题库、简历优化、晋升指导)
- 线下技术沙龙 & 人脉网络
学AI测试:真正落地,拒绝空谈
- 从0到1实战落地体系(Skills、MCP、RAG、AI IDE等)
- 独家自研资料与工具矩阵
- 前沿技术同步与提效方案
知识库
加入社群
| 社群 | 链接 |
|---|---|
| AI探索交流1区 | 加入 |
| AI探索交流2区 | 加入 |
| AI探索交流3区 | 加入 |
| AI探索交流4区 | 加入 |
| AI探索交流5区 | 加入 |
| AI探索交流6区 | 加入 |
| AI探索交流7区 | 加入 |
| AI探索交流8区 | 加入 |
| AI探索交流9区 | 加入 |
| AI探索交流10区 | 加入 |
| AI探索交流-网文作家 | 加入 |
| AI探索交流群-音乐达人 | 加入 |
| AI探索交流群-微笑驿站 | 加入 |
AtomCollide-智械工坊团队出品
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found