Skip to content

SymbolicSecret/DayTradeSelfOptAgent

 
 

Repository files navigation

DayTradeSelfOptAgent

基于数据和舆论监控的 A 股一日游策略多智能体系统,集成 SkillOpt 自我优化 + EvoSkill 结构性发现 双层自进化闭环。

⚠️ 免责声明: 本项目仅供学习研究使用,所有分析结果均不构成任何投资建议。股市有风险,投资需谨慎。

运行环境与成本

项目 说明
推理模型 DeepSeek-V4(所有 Agent prompt 均针对 DS-V4 特性优化)
单股成本 ≈ 0.3 元(每只股票完整分析链路约 15-20 次 LLM 调用)
50 股批量成本 ≈ 15 元(含 4 分析师 + 多空辩论 + 反弹分析师 + 交易员 + 3 方风控讨论)
月成本估算 ≈ 300 元(20 个交易日 × 50 股)

成本随 DeepSeek 官方定价波动,以上为 2026 年 6 月参考值。

策略说明:一日游 (One-Day Swing)

Day 0 (收盘后)  →  9-Agent 分析评估  →  决定 Day 1 是否买入
Day 1 (次日)    →  开盘买入(如果决策为 Buy/Overweight)
Day 2 (第三日)  →  收盘前强制平仓,无论盈亏

硬约束:只做多/不做空,单票仓位 ≤ 30%,Day1 涨幅预期 ≥ 1%(成本 0.11%),流动性过滤(日成交额 ≥ 1 亿、禁止 ST、回避跌停/停牌)。

策略设计理念

一日游不是追求单次收益最大化,而是 追求反馈样本积累速度最大化。 一天 50 个样本、月 1000 个样本(相当长期策略的三年),每 2 天就能验证一条 prompt 好不好。 基于这个反馈密度,用 SkillOpt + EvoSkill 双层架构自动优化 Agent,让命中率在闭环迭代中持续收敛。

核心方法论:SkillOpt + EvoSkill 双层自进化

┌────────── SkillOpt 层 (每日自动) ──────────┐
│                                            │
│  collector → optimizer → aggregate → select│
│                    ↓                       │
│              applier 写入 skill            │
│                    ↓                       │
│              记录 accuracy                 │
│                                            │
└────────────────────────────────────────────┘
                     ↓
          检测是否收敛 (pipeline_history)
                     ↓
          最近 3 轮 accuracy 波动 < 2%?
                     ↓
         ┌── yes ──→ EvoSkill 层触发
         │
         │   evolve.py:
         │     1. 加载全部辩论轨迹
         │     2. DeepSeek 深度分析错误样本
         │     3. 审计现有 skill 能力覆盖
         │     4. 诊断: 结构性缺口 vs 规则不足
         │     5. 输出 discovery.json
         │
         │     ↓ (人工审核)
         │
         │   needs_structural_change = True?
         │     ├─ new_agent → 创建新 skill + 注册节点
         │     ├─ new_section → 在现有 skill 加新章节
         │     └─ merge → 合并冗余 agent
         │
         └── no ──→ 继续 SkillOpt 微调

SkillOpt (Microsoft) — 将 DL 训练范式映射到文本空间:skill.md 的 rule 行 = 模型参数,回测准确率 = 损失函数,LLM 分析错误 = 梯度信号。

EvoSkill (Sentient) — 当 SkillOpt 收敛时,诊断能力缺口,发现缺失的 Agent 模块。本项目首轮发现 reversal_analyst(反弹分析师),8-agent → 9-agent。

详见 docs/skillopt_evoskill_architecture.mddaily_reports/


架构概览 (9-Agent)

用户输入(股票代码)
       │
       ▼
┌─────────────────────────────────────┐
│         第一阶段:信息收集            │
│  基本面 │ 技术面 │ 舆论情绪 │ 政策面    │
└─────────────────────────────────────┘
       │
       ▼
┌─────────────────────────────────────┐
│         第二阶段:多空辩论            │
│     Bull Researcher ⟷ Bear Researcher│
│              ↓                       │
│      Reversal Analyst (反弹视角)      │
│              ↓                       │
│        Research Manager 汇总          │
└─────────────────────────────────────┘
       │
       ▼
┌─────────────────────────────────────┐
│         第三阶段:一日游交易决策        │
│         Trader(Day1买入 Day2强制平仓)  │
└─────────────────────────────────────┘
       │
       ▼
┌─────────────────────────────────────┐
│         第四阶段:风控讨论            │
│  Aggressive ⟷ Conservative ⟷ Neutral │
│              ↓                       │
│       Portfolio Manager 最终决策      │
│    Buy=Day1买入 / Hold=不参与        │
└─────────────────────────────────────┘

快速开始

安装

conda create -n stocka python=3.12
conda activate stocka
pip install -r requirements.txt

配置

