首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >短线选股量化策略:把实时行情变成可执行的交易信号

短线选股量化策略:把实时行情变成可执行的交易信号

原创
作者头像
fxyz
发布2026-09-16 09:49:04
发布2026-09-16 09:49:04
1000
举报

一、数据底座:先定义“能被验证”的输入

FxyzSkill 将数据分为 Basic、Board、Market 三组,共 14 个接口。实时行情接口返回 30 多个字段,交易时段约每分钟更新;K 线、涨停板、五档和资金流向接口,分别补齐趋势、情绪、交易结构和资金验证。

FxyzSkill 能提供什么?

数据类别

关键接口/方法

量化用途

基础股票池

BaseApi.getStockList()

获取沪深京 A 股、ETF、指数等列表,剔除 ST、退市和异常标的

实时行情

BoardApi.getRealTimeQuote()

价格、涨跌幅、涨速、量比、换手率、估值等,约每分钟更新

涨跌板监控

getZhangTingBan()、getDieTingBan()、getZhaBan()

判断市场情绪、连板强度和炸板风险

强势股

getQiangShiGu()

获取 60 日新高、近期多次涨停等强势特征

K 线

MarketApi.getKLine()

支持 5 分钟至年线,计算均线、波动率和突破信号

盘口与成交

getFiveLevel()、getBidData()、getDealData()

验证买卖价差、盘口厚度、竞价强弱和主动成交方向

资金流向

getMoneyFlow()

区分特大单、大单、中单、小单的主买主卖金额

字段 → 因子 → 决策

数据字段

量化含义

短线用法

常见误区

zdf / zf / zs

涨跌幅、振幅、涨速

找正在加速而非已经失速的股票

只看涨幅,忽略振幅过大带来的滑点

lb / hsl

量比、换手率

量比放大且换手处于可承受区间

认为量比越大越好,忽略“一日游”放量

zdf03 / zdf05 / zdf10

3、5、10 日收益

用短周期斜率确认方向一致

把历史收益直接当成未来收益

wb / wp / np

委比、外盘、内盘

与五档、逐笔成交交叉确认买盘

把委比当作必然成交的订单

roe / jtsyl / ltsz

质量、估值、规模

剔除基本面和容量风险

短线模型加入过多慢变量

经验:先用少量、含义清晰的因子建立基线,再做增量实验。因子越多不等于模型越强,相关因子重复计权反而会放大噪声。

二、策略框架:四层过滤,避免“一个指标选股”

代码语言:javascript
复制
flowchart LR
    A[股票池\nBaseApi.getStockList] --> B[市场状态\n涨停/跌停/炸板]
    B --> C[个股打分\n动量+流动性+买盘]
    C --> D[触发交易\n实时行情+五档确认]
    D --> E[风控退出\n止损/止盈/时间止损]

1. 股票池过滤

  • 剔除 ST、退市、停牌和上市时间过短的股票。
  • 以近 20 日平均成交额设最低门槛,保证信号可成交。
  • 对不同板块分别排名,避免大盘股和小盘股在同一截面中失真。

2. 市场状态过滤

把涨停家数、跌停家数、炸板家数和指数趋势合成市场温度:

  • 温度上升:涨停扩散、炸板率下降,可正常运行策略。
  • 温度中性:缩小持仓数量,优先选择流动性高的标的。
  • 温度下降:跌停增加、炸板率升高,降低仓位或暂停开仓。

3. 个股多因子打分

代码语言:javascript
复制
score = 0.35 × rank(zdf10)
      + 0.25 × rank(lb)
      + 0.20 × rank(hsl)
      + 0.20 × rank(buy_pressure)

buy_pressure = (wp - np) / max(wp + np, 1)

其中 rank() 是当日股票池内的截面百分位排名,能降低不同价格、规模之间的不可比性。

示例交易条件:

  • score >= 75
  • zdf > 1.5%
  • 1.2 <= lb <= 6
  • 2% <= hsl <= 18%

阈值不是“圣杯”,应根据市场板块、交易制度、手续费和滑点重新校准。

因子权重图(示意)

因子

权重

解释

动量(10 日涨幅)

35%

趋势方向和强度

量比

25%

当前成交是否明显活跃

换手率

20%

流动性与筹码交换程度

买盘压力

20%

外盘、内盘和主动成交的合成指标

三、用 FxyzSkill 完成一次“从接口到信号”的实践

下面的代码沿用 FxyzSkill 文档中的字段名。数值仅用于演示解析和打分,不代表当前报价。生产环境请把 Token 放入环境变量,并遵守接口频率限制。

代码语言:javascript
复制
from fxyz.scripts.api.BoardApi import BoardApi

quote = BoardApi.getRealTimeQuote(
    symbol="stock",
    code="000001",
    token=TOKEN
)

row = quote[0]
score = (
    pct_rank(row["zdf10"]) * 0.35
    + pct_rank(row["lb"]) * 0.25
    + pct_rank(row["hsl"]) * 0.20
    + buy_pressure(row["wp"], row["np"]) * 0.20
)

if score >= 75 and 1.2 <= row["lb"] <= 6:
    emit_signal(row["code"], score, reason="动量+流动性+买盘")

工程要点:实时接口只负责“候选发现”。下单前再请求 /wolf/time/five 五档和 /wolf/deal 逐笔数据,确认买一卖一价差、盘口厚度和主动成交方向,避免把报价延迟误当成信号。

示例行情快照(来源字段示意)

代码

最新价 zxj

涨跌幅 zdf

量比 lb

换手 hsl

外盘 / 内盘

解读

000001

11.07

-0.18%

0.62

0.21%

168,946 / 237,158

不触发:动量和量能均不足,排除

四、实践总结:短线模型最容易输在哪里

风险点

典型表现

改进方式

把实时当成无延迟

信号时间与数据时间不一致

保存每条记录的时间戳和请求耗时

未来函数

用收盘后字段计算盘中排名

严格按信号时刻切分数据

回测过于理想

只用收盘价成交

加入滑点、手续费、涨跌停和成交容量

因子重复计权

涨幅、涨速、短期收益高度相关

检查相关矩阵,做正交或降权处理

忽略市场状态

情绪退潮期仍满仓开仓

根据涨停、跌停、炸板率动态调仓

没有退出规则

亏损单被动变成长线单

预先定义止损、止盈和时间止损

一句话结论:FxyzSkill 的价值不在于替你“预测牛股”,而在于把行情、盘口、板块情绪和资金拆成可记录的证据链。先用少量因子做出稳定基线,再通过样本外测试、成本建模和故障演练逐步迭代,通常比堆叠几十个指标更可靠。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、数据底座:先定义“能被验证”的输入
    • FxyzSkill 能提供什么?
    • 字段 → 因子 → 决策
    • 二、策略框架:四层过滤,避免“一个指标选股”
    • 1. 股票池过滤
    • 2. 市场状态过滤
    • 3. 个股多因子打分
    • 因子权重图(示意)
    • 三、用 FxyzSkill 完成一次“从接口到信号”的实践
    • 示例行情快照(来源字段示意)
    • 四、实践总结:短线模型最容易输在哪里
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档