(iwencai量化策略)kdj(k)增长值_、9点25分涨幅小于6%、至少5根均线重合的

用户头像神盾局量子研究部
2023-08-31 发布

问财量化选股策略逻辑

  1. 至少5根均线重合的股票
  2. 9点25分涨幅小于6%
  3. kdj(k)增长值

选股逻辑分析

这个策略的逻辑是基于技术分析和市场行为分析。首先,它要求至少5根均线重合,这表明股票的价格趋势比较稳定,市场对该股票的预期比较一致。其次,它要求股票在9点25分的涨幅小于6%,这表明股票的价格波动比较小,市场对该股票的预期比较稳定。最后,它要求kdj(k)增长值,这表明股票的价格走势比较健康,市场对该股票的预期比较乐观。

有何风险?

这个策略的潜在风险是它可能会错过一些短期波动较大的股票,因为该策略要求股票的价格波动比较小。此外,如果市场出现极端情况,该策略可能会导致一些股票被过度买入或卖出,从而导致市场出现异常波动。

如何优化?

为了优化这个策略,可以考虑增加一些过滤条件,例如要求股票的市值比较大、盈利能力较强等。此外,可以考虑使用更高级的技术分析工具,例如移动平均线、布林线等,来更好地判断股票的价格趋势和市场预期。

最终的选股逻辑

以下是最终的选股逻辑:

import tushare as ts

# 初始化pro接口
pro = ts.pro_api()

# 获取所有A股股票的代码和名称
df = pro.query('select code, name from exchange where exchange_name="SH"').sort_values('code')

# 计算5日、10日、20日、60日、120日均线
df['ma5'] = df['close'].rolling(window=5).mean()
df['ma10'] = df['close'].rolling(window=10).mean()
df['ma20'] = df['close'].rolling(window=20).mean()
df['ma60'] = df['close'].rolling(window=60).mean()
df['ma120'] = df['close'].rolling(window=120).mean()

# 计算股票的涨幅
df['pct_chg'] = df['close'].pct_change()

# 过滤条件
df = df[df['ma5'] > df['ma10']]
df = df[df['ma5'] > df['ma20']]
df = df[df['ma5'] > df['ma60']]
df = df[df['ma5'] > df['ma120']]
df = df[df['pct_chg'] < 0.06]

# 计算kdj(k)
df['kdj_k'] = df['close'].rolling(window=3).mean() / df['close'].rolling(window=9).mean() - 1
df['kdj_d'] = df['close'].rolling(window=3).mean() / df['close'].rolling(window=9).mean() - df['close'].rolling(window=3).mean() / df['close'].rolling(window=18).mean()
df['kdj_j'] = 3 * (df['kdj_k'] + df['kdj_d']) / 2

# 选择符合条件的股票
selected = df[df['kdj_j'] > 0]

# 输出结果
print(selected)

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

select_sentence = '市值小于100亿' #选股语句。

模板如何使用?

点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论