cedricporter / funcat

Funcat 将同花顺、通达信、文华财经麦语言等的公式写法移植到了 Python 中。
http://funcat.org
Apache License 2.0
941 stars 421 forks source link

SLOPE函数实现了这个功能了么 #30

Open 985153073 opened 5 years ago

985153073 commented 5 years ago

SLOPE函数实现了这个功能了么

OwlWinter commented 4 years ago

+1,希望可以实现 slope 函数

jones2000 commented 3 years ago

我的HQChart里面有SLOPE实现, 希望能帮到你。 py文件代码

`# SLOPE 线性回归斜率

SLOPE(X,N)  返回线性回归斜率。

def SLOPE(self,data,n) :
    if not JSAlgorithm.IsVaildArray(data) :
        return []

    dataLen=len(data)
    if n<1 or n>=dataLen :
        return []

    result=JSAlgorithm.CreateArray(dataLen)
    for start in range(dataLen) :
        if JSAlgorithm.IsNumber(data[start]) :
            break

    for i in range(start+n-1,dataLen) :
        x, y, xy, xx = 0,0,0,0
        for j in range(n) :
            if j>i: 
                break
            x+=(i-j)       # 数据索引相加
            y+=data[i-j]   # 数据相加

        x=x/n
        y=y/n

        for j in range(n) :
            if j>i :
                break
            xy+=(i-j-x)*(data[i-j]-y)
            xx+=(i-j-x)*(i-j-x)

        if xx :
            result[i]= xy/xx
        elif i :
            result[i]=result[i-1]

    return result`