通达信FORCAST怎么核对?线性回归预测值、窗口与斜率排错
适用范围:通达信公式中的线性回归预测值核对。FORCAST(X,N)的官方定义是返回线性回归预测值,N支持变量。它输出的是模型计算结果,不等于下一根价格一定会达到的目标,也不自动代表趋势或收益。

一、FORCAST解决什么问题
给定一个序列X和窗口N,FORCAST用于把窗口内的线性关系转换为预测值。窗口移动一根,参与回归的数据也会移动,因此输出变化可能来自样本窗口,而不只是当前价格变化。
官方条目没有在简短定义中展开初始数据不足、坐标约定和客户端显示精度。下面的数字用于解释线性模型,不把手算值当作所有版本的精确内部输出。
二、用直线样本理解预测
假设连续样本为10、12、14,按等间隔横坐标1、2、3拟合直线,斜率为2,向下一个位置4外推的数学预测值为16。这个16说明“在该数学模型和该外推位置下”的结果;若客户端的预测坐标或窗口定义不同,公式显示值应以本机验证为准。
如果样本改成10、12、13,最后一个点仍然是13,但直线斜率和预测值都会改变。不能只看最新CLOSE就推断FORCAST输出,必须保存完整窗口。
三、最小观察公式
FC3:FORCAST(CLOSE,3);
SLOPE3:SLOPE(CLOSE,3);
LAST:CLOSE;
FC3用于观察预测值,SLOPE3用于记录同一窗口的斜率,LAST用于对照当前序列值。SLOPE已有回归斜率排错文章,但本文只使用它帮助定位窗口变化,不把两篇合并成同一个结论。
四、为什么结果会跳变
第一种原因是N改变,回归样本数量改变;第二种原因是当前根加入后,最早样本退出窗口;第三种原因是历史数据不足,窗口尚未完整;第四种原因是输入使用了复权或跨周期字段。排错时同时输出N、当前窗口边界、CLOSE、SLOPE和FORCAST。
不要把FORCAST直接写成“目标价”,也不要用回测结果包装成确定性收益。公式是否使用未来数据还应单独检查,不能因为函数名称含有预测就自动下结论。
来源与限制
原始依据:通达信用户红宝书及官方《通达信公式-全部函数》的FORCAST、SLOPE、CLOSE条目。数字样本为原创线性模型示例,未做不同版本客户端实测。
FORCAST用于理解回归输出,不构成价格预测承诺、个股建议或收益保证。




