- 精华
- 0
- 在线时间
- 784 小时
- UID
- 7437
- 积分
- 2872
- 帖子
- 537
- 阅读权限
- 80
- 注册时间
- 2010-3-15
- 最后登录
- 2013-11-15
- 精华
- 0
- UID
- 7437
- 积分
- 2872
- 帖子
- 537
- 主题
- 133
- 阅读权限
- 80
- 注册时间
- 2010-3-15
- 最后登录
- 2013-11-15
|
// 简称: 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 ;
}
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 |
|