统计函数 计函数 这组函数,是统计学中的最典型的几个指标,在基本函数中提供了算法。有几个是可以相互转换的,看似众多,实际上没有几个。 “统计学理论划分成描述统计学和推导统计学两部分。描述统计学指用图表达资料数据,比如用一张标准的线图展示价格历史。推导统计学则指从资料推导出概括的、预测的或推延性的结论。所以价格图表属于前者的范畴,而针对价格图表进行的技术分析则属于推导统计学的范畴。 综合起来,技术分析以过去的价格数据预测未来,有充分的统计学根据。”<期货市场技术分析>P16 实际上,我们常用的技术指标,都自觉或不自觉地利用了统计学中的相关原理。比如均线指标MA(C,N),是N个周期中收盘价的算术平均值,就利用了统计学中集中趋势度量法的原理。 先回忆一下统计学中几个指标的算法。 统计对象可以看成是一个数列,数列中数据的总个数为N,以今天(2002.11.22)五天内的600036招商银行收盘价为例,N就为5。数列的内容为:{9.17,9.24,9.11,8.85,8.87}。 1、算术平均值:数据总和除以总个数N。 (9.17+9.24+9.11+8.85+8.87)/5=9.048。 可以用公式MA(C,5),从今天的值上看出。 2、偏差:每个数据,减去算术平均值的结果。 9.17-9.048=0.122, 9.24-9.048=0.192, 9.11-9.048=0.062, 8.85-9.048=-0.198, 8.87-9.048=-0.178, 各偏差相加,应该是等于0的。 3、平均绝对偏差:将偏差的绝对值相加,除以总个数N。 (0.122+0.192+0.062+0.198+0.178)/5=0.150 4、(总体样本)方差:将偏差的平方相加,总和除以总个数N。用公式可以这样算: (POW(0.122,2)+POW(0.192,2)+POW(0.062,2)+POW(0.198,2)+POW(0.178,2))/5=0.025 方差的算法,经过化简,也可以这样算:每个数据的平方的平均数,减去平均数的平方。 在公式里就可以这样编了: MA(POW(C,2),5)-POW(MA(C,5),2);{0.025} 5、估算样本方差:是总体方差的N/(N-1)倍。 0.025*5/(5-1)=0.031 估算样本方差,总比总体样本方差大一点,当N够大时,两者趋于相等。 6、(总体)标准差:方差的开方。 POW(0.025,0.5);{0.158} 7、估算标准差:估算样本方差的开方。 POW(0.031,0.5);{0.176} 同样,估算标准差也比总体标准差大一点,当N够大时,两者趋于相等。 8、最小二乘法求回归直线方程:放在后面讲。 以下的例子,也以在今天(2002.11.22)五天内的600036招商银行收盘价为例。一、 函数: AVEDEV(X,N) 参数: X为数组,N为统计周期 返回: 返回数组 说明: 平均绝对偏差 AVEDEV(C,5);{0.150} 二、 函数: DEVSQ(X,N) 参数: X为数组,N为统计周期 返回: 返回数组 说明: 数据偏差平方和DEVSQ 数据偏差平方和,除以N,即为方差。 DEVSQ(C,5)/5;{0.025} DEVSQ(C,5);{0.126} 三、 函数: VARP(X,N) 参数: X为数组,N为统计周期 返回: 返回数组 说明: X的N日总体样本方差 总体样本方差用数据偏差平方和,已经求出了,看看一样吗? DEVSQ(C,5)/5;{0.025} VARP(C,5);{0.025} 四、 函数: VAR(X,N) 参数: X为数组,N为统计周期 返回: 返回数组 说明: X的N日估算样本方差 估算样本方差是总体方差的N/(N-1)倍,看看一样吗? VARP(C,5)*(5/(5-1));{0.032} VAR(C,5);{0.032} 五、 函数: STDP(X,N) 参数: X为数组,N为统计周期 返回: 返回数组 说明: X的N日总体标准差 总体标准差,即为总体样本方差的开方,看看一样吗? POW(VARP(C,5),0.5);{0.159} STDP(C,5);{0.159} 六、 函数: STD(X,N) 参数: X为数组,N为统计周期 返回: 返回数组 说明: X的N日估算标准差 估算标准差,即为估算样本方差的开方,看看一样吗? POW(VAR(C,5),0.5);{0.178} STD(C,5);{0.178}好了,以上六个统计函数,除了第一个,其它五个,只要求出方差,就可以找到相应关系,全部求出来。而方差,可以用公式MA(POW(C,2),5)-POW(MA(C,5),2);求出,所以说,新东西只有一个:平均绝对偏差。 以上六个函数中的N,目前均不支持序列变量,但可以用参数来调整。 一元线性回归的方法,就是在众多的点中,找到一根直线,而这根直线,最能代表众多点的平均“趋势”。 直线的表达方程是:y=a+bx。只要两个参数a、b定下来,直线的位置就定了。 求参数a、b的方法一般有两种,一种较为简便,但精度不够,称为平均数法。还有一种精度较高,应用也最多,叫最小二乘法。可想而知,倚天中的线性回归预测值,是根据最小二乘法求出来的。这里就只介绍最小二乘法。 设在众多点中穿过的回归直线的方程是y'=a+bx。而每个点的垂直高度为y。那么对应于每个点,都可得到类似于偏差的值y-y'。这些值的平方的总和达到最小,而求出参数a、b,就是最小二乘法的基本原理。 y-y'=y-a-bx。每个点,都有对应的x、y值,那么将这些值,分别代入(y-a-bx),求平方,最后进行累计。最终的表达式Q中,就只有a和b两个变量了。为使Q具有最小值,必须使其对a,b的偏导数等于0。由这两个等式中,就可以求出a、b的值了。同例,x:{0,1,2,3,4}, y:{9.17,9.24,9.11,8.85,8.87} xy:{0,9.24,18.22,26.55,35.48} x的平均值是(0+1+2+3+4)/5=2,x的平均值的平方是:4,y的平均值是:9.048 x平方{0,1,4,9,16},x平方总和是:30 b=(89.49-5*2*9.048)/(30-5*4)=-0.99/10=-0.099 a=9.048-(-0.099*2)=9.246 y=9.246-0.099*x。这就是我们求出的回归直线方程。 在前四天,y值为9.246,在今天,y=9.246-0.099*4=8.85。 有了这两个值,就可以在主图上画线了: A:=BACKSET(ISLASTBAR,5); B:=A>REF(A,1); DRAWICON(A,C,10); DRAWLINE(B,9.246,ISLASTBAR,8.85,0); {主图、主图叠加} 各位看到,计算过程比较麻烦,一般只要了解回归线的意义即可。具体计算,也有以下两个基本函数帮忙。七、 函数: FORCAST(X,N) 参数: X为数组,N为统计周期 返回: 返回数组 说明: X的N周期线性回归预测值 示例: FORCAST(CLOSE,10) 表示求10周期线性回归预测 用最小二乘法,求出N周期内,X的一元线性回归线上的当天的值。与以上介绍的a值不同,a值是(N-1)周期前的回归线上的值。N取值为1时没有意义。 FORCAST(C,5);{8.85} 八、 函数: SLOPE(X,N) 参数: X为数组,N为统计周期 返回: 返回数组 说明: 为X的N周期线性回归线的斜率 示例: SLOPE(CLOSE,10) 表示求10周期线性回归线的斜率 用最小二乘法,求出N周期内,X的一元线性回归线的斜率,相当于以上介绍的b值。在K线图上是(价差/时间差)的关系,与角度没有任何关系。N取值为1时没有意义。 SLOPE(C,5);{-0.099}那么有了这两个函数,要画出回归线还是不容易。今天的回归线的值和斜率知道了,可(N-1)天之前的回归线上的值(相当于前面说的a值)还是不知道,因为指标均为序列变量,无法倒推。 {点击看本软件截图:58股票 公式网 http://www. 58gu. com 整理} |