コード例 #1
0
ファイル: stockTools.py プロジェクト: AlexYang1949/ttzStock
    def BBANDS(cls, data, ndays):
        MA = pd.Series(pd.rolling_mean(data['Close'], ndays))
        SD = pd.Series(pd.rolling_std(data['Close'], ndays))
        b1 = MA + (2 * SD)
        B1 = pd.Series(b1, name='Upper BollingerBand')
        data = data.join(B1)

        b2 = MA - (2 * SD)
        B2 = pd.Series(b2, name='Lower BollingerBand')
        data = data.join(B2)
        return data
コード例 #2
0
ファイル: BB.py プロジェクト: chengziniuniu/stock-project
def BBANDS(data, ndays):
    MA = pd.Series(pd.rolling_mean(data['Close'], ndays))
    SD = pd.Series(pd.rolling_std(data['Close'], ndays))

    b1 = MA + (2 * SD)
    B1 = pd.Series(b1, name='Upper BollingerBand')
    data = data.join(B1)

    b2 = MA - (2 * SD)
    B2 = pd.Series(b2, name='Lower BollingerBand')
    data = data.join(B2)

    return data
コード例 #3
0
ファイル: CCI.py プロジェクト: chengziniuniu/stock-project
def CCI(data, ndays):
    TP = (data['High'] + data['Low'] + data['Close']) / 3
    CCI = pd.Series((TP - pd.rolling_mean(TP, ndays)) /
                    (0.015 * pd.rolling_std(TP, ndays)),
                    name='CCI')
    data = data.join(CCI)
    return data
コード例 #4
0
def EVM(data, ndays):
    dm = ((data['High'] + data['Low']) / 2) - (
        (data['High'].shift(1) + data['Low'].shift(1)) / 2)
    br = (data['Volume'] / 100000000) / ((data['High'] - data['Low']))
    EVM = dm / br
    EVM_MA = pd.Series(pd.rolling_mean(EVM, ndays), name='EVM')
    data = data.join(EVM_MA)
    return data
コード例 #5
0
def SMA(data, ndays):
    SMA = pd.Series(pd.rolling_mean(data['Close'], ndays), name='SMA')
    data = data.join(SMA)
    return data
コード例 #6
0
def EWMA(data, ndays):
    EMA = pd.Series(pd.ewma(data['Close'], span=ndays, min_periods=ndays - 1),
                    name='EWMA_' + str(ndays))
    data = data.join(EMA)
    return data
コード例 #7
0
def ForceIndex(data, ndays):
    FI = pd.Series(data['Close'].diff(ndays) * data['Volume'],
                   name='ForceIndex')
    data = data.join(FI)
    return data
コード例 #8
0
def ROC(data,n):
     N = data['Close'].diff(n)
     D = data['Close'].shift(n)
     ROC = pd.Series(N/D,name='Rate of Change')
     data = data.join(ROC)
     return data