Pharos
TAStatistics

TA.TSF() - 时间序列预测

时间序列预测 (Time Series Forecast)

使用线性回归预测下一个周期的价格值。

返回统计函数目录


语法

python
TA.TSF(close, timeperiod=14)

参数

参数名类型必选默认值说明
closeany-收盘价数组
timeperiodany-回归周期,默认 14

返回值

返回预测值数组,表示基于线性回归的未来一期预测。

计算方法

TSF 使用线性回归外推预测下一个值:

plaintext
TSF[t] = LINEARREG[t-1] + SLOPE[t-1]

即:当前回归值 + 一个周期的斜率增量

信号解读

  • 价格 > TSF:价格高于预测,可能超买
  • 价格 < TSF:价格低于预测,可能超卖
  • 价格向TSF靠拢:均值回归倾向

基础示例

预测值与实际值对比

python
def main():
    while True:
        records = exchange.GetRecords()
        if len(records) < 50:
            Sleep(1000)
            continue
        
        closes = [r['Close'] for r in records]
        
        # 计算预测值
        forecast = TA.TSF(closes, 14)
        
        # 预测值 vs 实际值
        predicted = forecast[-2]  # 上一期的预测
        actual = closes[-1]       # 实际值
        error = ((actual - predicted) / predicted) * 100
        
        Log(f"上期预测: {predicted:.2f}")
        Log(f"实际价格: {actual:.2f}")
        Log(f"预测误差: {error:.2f}%")
        
        # 当前预测下一期
        next_predicted = forecast[-1]
        current_price = closes[-1]
        
        Log(f"当前价格: {current_price:.2f}")
        Log(f"预测下期: {next_predicted:.2f}")
        
        if next_predicted > current_price:
            Log("📈 预测上涨")
        else:
            Log("📉 预测下跌")
        
        Sleep(60000)

高级应用

TSF 偏离交易

python
def main():
    while True:
        records = exchange.GetRecords()
        if len(records) < 100:
            Sleep(1000)
            continue
        
        closes = [r['Close'] for r in records]
        current_price = closes[-1]
        
        # 预测值和标准差
        forecast = TA.TSF(closes, 20)
        stddev = TA.STDDEV(closes, 20)
        
        # 价格偏离预测值的程度
        deviation = (current_price - forecast[-1]) / stddev[-1]
        
        Log(f"TSF 预测: {forecast[-1]:.2f}")
        Log(f"当前价格: {current_price:.2f}")
        Log(f"偏离: {deviation:.2f}σ")
        
        # 均值回归策略
        if deviation < -2:
            Log("✅ 价格远低于预测(< -2σ),买入")
        elif deviation > 2:
            Log("❌ 价格远高于预测(> +2σ),卖出")
        
        Sleep(60000)

参数优化建议

周期推荐值适用场景
短期7-10短线预测
中期14-20波段预测
长期30-50趋势预测

注意事项

  1. 线性假设:TSF基于线性回归,无法预测非线性变化
  2. 突发事件:重大新闻会使预测失效
  3. 趋势市场:在明确趋势中预测较准确
  4. 震荡市场:横盘时预测意义不大
  5. 不是圣杯:TSF是统计预测,不能保证准确
  6. 配合使用:应与其他指标结合判断

相关指标

实战要点

预测应用

✅ 趋势市场中参考预测方向 ✅ 价格偏离预测值时寻找回归机会 ✅ 结合其他指标确认信号

风险控制

  • TSF仅供参考,不可完全依赖
  • 设置止损保护
  • 重大事件前避免使用TSF
  • 验证预测准确率

返回统计函数目录 | 返回 TA 指标总目录