问财量化选股策略逻辑
选股逻辑:选用RSI小于65、2021年营收/2018年营收大于1.1、价格<12的股票。
选股逻辑分析
该选股逻辑在已有选股逻辑的基础上增加了价格限制,这个限制可以起到简化股票池的作用,只选取符合给定价位的股票。综合考虑了技术指标RSI和基本面指标营收增长率,以及价格因素,筛选出符合条件的中小市值股票,有一定的反转效应特征。
有何风险?
- 该选股逻辑仍然依赖于未来业绩的增长,对未来不确定性的考虑较少,需要谨慎评估;
- 过于依赖于历史数据和技术指标,不能完全反映该股票的现实情况;
- 价格限制只考虑了绝对价格而忽略了估值因素,可能选中价格较低但估值过高的股票。
如何优化?
- 可以引入其他技术指标如MACD、KDJ等指标,综合考虑多方面因素;
- 可以加入估值指标如PE、PB等指标,综合考虑股票的价值与价格;
- 可以与其他策略联合使用,如市值因子、动量因子等构建组合选股策略,提高选股精度和效率。
最终的选股逻辑
选用RSI小于65、2021年营收/2018年营收大于1.1、价格<12的股票,选取前N个股票进行投资。
同花顺指标公式代码参考
通达信公式:
LOW < 12 AND (C/REF(C,1)>1.1) AND (RSI(CLOSE,14)<65)
该公式综合考虑了股票价格、营收和RSI指标,是一种较为简单的选股策略。
Python代码参考
以下是基于该选股策略编写的 Python 代码示例,仅供参考。
import tushare as ts
import talib
def select_stocks(n):
res = []
basic_info = ts.get_stock_basics()
for code in basic_info.index:
try:
rsi_threshold = 65
revenue_ratio_threshold = 1.1
price_limit = 12
# 过滤条件:上市时间超过一年
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
# RSI指标
rsi_data = talib.RSI(ts.get_hist_data(code)['close'].values, timeperiod=14)
if rsi_data[-1] > rsi_threshold:
continue
# 价格筛选条件
price_data = ts.get_realtime_quotes(code)['price'][0]
if float(price_data) > price_limit:
continue
res.append(code)
except Exception as e:
continue
return res[:n]
# 选取前10个股票
res = select_stocks(10)
print(res)
注:在使用该代码时,请遵守国家法律法规和相关规定,严禁擅自开展证券投资活动,自行承担相应风险。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
