问财量化选股策略逻辑
选股逻辑为:振幅大于1、现量大于1万手、高开、KDJ刚形成金叉。该策略既关注交易活跃度,又注重技术形态。
选股逻辑分析
选股逻辑基于振幅、现量、高开、KDJ指标综合判断股票行情。振幅大于1和现量大于1万手代表交易活跃度高;高开和KDJ指标所判断的金叉代表股票存在上涨机会。该选股逻辑主要适用于短期操作和技术派投资者。
有何风险?
该选股策略过于注重短期走势和技术形态,有可能会忽略其他有效的因素,如公司基本面情况、行业发展趋势等。同时,KDJ指标可能存在数据的滞后性,这也会造成一定的风险。
如何优化?
为了更全面、有效地筛选股票,可以加入其他技术指标和基本面因素进行筛选。比如,可以加入均线、MACD、RSI等技术指标,同时结合PE、PB、ROE、EPS等基本面因素进行综合判断。
最终的选股逻辑
选股逻辑为:振幅大于1、现量大于1万手、高开、KDJ连续三日下跌后,刚形成金叉的股票;加入其他指标判断和筛选,如均线、MACD、RSI等技术指标和PE、PB、ROE、EPS等基本面指标。
同花顺指标公式代码参考
SMA(CLOSE, 9, 1), SMA(CLOSE, 3, 1), LOWV, HIGHV;
KDJ: RSV:= (CLOSE-LOWV)/(HIGHV-LOWV)*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
以上为计算股票KDJ指标的通达信指标公式。
Python代码参考
import tushare as ts
def get_selected_stocks():
selected_stocks = []
pro = ts.pro_api()
all_stocks = [ts_code for ts_code, name in pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,industry,market_cap,float_share').values.tolist() if name[0]!='S' and name[:3]!='ST']
for ts_code in all_stocks:
# 处理选股指标筛选条件
stock_info = pro.stock_basic(ts_code=ts_code, fields='name,industry,market_cap,float_share')
daily_data = pro.daily(ts_code=ts_code, start_date=pro.stock_basic(ts_code=ts_code, fields='start_date').iloc[0], end_date='today')
if len(daily_data) < 4 or daily_data['vol'].max() < 10000 or daily_data.iloc[-1]['open'] > daily_data.iloc[-2]['close']:
continue
lowv = daily_data.iloc[-9:]['low'].min()
highv = daily_data.iloc[-9:]['high'].max()
rsv = (daily_data.iloc[-1]['close'] - lowv) / (highv - lowv) * 100
k = daily_data.iloc[-3:]['close'].mean() * 2 / 3 + rsv / 3
d = k * 2 / 3 + daily_data.iloc[-2:]['close'].mean() / 3
j = k * 3 - d * 2
if j <= k:
continue
selected_stocks.append((stock_info.iloc[0]['name'], ts_code))
selected_stocks.sort()
return selected_stocks
以上为Python代码实现,选股逻辑为振幅大于1、现量大于1万手、高开、KDJ刚形成金叉的股票。在整个选股过程中,可加入其他因素进行补充判断,如技术指标、基本面数据等。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
