问财量化选股策略逻辑
选股逻辑:选用RSI小于65、2021年营收/2018年营收大于1.1、500日内至少2次涨停的股票。
选股逻辑分析
该选股逻辑在考虑技术指标RSI的低位买入信号、基本面指标营收增长率的同时,加入了涨停板的筛选条件,从市场情绪、资金量等多个角度评估一支股票的潜力,更符合实际的选股需求。
有何风险?
- 涨停板并不能完全反映市场情况,股票有时可能会被炒作,导致涨停次数偏多,难以真实反映其潜力;
- 营收增长率没有考虑公司成本费用等其他因素,不能完全反映公司的盈利状况;
- RSI指标是一种超买超卖指标,短期内可能出现错误的低位信号;
- 选股逻辑过于简单,可能会筛选出比较广泛的股票池。
如何优化?
- 可以考虑加入其他技术指标如KDJ、DMI等,综合评估股票的价格和成交量的涨跌情况;
- 可以加入其他基本面指标如净资产收益率、股息率等,更全面地了解公司的盈利状态;
- 对于涨停板的筛选条件,可以结合市值、成交量等指标进行调整;
- 数据范围可以适当放宽,比如500日内至少3次涨停。
最终的选股逻辑
选用RSI小于65、2021年营收/2018年营收大于1.1、500日内至少3次涨停的股票。
同花顺指标公式代码参考
通达信公式:
(C/REF(C,1)>1.1) AND (RSI(CLOSE,14)<65) AND COUNT(ZT,500)>= 3 AND (NOT ISTODAY( ZT )) AND (NOT ISTODAY( DT ))
该公式结合了营收筛选条件、RSI指标和涨停板筛选条件,还在选股条件中加入了非涨跌停板的筛选条件,进一步筛选出具备上涨潜力的股票。
Python代码参考
以下是基于该选股策略编写的 Python 代码示例,仅供参考。
import tushare as ts
import talib
def select_stocks():
res = []
basic_info = ts.get_stock_basics()
for code in basic_info.index:
try:
rsi_threshold = 65
revenue_ratio_threshold = 1.1
limited_up_threshold = 3
days_threshold = 500
# 过滤条件:上市时间超过一年
if basic_info.loc[code]['timeToMarket'] > int(time.strftime("%Y%m%d")) - 365:
continue
# 营收筛选条件
revenue_ratio = ts.get_hist_data(code)['revenue'][-1] / ts.get_hist_data(code)['revenue'][0]
if revenue_ratio < revenue_ratio_threshold:
continue
# 涨停板筛选条件
limited_up_data = ts.get_hist_data(code)
if limited_up_data[limited_up_data['pct_change'] > 9.5]['p_change'].count() < limited_up_threshold:
continue
# RSI指标
rsi_data = talib.RSI(ts.get_hist_data(code)['close'].values, timeperiod=14)
if rsi_data[-1] > rsi_threshold:
continue
res.append(code)
except Exception as e:
continue
return res
res = select_stocks()
print(res)
注:在使用该代码时,请遵守国家法律法规和相关规定,严禁擅自开展证券投资活动,自行承担相应风险。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


