Hikyuu Quant Framework 2.8.2 延续了 C++/Python 混合架构的定位,并把几项常用技术指标补进指标体系:RSRS_BETA、RSRS_BULL、ADX 和 ADX2。对量化开发者来说,这次更新的价值不只是“多了几个指标”,还包括指标缓存身份标识、绘图标题改进,以及更适合组件化复用的策略资产基础。
新指标适合解决什么问题
RSRS_BETA 和 RSRS_BULL 面向阻力支撑相对强度(RSRS)类策略。它们可以用于评估价格回归斜率及其标准化后的多空倾向,适合构建择时、趋势过滤或仓位调整信号。
ADX 和 ADX2 则用于衡量趋势强度。它们并不直接告诉策略“应该买还是卖”,更适合与均线、突破或动量条件组合使用。例如,可以把 ADX 作为趋势过滤器:只有趋势强度达到阈值时,才允许突破策略开仓。
这类组合体现了 Hikyuu 的策略部件思路:指标、信号、止损和资金管理可以拆开保存,再组合到不同策略中,减少重复实现。
指标缓存为什么值得关注
2.8.2 为指标增加了 origin-id,用于标识指标的来源身份。量化框架通常会缓存中间计算结果,以避免同一指标在多个策略部件中重复计算。但如果两个表达式参数相似、来源不同,缓存身份不够精确就可能造成错误复用。
引入来源标识后,缓存可以区分“由哪个原始指标或数据节点推导而来”的计算结果。这对复杂指标链尤其重要,例如:
收盘价 -> RSRS_BETA -> 标准化 -> 交易信号
收盘价 -> ADX -> 趋势过滤 -> 交易信号
在回测中,这意味着更稳定的缓存命中和更明确的依赖关系;在策略复用中,也更容易避免不同数据源、不同参数链之间的结果混淆。具体性能收益仍取决于策略规模、数据长度和指标复用程度,不能仅凭版本说明推断固定加速比例。
可以这样接入 2.8.2
下面是一个可改造的 Python 示例。它展示了如何安装指定版本、创建指标组合,并把 RSRS 与 ADX 组合成一个趋势过滤信号。不同发行包或本地构建版本的导入路径、参数签名可能略有差异,运行前请以本地 help() 或 API 文档为准。
python -m venv .venv
source .venv/bin/activate # Windows PowerShell: .venv\\Scripts\\Activate.ps1
python -m pip install --upgrade pip
python -m pip install hikyuu==2.8.2
# strategy_components.py
# 假设当前 Hikyuu 2.8.2 Python 包提供这些指标构造函数。
from hikyuu import *
def build_trend_component(close):
"""将 RSRS 方向判断与 ADX 趋势过滤组合为一个可复用部件。"""
rsrs_beta = RSRS_BETA(close)
rsrs_bull = RSRS_BULL(close)
adx = ADX(close)
# 示例阈值需要通过回测校准,不应直接用于实盘。
rsrs_up = rsrs_bull > 0
strong_trend = adx > 20
return rsrs_up & strong_trend
if __name__ == "__main__":
print("Hikyuu strategy component loaded")
print("Use a local KData/CLOSE series to call build_trend_component().")
如果本地版本的指标需要接收完整 K 线数据,而不是 close 序列,可以把调用改为类似下面的形式;这只是适配示例,具体函数签名应以安装后的接口为准:
signal = RSRS_BETA(kdata)
trend = ADX2(kdata)
long_condition = (signal > 0) & (trend > 20)
建议把指标部件与交易规则分离。指标部件只负责计算,信号部件负责产生买卖条件,资金管理部件负责决定仓位。这样做可以单独替换 ADX 与 ADX2,也可以在不改动交易执行逻辑的情况下测试不同 RSRS 参数。
绘图改进与使用边界
2.8.2 同时更新了热力图和柱状图标题。对于参数扫描、因子比较和回测报告,这类细节会直接影响结果阅读,尤其是多个图表同时输出时,标题是否包含正确的指标或参数信息非常关键。
采用新版本时,仍需要关注几个边界:
- 新增指标不等于策略自动获得超额收益,参数、样本区间和交易成本仍需通过回测验证。
- RSRS 和 ADX 都可能对窗口长度较敏感,短周期数据容易产生噪声。
- 指标缓存改进不能替代数据源校验,复权方式、缺失数据和时间对齐仍需在策略层确认。
- 从旧版本升级时,应重新运行关键回测,并比较信号序列、交易次数和净值曲线是否发生变化。
升级检查清单
可以按下面的顺序评估是否采用 Hikyuu 2.8.2:
- 固定 Python、编译器和数据源版本,记录升级前后的环境。
- 为
RSRS_BETA、RSRS_BULL、ADX和ADX2编写最小指标测试。 - 检查缓存复用场景下的指标值是否与不使用缓存时一致。
- 用同一批历史数据比较升级前后的信号和回测结果。
- 确认图表标题、参数标识和报告输出满足团队复盘要求。
- 通过回测、滚动验证和模拟盘后,再决定是否进入实盘流程。
Hikyuu 2.8.2 更适合作为策略工程能力的一次增量升级:新指标扩大了可组合的研究工具箱,origin-id 改善了复杂指标链的缓存可靠性,而绘图更新降低了分析结果的阅读成本。真正的收益,取决于团队能否把这些能力沉淀成可测试、可复用的策略组件。