世纪娱乐
关于世纪娱乐
你的位置:世纪娱乐 > 关于世纪娱乐 > 【Python量化】用KDJ指标自动交易:教你如何实现无感知盈利!

【Python量化】用KDJ指标自动交易:教你如何实现无感知盈利!

发布日期:2024-09-02 14:12    点击次数:74

KDJ指标是一种常用的技术分析工具,它能够较好地反映出股票的趋势和强弱程度。KDJ指标的名字来源于三个参数的英文缩写:K、D和J。K值代表的是最近n天收盘价与最低价之间的差值所占比例,D值则是K值的平均值,而J值则是3倍的K值减去2倍的D值。根据这三个参数的数值变化,我们可以对股票进行分析和预测,从而制定交易策略。

图片

下面我们将使用Python编写一个简单的KDJ交易策略,并且使用easytrader库进行自动交易操作。具体步骤如下:

1.导入所需要的库,包括easytrader、pandas、tushare和ta-lib。

import easytraderimport pandas as pdimport tushare as tsimport talib

2.设置easytrader的交易账户和密码。

user = easytrader.use('ht_client')user.prepare('account.json')

3.通过tushare获取股票数据,并计算出KDJ指标的数值。

df = ts.get_k_data('600519',start='2021-01-01', end='2022-01-01')high = df['high'].values.astype(float)low = df['low'].values.astype(float)close = df['close'].values.astype(float)K, D, J = talib.STOCH(high, low, close, fastk_period=9, slowk_period=3, slowk_matype=0, slowd_period=3, slowd_matype=0)df['K'] = Kdf['D'] = Ddf['J'] = J

4.根据KDJ指标数值的变化制定交易策略。如果K值超过80并且D值也超过80,就相当于当前处于超买区间,此时可以选择卖出;如果K值低于20并且D值也低于20,就相当于当前处于超卖区间,此时可以选择买入。

图片

if K[-1] > 80 and D[-1] > 80:    user.sell('600519', price='market', amount=100)elif K[-1] < 20 and D[-1] < 20:    user.buy('600519', price='market', amount=100)

5.最后我们将获取到的KDJ数据和交易操作结果输出到控制台上。

print(df.tail())print(user.balance)

注意:以上代码仅供参考,实际使用时需要根据自己的实际需求进行相应的修改和调整。

图片

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

Powered by 世纪娱乐 @2013-2022 RSS地图 HTML地图