Files
stock/docs/PLAN.md
T

9.2 KiB
Raw Blame History

中短期A股选股辅助系统 — 项目计划

一、项目定位

基于 opencode + Skill/Custom Tool 机制构建的 A股选股分析辅助工具。利用 AI 辅助多维度分析, 帮助用户做出更有信息量的选股决策。不涉及自动交易,仅做分析推荐,人工下单。

二、核心原则

  1. 验证优先 — 任何策略上线前必须经过历史回测,不依赖未经数据验证的经验法则
  2. 辅助决策,而非替代决策 — 输出结构化分析报告,给出评分和依据,最终决策权归用户
  3. 数据驱动 — 所有分析基于可量化的数据指标,避免主观模糊的语言
  4. 增量迭代 — 先建回测引擎,再建选股工具,最后补舆情分析

三、技术架构

┌──────────────────────────────────────────────┐
│                   opencode TUI               │
│                                               │
│  ┌──────────┐  ┌──────────┐  ┌────────────┐ │
│  │ Skills   │  │ Skills   │  │ Skills      │ │
│  │ Screener │  │ Analyzer │  │ Overview/   │ │
│  │          │  │          │  │ Backtest    │ │
│  └────┬─────┘  └────┬─────┘  └──────┬──────┘ │
│       │              │               │         │
│  ┌────▼──────────────▼───────────────▼──────┐ │
│  │         Custom Tools (TypeScript)        │ │
│  │  stock-data / stock-screen / backtest    │ │
│  └──────────────────┬───────────────────────┘ │
└─────────────────────┼─────────────────────────┘
                      │ Bun.$ `python3 ...`
┌─────────────────────▼─────────────────────────┐
│              Python Scripts                    │
│  ┌───────────┐ ┌──────────┐ ┌──────────────┐ │
│  │ AKShare   │ │ Screener │ │ Backtest     │ │
│  │ Data      │ │ Engine   │ │ Engine       │ │
│  └───────────┘ └──────────┘ └──────────────┘ │
└───────────────────────────────────────────────┘

数据源

数据类别 来源 说明
日K/周K行情 AKShare stock_zh_a_hist
实时行情 AKShare stock_zh_a_spot_em
财务报表 AKShare stock_financial_analysis_indicator
资金流向 AKShare stock_individual_fund_flow
龙虎榜 AKShare stock_sina_lhb_detail_daily
新闻舆情 AKShare + 自建爬虫 stock_news_em
板块数据 AKShare stock_board_industry_*

四、分阶段实施计划

阶段 0:环境与框架搭建

  • 初始化项目目录结构
  • 安装 Python 环境与依赖
  • 编写 AGENTS.md 供 opencode 理解项目
  • 搭建 Custom Tool 骨架(TypeScript → Python 桥接)
  • 搭建 Skill 文件骨架
  • 适配小资金(5万)场景约束

阶段 1:回测引擎(高优先级)

目标: 任何策略可以输入规则 + 参数,输出回测报告。

  • 实现回测引擎核心 backtest_engine.py
    • 模拟交易(按收盘价成交)
    • 计算收益曲线、胜率、最大回撤、夏普比率
    • 支持多策略对比
  • 实现 stock-backtest 工具(TypeScript 包装)
  • 实现回测 Skill(指导 LLM 如何设计、运行、解读回测)
  • 用历史数据跑几个经典策略验证引擎正确性

验证标准: 能跑出 60日均线上穿120日均线 这个经典策略在沪深300上的回测结果。

阶段 2:选股引擎

目标: 多因子打分,输出 Top N 推荐列表。

  • 实现选股筛选器 stock_screener.py
    • 技术因子:趋势强度、均线排列、量价配合、RSI、MACD
    • 资金因子:主力净流入(3/5/10日)、北向资金变化
    • 基本面因子:PE 分位、ROE、营收/利润增速
    • 消息因子:近期新闻数量、机构评级变化(后续补充)
    • 加权打分公式
  • 实现 stock-screen 工具
  • 实现选股 Skill(工作流:大盘评估 → 多因子筛选 → 排序输出)

阶段 3:单股深度分析

