如何使用 Forcast(X,N) 为X的N周期线性回归预测值?

08-01 12:14发布

付费偷看设置
发送
1条回答
天涯爱文华
1楼 · 08-01 12:39.采纳回答
Forcast(X,N):为X的N周期线性回归预测值

//此函数为开源函数,可以在自定义函数编写平台查看源码。 注: 1、N包含当前K线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值; 3、N为0时,该函数返回空值; 4、N为空值,该函数返回空值; 5、N可以是变量 算法举例: //用最小平方法计算Forcast(Close,3)在最近一根K线上的值 1、建立一元线性方程:y=a+b*i+m 2、y的估计值:y(i)^=a+b*i 3、求残差:m^=y(i)-y(i)^=y(i)-a-b*i 4、误差平方和: Q=m(1)*m(1)+...+m(3)*m(3)=[y(1)-a-b*1]*[y(1)-a-b*1]+...+[y(3)-a-b*3]*[y(3)-a-b*3] 5、对线性方程中的参数a,b求一阶偏导: 2*{[y(1)-a-b*1]+...+[y(3)-a-b*3]}*(-1)=0 2*[y(1)-a-b*1]*(-1)+...+[y(3)-a-b*3]*(-3)=0 6、联立以上两个公式,解出a,b的值: a=(y(1)+y(2)+y(3))/3-b(i(1)+i(2)+i(3))/3 b=(y(1)*i(1)+y(2)*i(2)+y(3)*i(3)-(3*((i(1)+i(2)+i(3))/3)*((y(1)+y(2)+y(3))/3))/((i(1)^2+i(2)^2+i(3)^2)-3*((i(1)+i(2)+i(3))/3)^2) 7、将a,b,i值带入1,求出y值 //以上公式用麦语言函数可以表示如下: BB:(3*C+2*REF(C,1)+REF(C,2)-(3*((1+2+3)/3)*MA(C,3)))/((SQUARE(1)+SQUARE(2)+SQUARE(3))-3*SQUARE((1+2+3)/3)); AA:MA(C,3)-BB*(1+2+3)/3; YY:AA+BB*3; 例: Forcast(Close,5); //表示求5周期线性回归预测值