问财量化选股策略逻辑
- 至少5根均线重合的股票
- 昨天换手率>8%
- kdj(k)增长值
选股逻辑分析
这个策略的逻辑是基于技术分析和市场行为分析。首先,它要求至少5根均线重合,这可能意味着股票价格趋势稳定,市场参与度较高。其次,昨天换手率要求大于8%,这可能意味着股票活跃度较高,市场关注度较高。最后,使用kdj(k)增长值来判断股票的超买和超卖情况,以确定买入和卖出时机。
有何风险?
这个策略的潜在风险包括市场风险、技术分析风险和交易成本风险。市场风险是指股票价格受到整体市场因素的影响,可能会导致策略失效。技术分析风险是指技术分析的准确性可能受到市场情绪和市场行为的影响,因此策略的准确性可能不够高。交易成本风险是指交易过程中需要支付的费用和税收,可能会降低策略的收益率。
如何优化?
为了优化这个策略,可以考虑以下几点:
- 考虑加入更多的技术指标来提高策略的准确性。
- 考虑加入更多的市场因素来提高策略的适应性。
- 考虑加入更多的风险管理措施来降低策略的风险暴露。
最终的选股逻辑
- 股票价格趋势稳定,至少5根均线重合
- 昨天换手率大于8%
- kdj(k)增长值小于80%且大于20%
python代码参考
import talib
import pandas as pd
def get_kdj_data(df):
# 计算收盘价的移动平均线
ma5 = df['close'].rolling(window=5).mean()
ma10 = df['close'].rolling(window=10).mean()
ma20 = df['close'].rolling(window=20).mean()
# 计算相对强弱指标的三个值
rsi = talib.RSI(df['close'], timeperiod=14)
kd = talib.KD(df['close'], timeperiod=9)
j = talib.JS(df['close'], timeperiod=9)
# 计算kdj(k)增长值
k = kd.k
d = kd.d
j = j
kdj = (k - d) / (1 + d)
# 返回数据框
return pd.DataFrame({'ma5': ma5, 'ma10': ma10, 'ma20': ma20, 'rsi': rsi, 'kd': kd, 'j': j, 'kdj': kdj})
def get筛选条件(df):
# 筛选至少5根均线重合的股票
ma5 ma10 ma20 = df['ma5'], df['ma10'], df['ma20']
condition = (ma5 > ma10) & (ma10 > ma20)
df = df[condition]
# 筛选昨天换手率大于8%的股票
df = df[df['turnover'] > 8]
# 筛选kdj(k)增长值小于80%且大于20%的股票
df = df[df['kdj'] < 0.8] & df[df['kdj'] > 0.2]
# 返回筛选后的数据框
return df
# 读取数据
df = pd.read_csv('data.csv')
# 计算数据
df = get_kdj_data(df)
# 筛选股票
df = get筛选条件(df)
# 输出结果
print(df)
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


