Ejemplo n.º 1
0
def stoc_raw(data, interval=14, k_smooth=0, d_smooth=3):
    K = np.zeros((data.shape[0], ))
    D = np.zeros((data.shape[0], ))

    K[:interval] = 50.0
    D[:interval] = 50.0

    for i in range(interval, data.shape[0]):
        K[i] = (data[i] - np.min(data[i-interval:i+1])) / (np.max(data[i-interval:i+1]) - np.min(data[i-interval:i+1])) * 100.0

    if k_smooth != 0:
        K = ma_raw(K, k_smooth)
    D = ma_raw(K, d_smooth)

    return K, D
Ejemplo n.º 2
0
def stoc_raw(data, interval=14, k_smooth=0, d_smooth=3):
    K = np.zeros((data.shape[0], ))
    D = np.zeros((data.shape[0], ))

    K[:interval] = 50.0
    D[:interval] = 50.0

    for i in range(interval, data.shape[0]):
        K[i] = (data[i] - np.min(data[i - interval:i + 1])) / (
            np.max(data[i - interval:i + 1]) -
            np.min(data[i - interval:i + 1])) * 100.0

    if k_smooth != 0:
        K = ma_raw(K, k_smooth)
    D = ma_raw(K, d_smooth)

    return K, D
Ejemplo n.º 3
0
def bb_raw(data, interval=20, stdev_multiplier=2):
    stdev = np.zeros(data.shape)
    for i in range(1, stdev.shape[0]):
        if i < interval:
            stdev[i] = np.std(data[0:i+1])
        else:
            stdev[i] = np.std(data[i-interval:i+1])
    middle = ma_raw(data, interval)
    upper = middle + stdev_multiplier * stdev
    lower = middle - stdev_multiplier * stdev

    return lower, middle, upper