| name | stock-intraday-trading |
| description | 中国A股选股、日线分析、日内做T和回测技能。适用于A股/沪深主板股票/沪深300/中证500/全A筛选、买入候选、趋势股、底部反弹、超跌低估、个股分析、T+0、K线图;用户未说明市场时默认按中国A股沪深主板处理,不筛美股、港股、科创、创业、北交等。 |
中国 A 股选股与日内做 T
默认边界
- 默认市场是中国 A 股沪深主板。用户说“股票、选股、筛几个适合买入、趋势股、超跌、做T”但未说明市场时,按沪深主板处理。
- 日常筛选默认只看沪深主板:上海主板
600/601/603/605,深圳主板 000/001/002/003;排除科创板 688/689、创业板 300/301、北交所及其他非主板代码。用户明确要求科创、创业或完整全 A 时,才使用 --market-scope all-a。
- 不要把美股、港股、基金、ETF、期货、可转债混入 A 股候选;用户明确要求其他市场时,先说明本技能的数据源和脚本不适用。
- A 股做 T 默认指“已有底仓”的日内高抛低吸。无底仓时不能把当天买入当天卖出表述为可执行交易。
- 行情、技术面、基本面评分和回测以本地脚本为准。不要用常识、热度榜或泛互联网信息替代脚本结果。
- 新闻、公告、监管、行业政策等定性催化只能作为补充,不能替代选股、技术面和回测风险评估;涉及短线、做T、趋势股和“为什么涨停/能不能追”时,必须检查近期公告/业绩预告。
核心框架
- 投资哲学:内功为本,招式为辅;基本面定方向,技术面把时机。
- 趋势原则:顺大势、逆小势;日线一般以 MA20(月线/短期价值中枢)作为买入、支撑和偏离判断基准,优先找均线多头、MA20 向上、回踩 MA20/均线簇附近的股票。
- 钟摆模型:均线是价值中枢代理,价格偏离越大,回归潜力和趋势反转风险同时增加。
- 评分体系:基本面 50 分 + 技术面 50 分。
- 公告催化:业绩预告、业绩快报、财报、重大合同、监管问询、处罚、减持等作为短线预期因子;业绩预增、扭亏、同向上升可解释放量涨停或趋势加速,预减、亏损、问询/处罚需标记风险。催化评分只做小幅加减分和提示,不能覆盖趋势、估值、回测和风控。
- 市场环境自适应:选股先用沪深300判断强势/震荡/弱势环境;弱市时 loose 模式偏离阈值自动收紧至 strict 水平,报告需说明当前环境(个股走势 = Alpha + 市场 Beta,逆风追高胜率系统性下降)。
- 相对强度(RS):技术评分以 60 日相对沪深300 的超额收益衡量强弱,替代绝对涨幅;牛市普涨/熊市反弹时绝对涨幅无区分度,只有持续跑赢基准的股票才有动量溢价。
- 趋势质量(R²):对 log 价格做 60 日回归,R² 高表示沿趋势线稳步上行(机构资金推动),R² 低表示脉冲式拉升(游资博弈、易反转);解释候选时优先推荐高 R² 趋势。
- 质量门槛:趋势与底部策略均排除 ST/退市风险股;20 日均成交额低于 5000 万(可用
--min-turnover 调整)排除;年化波动率 >85% 的爆炒股排除;当日涨停股标注"次日溢价风险",不列为即时做T候选。
- 做T波动适配:ATR% 在 1.2%~6.5% 才有合理的日内 T 空间;过低无利润空间,过高风险失控,均会下调做T星级。
- 见顶过滤:见顶/出货评分 >=70 直接排除,>=50 降级观望,>=30 标记风险。
- 底部反弹:只找“基本面尚可 + 跌够了 + 出现底部信号”的候选;止跌确认硬门槛(当日不创 60 日新低、近 3 日累计跌幅 <6%、近 5 日跌幅 <15%、MA60 未加速恶化)+ 底部信号评分 >=30,避免接飞刀。
- 日线交易判断:重点参考基本面、技术分差、MA20 趋势、MA20 偏离过热和见顶风险;MA60 只作中期背景/过热风险参考,不能把“低于 MA60”单独作为一般买入硬门槛。若部分指标不满足,agent 可结合趋势结构、支撑位置和风险收益比决定是小仓试错、等待确认还是观望。
- 回测定位:回测用于评估历史收益、最大回撤、交易频率、盈亏比、单笔期望和相对买入持有表现;不作为推荐硬门槛。
- 自主分析裁量:允许 agent 基于脚本输出、K 线位置、趋势结构、量价关系、风险收益比和用户意图,给出“可小仓试错 / 等待回踩 / 继续观察 / 暂不碰”的综合判断;不要机械套用单一阈值。
策略 B 当前为收紧版评分策略:买入阈值提高到 12 分,买卖分差至少 3 分,卖出分低于 10 分,并要求趋势确认或低位反转确认;卖出仍保持较灵敏阈值。
意图识别
- “选股 / 筛选 / 推荐 / 买什么 / 适合买入”:
先运行趋势选股,再对前 5-10 个候选运行回测作为历史表现和风险参考。
- “多筛一点 / 候选太少 / 扩大范围”:
使用
--index all --mode loose --top 50 --max-pool 1200,默认仍只保留沪深主板;如速度太慢,再临时降为 --index wide;如明确要求完整全市场/科创/创业,加 --market-scope all-a,完整全量再加 --max-pool 0。
- “底部 / 反弹 / 超跌 / 低估 / 抄底 / 错杀 / 跌够了”:
使用底部反弹策略。
- “全市场 / 全A股 / 不限定指数 / 多筛一点”:
默认理解为沪深主板范围内扩大扫描,使用
--index all --mode loose --top 50 --max-pool 1200;如果用户明确说“包含科创/创业/完整全A”,加 --market-scope all-a,并提醒完整全量可用 --max-pool 0 但会更慢。
- “沪深300 / 大盘蓝筹 / 快速筛选”:
使用
--index hs300;更快可用 --index sz50。
- “中证500 / 中小盘”:
使用
--index zz500。
- “做T / 日内 / 分时 / 今天能不能T”:
使用日内做 T 脚本;必须按 A 股底仓约束解释。
- “业绩预告 / 公告 / 新闻 / 涨停原因 / 预增 / 预减 / 快报 / 问询 / 减持”:
使用公告催化分析;单股用
analyze_stock_simple.py 或 catalyst_analyzer.py,选股用趋势策略加 --with-catalyst。
- “回测 / 历史收益 / 能不能赚钱 / 稳不稳定”:
使用回测脚本。
- “K线 / 图表 / 画图”:
使用图表脚本。
- 单只股票代码或名称:
使用日线分析脚本;若涉及买入结论,再运行回测脚本。
常见 A 股代码:贵州茅台 600519,比亚迪 002594,恒瑞医药 600276,宁德时代 300750。
如果用户只给股票名称且代码不确定,先用已有常识识别;仍不确定时简短询问,不要猜。
执行命令
在技能根目录运行命令。若当前目录不是技能根目录,先切到包含 SKILL.md 和 scripts/ 的目录。
趋势选股,默认宽基池 wide + 沪深主板 main + 宽松模式 loose(纳入早期转强候选):
python3 scripts/select_stocks.py --strategy trend --index wide --mode loose --top 50 --max-pool 400
短线/做T/趋势候选叠加公告与业绩预告催化:
python3 scripts/select_stocks.py --strategy trend --index wide --mode loose --top 50 --max-pool 400 --with-catalyst --catalyst-limit 20 --catalyst-days 45
底部反弹选股:
python3 scripts/select_stocks.py --strategy bottom --index wide --top 50 --max-pool 400
快速宽基筛选:
python3 scripts/select_stocks.py --strategy trend --index wide --mode strict --top 30
python3 scripts/select_stocks.py --strategy trend --index hs300 --mode loose --top 30
扩大到沪深主板扫描:
python3 scripts/select_stocks.py --strategy trend --index all --mode loose --top 50 --max-pool 1200
python3 scripts/select_stocks.py --strategy trend --index all --mode loose --top 80 --max-pool 0
明确包含科创/创业/完整全 A 时:
python3 scripts/select_stocks.py --strategy trend --index all --market-scope all-a --mode loose --top 50 --max-pool 1200
python3 scripts/select_stocks.py --strategy trend --index all --market-scope all-a --mode loose --top 80 --max-pool 0
日线分析:
python3 scripts/analyze_stock_simple.py 股票代码
单独查看近期公告/业绩预告催化:
python3 scripts/catalyst_analyzer.py 股票代码 45
日内做 T 分析:
python3 scripts/analyze_intraday_t0.py 股票代码
回测 / 历史表现:
python3 scripts/backtest_strategy.py 股票代码 --days 900 --position-pct 0.5
压力测试:
python3 scripts/backtest_strategy.py 股票代码 --days 1200 --position-pct 0.5 --slippage 0.001 --min-annual-return 8
策略 C 参数扫描:
python3 scripts/optimize_strategy_c.py --multi --days 900 --position-pct 0.5
图表:
python3 scripts/generate_chart_data.py 股票代码 --open
买入类推荐流程
用户要求“推荐、买什么、适合买入、能不能赚钱”时,必须执行完整流程:
- 先运行选股脚本。默认
--strategy trend --index wide --mode loose --top 50 --max-pool 400,脚本默认只保留沪深主板;如果用户强调短期、趋势明显、做T、近期异动或涨停原因,使用 --with-catalyst --catalyst-limit 20 --catalyst-days 45 同步扫描公告/业绩预告。用户提到低估/超跌时改用 --strategy bottom --index wide --top 50 --max-pool 400;用户要求扩大范围/全市场时用 --index all --mode loose --top 50 --max-pool 1200,仍默认沪深主板;只有明确要求科创/创业/完整全 A 时加 --market-scope all-a,完整全量设 --max-pool 0。
- 从选股输出中取排名靠前且没有明显高位/见顶风险的 5-10 只候选。
- 逐只运行
backtest_strategy.py。提取 A/B/C 中表现最好的策略、总收益、年化收益、最大回撤、交易次数、盈亏比、单笔期望、样本外表现和相对买入持有表现。
- 可按需运行
analyze_stock_simple.py 或生成图表数据,补充判断趋势结构、支撑压力、量价配合、MACD/KDJ/RSI 状态、MA20 偏离、见顶信号和公告/业绩预告催化。
- 综合排序时,以选股综合得分、相对强度(RS60)、趋势质量(R²)、MA20/均线簇位置、见顶风险、基本面评分、公告/业绩预告催化、回测稳定性、回撤水平、近期量价和当前市场环境共同判断;允许 agent 自主权衡这些因素,不要求所有指标同时完美。RS60 为负(跑输大盘)或 R² 很低(脉冲拉升)的候选应在理由中说明相应风险。
- 技术面和基本面较好、价格靠近合理支撑、风险收益比可解释的,列为“优先候选”,并说明适合的介入方式,例如小仓试错、分批、回踩确认或突破确认;有偏高、样本少、回撤大、样本外弱、跑输持有、量价背离等问题的,列为“观察候选”并写明原因。
- 如果候选普遍处于高位或回测风险明显,明确说“不建议追高”,并给出等待条件,例如回踩 MA20、缩量企稳、放量突破、止跌反包或风险指标改善。
当前研究基线:优先查看策略 C;A/B 在 2024-03-11 至 2026-05-25 的代表股票回测中整体为负。策略输出只代表历史研究,不保证未来收益。
输出规范
- 先给结论分组:
优先候选、观察候选、剔除/暂不碰。
- 每只股票至少列出:代码、名称、当前价格、综合判断、选股理由、关键风险、回测摘要、建议触发条件。
- 涉及短线/做T/趋势明显时,每只优先候选还要说明近期公告/业绩预告是否有正负催化;例如浪潮信息
000977 这类“半年度业绩预告大幅预增后涨停”的案例,应标明催化来自公告而不是单纯技术突破。
- 买入相关表述必须使用“候选、观察、等待回踩、小仓试错、分批、止损”等概率性和风险控制语言。
- 不要使用“必涨、稳赚、确定买入、无脑买、闭眼买”等确定性表达。
- 可简要总结脚本结果,但关键表格、历史收益、回撤、样本数量和主要风险必须保留。
- 明确区分“现在可小仓试错”“等回踩再看”“只适合已有底仓做T”“暂不碰”,避免只给笼统名单。
- 如果用户只要快速答案,也要说明是否已跑脚本;没跑脚本时不能给买入结论。
数据源与依赖
- 行情优先使用
stock-api(腾讯/新浪/东方财富自动兜底),缺失时脚本会降级到 baostock/akshare。
- 股票列表和指数成分主要由 baostock 提供。
- 基本面评分依赖 akshare;如失败,只能说明基本面增强不可用。
- 公告/业绩预告催化依赖 akshare 公告列表和东方财富公告正文接口;如正文抓取失败,只能基于标题/公告类型给出弱提示,并说明需要人工打开公告确认。
- 实时行情、分时和盘口增强依赖 adata。
依赖缺失时,提示在技能根目录安装:
python3 -m pip install -r requirements.txt
python3 -m pip install -r requirements-fundamental.txt
python3 -m pip install -r requirements-realtime.txt
npm install
脚本失败时,展示错误并给出最小修复建议;不要用理论分析替代失败脚本。
参考资料
按需读取,不要一次性加载全部:
references/philosophy.md:投资哲学、均线价值中枢、钟摆模型。
references/indicators.md:MACD、KDJ、RSI、布林带等指标细节。
references/volume-price.md:量价关系、放量滞涨、缩量企稳。
references/t0-strategies.md:A 股底仓做 T 场景和分时策略。
references/market-environment.md:市场环境判断。
references/research-log.md:历史回测研究记录。
严格禁止
- 对 A 股筛选请求输出美股或港股候选;日常默认请求也不要输出科创、创业、北交候选,除非用户明确要求包含。
- 脚本前写冗长说明,拖延执行。
- 没跑脚本就给“适合买入”的股票名单。
- 脚本失败后用理论、常识或网络热度补一份推荐。
- 把技术信号或历史回测结果说成确定性盈利机会。