Código del programa de cálculo del indicador Kdj

Primero, mire la fórmula de cálculo del índice KDJ: el
cálculo de KDJ es más complicado. Primero, calcule el valor RSV del período (n días, n semanas, etc.), es decir, el valor del índice estocástico inmaduro, y luego calcule el valor K , Valor D, valor J, etc. Tomando el cálculo del valor KDJ en n días como ejemplo, la fórmula de cálculo es
RSV en n días = (Cn - Ln) / (Hn - Ln) × 100. En la
fórmula, Cn es el precio de cierre en el día n; Ln es el precio más bajo en n días; Hn es el precio más alto en n días, generalmente n toma 9.
En segundo lugar, calcule el valor K y el valor D: valor
K del día = 2/3 × valor K del día anterior + 1/3 × RSV del
día Valor D del día = 2/3 × valor D del día anterior + 1/3 × valor K del día
Al usar la función pandas ewm para calcular los valores K y D, tenga en cuenta que esto es 1/3 × RSV del día, por lo que el parámetro de la función pandas ewm debe usar com en lugar de span La configuración de comunicación es 1/3 y la configuración de intervalo es 2/3.
Valor J = 3 * valor K del día-2 * valor D del
código de cálculo del indicador KDJ del día es el siguiente:

import tushare as ts
import pandas as pd
price = ts.get_k_data('300816', start = '2020-02-10', end = '2020-04-03', ktype = 'D')
price['rolling_high'] = price['high'].rolling(window = 9, min_periods = 1).max()
price['rolling_low'] = price['low'].rolling(window = 9, min_periods = 1).min()
price['fastk'] = (price['close'] - price['rolling_low']) / (price['rolling_high'] - price['rolling_low']) * 100
price['fastd'] = price['fastk'].ewm(com = 2, adjust = False).mean()
price['K'] = price['fastd']
price['D'] = price['K'].ewm(com = 2, adjust = False).mean()
price['J'] = 3 * price['K'] - 2 * price['D']

 

Supongo que te gusta

Origin blog.csdn.net/u012724887/article/details/105375800
Recomendado
Clasificación