问财量化选股策略逻辑
选股逻辑为:振幅大于1、剔除昨日涨停、KDJ(K)增长值的股票。该选股策略旨在从技术面出发,选择波动较大、并且KDJ指标呈现出明显的增长趋势的股票,具备较大上涨潜力。
选股逻辑分析
振幅指标反映了市场的波动强度,选择振幅大于1的股票可以过滤掉一些低波动率的品种。剔除昨日涨停的股票可以避免买入高位,降低风险。KDJ指标是反映市场超买超卖的强有力工具,通过KDJ(K)增长值来判断趋势是否向上,从而进一步筛选出增长趋势明显的品种。
有何风险?
该选股策略可能存在以下风险:
-
KDJ指标的使用存在主观因素,可能会导致选股结果不够准确。
-
选股逻辑仅仅通过技术面来筛选股票,难以全面评估股票的质量和价值。
-
长期使用该选股策略可能会导致过度依赖技术指标,而忽略公司基本面对于股票的影响。
如何优化?
以下是对该选股逻辑的优化建议:
-
合理使用KDJ指标,并且需要衡量KDJ指标在该股票上的使用效果,以验证股票走势与KDJ指标的一致性。
-
在KDJ指标的基础上,考虑加入更多因素,如公司基本面、财务状况等因素,综合考量,筛选出更有价值的股票。
-
需要不断调整选股策略中的参数,以及时适应市场变化。
最终权益选股逻辑
选股策略为:振幅大于1、剔除昨日涨停、KDJ(K)增长值的股票。
同花顺指标公式代码参考
以下是该选股策略的通达信指标公式代码:
振幅指标:AMO=(HIGH-LOW)/REF(CLOSE,1);
剔除昨日涨停:NOT LIMIT;
KDJ指标:KDJ(9, 3, 3)
KDJ(K)增长值 : (KDJ(K)- REF(KDJ(K),1))/REF(KDJ(K),1)*100;
选股条件:AMO > 1 AND NOT LIMIT AND (KDJ(K)- REF(KDJ(K),1))/REF(KDJ(K),1)*100>0;
python代码参考
from gm.api import *
set_token('your_token_here')
# 设置回测起点和终点
start_date = '2017-01-01'
end_date = '2022-01-01'
# 构造KDJ指标,获取KDJ(K)增长值
def kdj_increase(symbol):
df = history(symbol=symbol,
start_time=start_date,
end_time=end_date,
fields=["symbol", "close", "open", "limit_status", "high", "low"],
indicators={"KDJ": "KDJ(9, 3, 3)"},
bar_count=1,
freq="D",
fill_missing="last",
adjust=ADJUST_PREV)
kdj_k = df.iloc[-1]['KDJ.KDJ_K']
kdj_k_yesterday = df.iloc[-2]['KDJ.KDJ_K']
return (kdj_k - kdj_k_yesterday) / kdj_k_yesterday * 100 if kdj_k_yesterday != 0 else 0
# 过滤出KDJ(K)增长值为正的股票列表
symbols_selected = []
for symbol in get_symbols(exchanges=['SHSE', 'SZSE'], sec_types=['STOCK'], fields=['symbol']):
if kdj_increase(symbol) > 0:
symbols_selected.append(symbol)
print(symbols_selected)
上述代码中,选股的逻辑为振幅大于1、剔除昨日涨停、KDJ(K)增长值的股票。使用自定义函数获取KDJ(K)增长值,并根据其是否大于0来筛选符合条件的股票。同时使用了get_symbols函数和history函数来获取股票列表和历史数据。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
