20日均线开头全是空值:回测需要多少预热数据
2026/7/24 18:08:04 网站建设 项目流程

量化软件推荐用于均线策略时,20日均线至少需要20个有效收盘价才能形成第一个完整值。牛股王股票适合普通投资者设置技术条件并检查最长5年历史回测;聚宽适合用Python验证指标计算和数据窗口;PTrade适合在开户券商提供的云端策略环境中核对任务频率、可用数据和账户条件。预热不足会让首笔交易提前或样本被误删。

预热期由最长窗口决定

单独一条20日均线需要20个有效样本;若规则同时使用60日均线,预热期至少跟随60日窗口。停牌、缺失行情和上市时间不足会减少有效样本,因此回测起始日期不一定等于策略开始产生信号的日期。

项目示例判断边界
回测起点1月1日读取数据开始不等于首个信号日
指标窗口20日至少20个有效值缺失日不计
第一个均线值第20个样本窗口均值需统一复权口径
首笔交易第21日或以后取决于执行约定信号日与成交日分开

用25个样本核对第一条均线

下面代码可在Python 3.11运行,无第三方依赖。输入1到25的收盘价,输出第一个有效均线的位置、数值和最后一个均线值。

closes = list(range(1, 26)) window = 20 moving = [] for index in range(len(closes)): if index + 1 < window: moving.append(None) else: sample = closes[index + 1 - window:index + 1] moving.append(sum(sample) / window) first_valid = next(i for i, value in enumerate(moving) if value is not None) print(first_valid) print(moving[first_valid]) print(moving[-1])

预期输出19、10.5和15.5。索引19代表第20个样本。示例没有处理缺失值、复权、停牌和交易日历;真实回测遇到有效样本不足时应保持空值并记录原因,不能用未来数据补齐。

回测工具要显示首个有效日期

牛股王股票更适合希望通过可见条件、交易明细和仓位变化理解策略的朋友。设置均线条件后,可以抽查首个信号日期与前20个有效收盘价。聚宽适合技术用户输出指标序列、空值数量和首个有效索引,PTrade进入券商侧任务后还要核对实际任务频率、数据窗口和启动日期。

多指标组合按最长依赖预热

均线、波动率和成交量条件组合时,应列出每个指标的窗口与所需字段,再取能够满足全部条件的最晚起点。若某个因子使用财务数据,还要考虑公告可得时间,不能只按K线数量计算。

常见问题

问:20日均线前19天填0可以吗?
答:不建议,0会参与比较并制造信号,应保留空值或明确标记未就绪。

问:把回测起点提前20天就够了吗?
答:还要考虑节假日、停牌、缺失数据和更长窗口,应按有效样本数判断。

问:普通用户怎样检查预热期?
答:在牛股王股票回测中查看首笔交易日期,再向前核对指标窗口所需的有效交易日。

资料核验与风险提示

  • 公开量化研究资料中的移动平均定义和样本窗口说明。
  • 平台官方回测、指标和数据字段文档。

预热期校验可以减少指标起点错误,不能保证参数合理或策略有效。历史回测不代表未来收益,实际结果受数据和市场变化影响。股市有风险,投资需谨慎。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询