cp .env.example .env
# 编辑 .env,填入 DEEPSEEK_API_KEY

运行

# 单只股票测试
python tests/test_one_stock.py

# 50只批量预测 (并发, 增量跳过)
python scripts/batch_predict.py                      # 默认今天
python scripts/batch_predict.py 2026-06-26           # 指定日期
python scripts/batch_predict.py 2026-06-26 --fresh   # 强制全重跑

# 回测验证
python opt/collector.py                # 收集回测信号 (HIT/MISS/STEP)
python scripts/_backtest_summary.py    # 按日期/板块查看明细

# SkillOpt 优化流水线
python opt/run_pipeline.py             # 完整 pipeline (collect → optimize → apply)
python opt/run_pipeline.py --status    # 查看 pipeline 状态 + 收敛情况

# EvoSkill 收敛检测
python opt/evolve.py --force           # 强制运行结构性发现

项目结构

DayTradeSelfOptAgent/
├── skills/                         # Agent Prompt (SkillOpt 可编辑)
│   ├── bull_researcher.skill.md
│   ├── bear_researcher.skill.md
│   ├── reversal_analyst.skill.md   # 🆕 EvoSkill 发现: 反弹分析师
│   ├── research_manager.skill.md
│   ├── trader.skill.md
│   ├── aggressive_risk.skill.md
│   ├── conservative_risk.skill.md
│   ├── neutral_risk.skill.md
│   └── portfolio_manager.skill.md
├── agents/
│   ├── analysts/              # 4 个分析师
│   ├── researchers/           # 多空研究员 + 反弹分析师
│   ├── risk_mgmt.py           # 风控讨论 + 投资经理终决
│   ├── trader.py              # 一日游交易员
│   ├── schemas.py             # Pydantic 数据模型
│   ├── skill_loader.py        # SkillOpt Prompt 加载器
│   └── utils/
├── dataflows/
│   ├── interface.py           # 统一数据路由
│   ├── akshare_adapter.py     # AKShare 适配器 (15+ API)
│   └── market_cache.py        # 多级缓存系统
├── graph/
│   ├── trading_graph.py       # LangGraph 主图 + 结果保存
│   ├── setup.py               # 图构建配置 (9-agent 注册)
│   └── conditional_logic.py   # 条件路由 (含 reversal_analyst)
├── opt/                       # SkillOpt + EvoSkill 优化管线
│   ├── run_pipeline.py        # 统一入口
│   ├── collector.py           # 回测信号采集
│   ├── optimizer.py           # LLM 错误分析 → edits.json
│   ├── aggregate.py           # 合并去重相似编辑
│   ├── select.py              # 四维评分 top-k 筛选
│   ├── applier.py             # 写入 SKILLOPT-EDITABLE 区域
│   ├── gate.py                # 新旧 accuracy 对比
│   ├── evolve.py              # EvoSkill 收敛检测 + 结构性发现
│   └── debate_logger.py       # 辩论轨迹归档
├── scripts/
│   ├── batch_predict.py       # 批量预测 (并发 + 增量 + 大盘预加载)
│   ├── stock_universe.py      # 统一股票配置 (50只)
│   ├── market_overview.py     # 大盘数据预加载
│   ├── generate_daily_report.py
│   ├── backtest_day.py
│   ├── backtest_multiday.py
│   ├── backfill_dates.py
│   └── run_batch_date.py      # 指定日期批量分析
├── docs/
│   ├── skillopt_evoskill_architecture.md  # 🆕 双层自进化架构文档
│   └── one_day_swing_strategy.md
├── daily_reports/             # 每日日报
├── main.py                    # CLI 入口
└── .env.example

覆盖股票池 (50 只, 5 板块 × 10)

板块 股票
☀️ 光伏 通威、隆基、阳光电源、天合、迈为、晶澳、福斯特、锦浪、爱旭、固德威
💨 风电 金风、明阳、东方电缆、新强联、龙源、天顺、运达、中材、大金、泰胜
🧠 AI 科大讯飞、寒武纪、浪潮、中际旭创、同花顺、三六零、昆仑万维、拓尔思、海光、云从
🔋 储能 宁德时代、亿纬锂能、国轩、赣锋、上海电气、当升、派能、欣旺达、鹏辉、南都
👁️ 视觉 海康、大华、德赛西威、中科创达、韦尔、欧菲光、虹软、格灵深瞳、凌云光、奥普特

统一配置在 scripts/stock_universe.py,所有脚本自动引用。

回测记录

日期 准确率 HIT STEP MISS 架构
06-22→23 96% 0 1 0 原始 8-agent
06-23→24 60% 0 10 0 SkillOpt 首次优化
06-24→25 60% 2 🆕 6 4 门槛放宽
06-25→26 88% 🔥 0 3 0 9-agent (含 reversal_analyst)

License

Apache License 2.0

About

AstockAgent

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages