请老师帮忙编写一个函数, Forcast [开拓者 TB]
-
咨询内容:
本人将文华里的模型转到TB里来,遇到问题,就是文华里的Forcast函数,在TB里没有对应的,能否请老师帮忙编写一个,谢谢!
该函数的说明如下:
FORCAST(X,N):为X的N周期线性回归预测值。
注:
1、N包含当前k线。
2、N为有效值,但当前的k线数不足N根,该函数返回空值;
3、N为0时,该函数返回空值;
4、N为空值,该函数返回空值;
5、N可以是变量
算法举例:用最小平方法计算FORCAST(C,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值
以上公式用麦语言函数可以表示如下:
BB3*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周期线性回归预测值来源:CXH99.COM
- TB技术人员: 自己找到了,不用了。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容