QuantOL 入门指南
RANK - 横截面排名
函数定义
RANK(field)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
field | string | 字段名,如 close、volume、high 等 |
描述
计算当前股票的 field 值在所有股票中的横截面排名。
返回整数排名(1=最高值,2=第二高,...),无数据时返回 0。
使用示例
// 基本排名 // 买入今天收盘价排名前10的股票 RANK(close) <= 10 // 加仓成交量排名前一半的股票 RANK(volume) > len / 2 // 卖出收盘价排名后20的股票 RANK(close) >= 20 // 时间维度配合REF // 持续排名前10(今天和5天前都在前10) RANK(close) <= 10 and REF(RANK(close), 5) <= 10 // 排名上升趋势 RANK(close) < REF(RANK(close), 5) // 逻辑组合 // 综合条件:排名前10且价格高于均线 (RANK(close) <= 10) and (close > SMA(close, 20))
典型应用
- 因子选股:基于横截面排名选择表现最好的股票
- 动量策略:选择排名上升趋势的股票
- 相对强弱:买入相对表现强势的股票
- 多因子组合:结合多个排名指标进行筛选
注意事项
- RANK函数需要在多标模式下使用
- 排名规则:值越大排名越前(降序排列)
- 时间维度通过REF函数实现,RANK本身只计算当前时间点的横截面排名
- 无横截面数据时返回 0
- 建议配合其他条件使用,避免在数据不足时产生错误信号