问财量化选股策略逻辑
选股逻辑:选择RSI小于65的股票,深证主板中市盈率在0-29.01之间,市净率在0-3.11之间,同时竞价涨幅在-2%到5%之间的股票。
选股逻辑分析
该选股逻辑在技术面和基本面综合考虑,技术面选取RSI小于65的股票,筛选出近期入场较佳的可能性较高的股票,并结合竞价涨幅判断股票短期内是否受到市场的热捧;基本面选取市盈率和市净率在合理范围内,同时结合流通市值,寻找具有一定规模和稳定性的股票。
有何风险?
该选股逻辑较为依赖技术面指标和竞价涨幅,而这两个指标都有很大的随机性和不确定性,当市场行情异常时容易出现选股不准确的情况,股票的涨跌也可能受到其他因素的影响。同时,竞价涨幅也可能受到大宗交易等因素的影响。
如何优化?
在保留已有指标的基础上,可以加入其他指标例如市场热度、大宗交易等来评估股票的短期表现。可以考虑引入机器学习等算法,从历史数据中挖掘出更有效的选股逻辑。同时,在市场行情不确定的情况下,可以根据技术面指标的变化频率、带宽等对技术面指标进行分析和加权。
最终的选股逻辑
选股逻辑:选择RSI小于65的股票,深证主板中市盈率在0-29.01之间,市净率在0-3.11之间,同时竞价涨幅在-2%到5%之间的股票。
同花顺指标公式代码参考
- RSI小于65: RSI(C, 14) < 65
- 深证主板中市盈率0-29.01: PE>0 AND PE<29.01
- 市净率0-3.11: PB>0 AND PB<3.11
- 竞价涨幅-2%到5%: (CP-JS)/JS>=-0.02 AND (CP-JS)/JS<0.05
python代码参考
import pandas as pd
import tushare as ts
# 连接tushare并获取股票基本信息
token = 'token'
pro = ts.pro_api(token)
basic = pro.stock_basic(exchange='SZSE', list_status='L', fields='ts_code,symbol,name,area,industry,pe,roe,eps,circ_mktcap')
# 初始化条件
rsi = 65
pe_low = 0
pe_high = 29.01
pb_low = 0
pb_high = 3.11
jbzf_low = -0.02
jbzf_high = 0.05
# 遍历每支股票
result = []
for code in basic['ts_code']:
# 判断条件
finance = pro.query('daily_basic', ts_code=code, fields='pe,pb,circ_mktcap')
if finance.empty: continue
pe = finance['pe'].iloc[-1]
pb = finance['pb'].iloc[-1]
circ_mktcap = finance['circ_mktcap'].iloc[-1]
if pe < pe_low or pe > pe_high or pb < pb_low or pb > pb_high or circ_mktcap < circ_mktcap_low or circ_mktcap > circ_mktcap_high: continue
tech = pro.query('daily', ts_code=code, fields='open,high,low,close')
if tech.empty: continue
# 计算指标并判断是否符合条件
open_price = tech['open'].iloc[-1]
close_price = tech['close'].iloc[-1]
high_price = tech['high'].iloc[-1]
low_price = tech['low'].iloc[-1]
rsi = talib.RSI(close_price, timeperiod=14)[-1]
jbzf = (close_price - open_price) / open_price
if jbzf >= jbzf_low and jbzf < jbzf_high and rsi < rsi_threshold:
result.append([code, basic[basic['ts_code'] == code].iloc[0]['name']])
# 将符合条件的代码和名称加入结果列表
result_df = pd.DataFrame(result, columns=['代码', '名称'])
result_df.to_excel('result.xlsx', index=False)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


