通达信+kdj python
时间: 2023-09-12 18:11:16 浏览: 66
你好!通达信是一个股票分析软件,而KDJ是其中的一种技术指标。如果你想用Python来计算KDJ,可以使用TA-Lib库,它提供了许多常用的技术指标的计算方法,包括KDJ。以下是一个简单的示例代码:
```
import talib
import tushare as ts
# 获取股票数据
df = ts.get_k_data('600519', start='2020-01-01', end='2021-01-01')
# 计算KDJ指标
df['K'], df['D'] = talib.STOCH(df['high'], df['low'], df['close'])
df['J'] = 3 * df['K'] - 2 * df['D']
# 输出结果
print(df[['date', 'K', 'D', 'J']])
```
在上面的代码中,我们首先使用tushare库获取股票数据,然后使用TA-Lib库中的STOCH函数计算KDJ指标,并将结果保存在DataFrame中。最后,我们输出日期和KDJ值。
需要注意的是,以上只是一个简单的示例代码,实际使用中可能需要对股票数据进行更多的处理和计算。
相关问题
通达信kdj指标选股要求k大于50,j值开始上穿的公式代码如何写
根据KDJ指标的计算公式,可以用以下代码实现:
```python
# 假设已经获取了股票的最高价(high)、最低价(low)和收盘价(close)数据
n = 9
m1 = 3
m2 = 3
# 计算RSV值
lowest_low = low.rolling(n, min_periods=n).min()
highest_high = high.rolling(n, min_periods=n).max()
rsv = (close - lowest_low) / (highest_high - lowest_low) * 100
# 计算K值和D值
k = rsv.ewm(alpha=1/m1, min_periods=0, adjust=False).mean()
d = k.ewm(alpha=1/m2, min_periods=0, adjust=False).mean()
# 计算J值
j = 3 * k - 2 * d
# 判断条件
condition = (k > 50) & (j > j.shift())
# 打印符合条件的股票代码
print(condition[condition].index.tolist())
```
其中,n、m1、m2分别表示KDJ指标中的参数,可以根据需要进行调整。最后,通过判断K值是否大于50且J值是否开始上穿(即当前J值大于前一天的J值),来筛选符合条件的股票代码。
阅读全文