非游程参数检验的代码 [开拓者 TB]
- 咨询内容:
本帖最后由 rypan 于 2012-2-14 16:32 编辑
- //------------------------------------------------------------------------
- // 参考《高频交易》P74
- // 简称: ycjy
- // 名称: 非参数游程检验
- // 类别: 公式应用
- // 类型: 用户应用
- // 输出:
- //------------------------------------------------------------------------
- Params
- Numeric period(200);
- vars
- NumericSeries zbd(0);//正变动计数
- NumericSeries fbd(0);//负变动计数
- NumericSeries yc(0);//游程计数
- Numeric n1;
- Numeric n2;
- Numeric u;
- Numeric x;
- Numeric s1;
- Numeric s2;
- Numeric s;
- Numeric z;
- Begin
- yc = 0;
- If(c > c[1]){
- zbd = 1;
- fbd = 0;
- If(zbd[1] < 0.5)//上一个bar不是正变动。正游程开始。
- yc = 1;
- } else If(c < c[1]){
- zbd = 0;
- fbd = 1;
- If(fbd[1] < 0.5)//上一个bar不是负变动。负游程开始。
- yc = 1;
- } else {
- zbd = 0;
- fbd = 0;
- }
-
- n1 = SummationFC(zbd, period);
- n2 = SummationFC(fbd, period);
- u = SummationFC(yc, period);
- x = 2 * n1 * n2 / (n1 + n2) + 1;
- s1 = 2 * n1 * n2 * (2 * n1 * n2 - n1 - n2);//分子部分
- s2 = Sqr(n1 + n2) * (n1 + n2 -1);//分母部分
- s = Sqrt(s1 / s2);
- z = (Abs(u - x) - 0.5) / s;
- PlotNumeric("Z", z);
- PlotNumeric("标准值", 1.645);
- /*
- PlotNumeric("n1", n1);
- PlotNumeric("n2", n2);
- PlotNumeric("u", u);
- //*/
- End
- //------------------------------------------------------------------------
- TB技术人员:
我也做个一个 这个 但是 两者 运行的结果不一致 来交流交流
//------------------------------------------------------------------------
// 简称: course_test
// 名称: 非参数游程检验
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
Vars
NumericSeries i(0);
NumericSeries j(0);
NumericSeries u(0); //游程
Numeric s; // 标准差
Numeric x; // 期望\
Numeric z;
Begin
If(close-open>0)
{i=i[1]+1;}
If(Close-open<0)
{j=j+1;}
if(close[1]-open[1]<>0 && close-open<>0)
{
if((close-open)*(close[1]-open[1])<0)
{u=u+1;}
Else
{u=u;}
}
else
if(close[1]-open[1]==0 && close-open<>0)
{ if((close[2]-open[2])*(close-open)<0)
{u=u+1;
}
else{u=u;}
}
else
if(close-open==0)
{u=u;}
x=((2*j*i)/(i+j))+1;
s=Sqrt(2*i*j*(2*j*i-j-i)/((j+i-1)*Sqr(j+i)));
z=(Abs(u-x)-0.5)/s;
PlotNumeric("ivalue",i);
PlotNumeric("jvalue",j);
PlotNumeric("zvalue",z);
end
//------------------------------------------------------------------------
// 编译版本 GS2010.12.08
// 用户版本 2011/10/31 11:31
// 版权所有 ucomeonpp
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------ - TB客服:
本帖最后由 rypan 于 2012-2-14 14:52 编辑
可能不对。收益率应该是两个Bar收盘价相比吧。
你的算法是哪本书上的?和我看的不太一样。 - 网友回复:
我本以为很多品种会显著非有效,可检测的结果大出我的意料
- 网友回复:
回复 4# rypan
能说说结论吗?
如果以上指标公式不适用于您常用的行情软件
或者您想改编成选股公式,以便快速选出某种形态个股的话,
相关文章
-
指定的模型还没有相关内容!