目标: 对任意股票生成结构化分析报告。

  • 实现个股分析器 stock_analyzer.py
    • 技术面:趋势定位、均线状态、支撑/阻力位、技术形态识别
    • 资金面:近期主力资金行为模式
    • 基本面:PE/PB 历史分位、杜邦分析摘要
    • 消息面:近30天关键公告、新闻情绪评分
  • 实现 stock-analyzer Skill

阶段 4:大盘环境评估

目标: 每次选股前判断当前是否适合操作。

  • 实现大盘分析 market_overview.py
    • 主要指数趋势判断
    • 市场宽度(上涨/下跌家数比)
    • 成交量趋势
    • 板块轮动热力图
    • 仓位建议(轻仓/中等/重仓)
  • 实现 market-overview Skill

阶段 5:舆情分析增强

  • 新闻爬取与解析
  • 关键词/情绪评分
  • 机构研报监控

五、因子体系设计(初版)

多因子打分权重

维度 权重 子因子
技术面 35% 趋势强度、均线排列、量价配合、RSI位置
资金面 30% 主力净流入趋势、北向资金、大单占比
基本面 25% PE分位、ROE、利润增速、营收增速
消息面 10% 新闻热度、机构评级方向

每个因子标准化为 0-100 分,加权求和得综合分。

六、风险与应对

风险 应对方案
AKShare 接口变动 封装统一数据层,多数据源 fallback
LLM 分析幻觉 所有数据由 Python 脚本计算,LLM 仅做解读和呈现
策略过拟合 回测引擎支持样本外检验(滚动窗口)
市场风格切换 多因子框架允许动态调整权重

七、目录结构

stock/
├── .opencode/
│   ├── tools/                  # Custom Tools (LLM 可调用的函数)
│   │   ├── stock-data.ts       # 数据获取工具组
│   │   ├── stock-screen.ts     # 选股筛选工具组
│   │   └── stock-backtest.ts   # 回测工具组
│   └── skills/                 # Agent Skills (工作流指令)
│       ├── stock-screener/     # 选股工作流
│       ├── stock-analyzer/     # 单股分析工作流
│       ├── market-overview/    # 大盘评估工作流
│       └── stock-backtest/     # 回测工作流
├── scripts/                    # Python 实现
│   ├── market_data.py          # 数据获取 (AKShare)
│   ├── stock_screener.py       # 多因子选股引擎
│   ├── stock_analyzer.py       # 个股深度分析
│   ├── backtest_engine.py      # 回测引擎
│   └── sentiment.py            # 舆情分析
├── docs/
│   └── PLAN.md                 # 本文件
├── requirements.txt
├── AGENTS.md                   # opencode 项目理解
└── README.md

八、小资金(5万)场景适配

约束条件

约束 影响 设计调整
每股单价限制 股价 >500 元直接买不起1手 选股池自动过滤高价股,优先 10-50 元区间
集中持仓 5万只能分散到 2-4 只 选股输出 Top 3-5,附带仓位分配建议
手续费敏感 单次交易 ~60 元(0.12% 每次推荐附带交易成本估算,避免过度拆分
心理因素 5% = 2500 元,感受强烈 所有风控指标同时用百分比和绝对金额展示
收益预期 年化 20% = 10000 元 目标定位为学习验证,非财富增长

仓位分配参考

大盘环境 总仓位 单只最大 持有数量
强势(重仓) 3.5-4万(70-80% 1-1.5万/只 3-4只
中性(中等) 1.5-2.5万(30-50% 0.5-1万/只 2-3只
弱势(轻仓) <1.5万(<30% <0.5万/只 1-2只

价格可买性校验

每只推荐股票前校验:股价 × 100 ≤ 计划仓位

九、里程碑时间线

阶段 预计可交付 里程碑
阶段 0 框架搭建 项目骨架可运行,上下文齐全
阶段 1 回测引擎 可验证任意策略历史表现
阶段 2 选股引擎 每天可生成 Top N 推荐
阶段 3 单股分析 可对任意股票出详细分析报告
阶段 4 大盘评估 判断市场可操作性
阶段 5 舆情分析 消息面因子补充

最后更新:2026-07-01