系统交易论坛 - 开拓者期货自动交易平台's Archiver

fangchuans 发表于 2010-7-25 10:38

tb里有没有求线性回归的函数?

想通过最近几个周期的收盘价求个斜率算出挂单价格

欲速不达 发表于 2010-7-25 17:40

// 简称: LinearReg
// 名称: 求线性回归
// 类别: 用户函数
// 类型: 内建函数
// 输出: 布尔型
//------------------------------------------------------------------------

Params
        NumericSeries Price(1);
        Numeric Length(10);
        Numeric TgtBar(0);
        NumericRef LRSlope;
        NumericRef LRAngle;
        NumericRef LRIntercept;
        NumericRef LRValue;
Vars
        Numeric SumXY(0);
        Numeric SumY;
        Numeric SumX;
        Numeric SumXSqr;
        Numeric Divisor;
        Numeric i;
Begin
        if (Length > 1)
        {
                SumX = Length * ( Length - 1 ) * 1/2;
                SumXSqr = Length * ( Length - 1 ) * ( 2 * Length - 1 ) * 1/6 ;       
                Divisor = Sqr( SumX ) - Length * SumXSqr ;                       
                SumY = Summation( Price, Length ) ;
                for i = 0 to Length - 1
                {
                        SumXY = SumXY + i * Price[i] ;
                }
               
                LRSlope = ( Length * SumXY - SumX * SumY) / Divisor ;
                LRAngle = Atan ( LRSlope ) ;
                LRIntercept = ( SumY - LRSlope * SumX ) / Length ;
                LRValue = LRIntercept + (Length - 1 - TgtBar)*LRSlope;
                Return True;
        }Else
        {
                Return False;
        }
End

devcon 发表于 2010-8-10 17:56

内建就有。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.