问财量化选股策略逻辑
选股逻辑:选取RSI小于65、PE大于0,并且竞价涨幅在-2%到5%之间的股票。
选股逻辑分析
该选股策略在考虑技术面指标RSI的同时,结合了基本面指标PE和竞价涨幅指标,可以筛选出在多个方面都有优异表现的股票。
有何风险?
该选股逻辑依赖于竞价涨幅指标,而竞价涨幅指标的波动较大,可能存在噪音或者虚假信号,容易选择不稳定的股票。
如何优化?
可以结合其他基本面和技术面指标来缩小选股范围,避免过多关注竞价涨幅指标的波动干扰,如加入MACD指标或者交易量指标的筛选,也可以考虑使用市场和行业的均值、中位数等数据来调整竞价涨幅指标的范围,避免过于绝对的选股逻辑。
最终的选股逻辑
在技术面和基本面指标下,选择RSI小于65、PE大于0,并且竞价涨幅在-2%到5%之间的股票。
同花顺指标公式代码参考
- RSI: RSI(CLOSE, N),其中CLOSE为收盘价数据,N为周期。建议周期为14。
- 竞价涨幅:上网查找获取。
Python代码参考
import pandas as pd
import tushare as ts
def get_stock_list(rsi_threshold=65, pe_threshold=0, jqzf_min=-2, jqzf_max=5, top_n=5):
stock_list = pd.DataFrame(columns=['股票代码', '名称', '综合指标'])
for _, row in ts.get_today_all().iterrows():
symbol = row['code']
if not (symbol.startswith('300') or symbol.startswith('688')):
if symbol.startswith('60') or symbol.startswith('00'):
if symbol[0] == '6':
symbol = 'sh' + symbol
else:
symbol = 'sz' + symbol
try:
tick_data = ts.get_realtime_quotes(symbol)
jqzf = (float(tick_data['price'][0]) - float(tick_data['pre_close'][0])) / float(tick_data['pre_close'][0]) * 100
if jqzf < jqzf_min or jqzf > jqzf_max:
continue
rsi = talib.RSI(k_data['close'], timeperiod=14)[-1]
if rsi > rsi_threshold:
continue
if float(row['pe_ttm']) < pe_threshold:
continue
stock_list = stock_list.append({'股票代码': symbol[:6], '名称': row['name'], '综合指标': 0}, ignore_index=True)
except:
continue
stock_list = stock_list[:top_n]
return stock_list
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


