问财量化选股策略逻辑
选股逻辑:选取RSI小于65、2021年营收/2018年营收大于1.1、10日涨幅大于0小于35的股票进行投资。
选股逻辑分析
该选股逻辑在前一个逻辑的基础上加入了筛选10日涨幅的条件,这可以更加全面地考察股票的短期涨跌情况。此外,该策略也考虑了股票的基本面,可以更好地防范风险,提高选股的稳定性。
有何风险?
- 该策略选股条件过多,可能会忽略掉一些有效的股票。
- 该策略中的涨幅条件较为严格,选股范围可能过于狭窄。
如何优化?
- 可以结合其他技术指标进行筛选,如MACD、KDJ等。
- 可以采用特定行业、板块等进行筛选,获得更为精确的选股结果。
最终的选股逻辑
选取RSI小于65、2021年营收/2018年营收大于1.1、10日涨幅大于0小于35的股票进行投资,选取前N个股票进行投资,投资期限为一年。
同花顺指标公式代码参考
- RSI指标:
RSI(C, N):100*(SMA(MAX(C-N,0),N,1)/SMA(ABS(C-N),N,1))
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
increase_threshold = 0.35
# 营收筛选条件
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
# 涨幅筛选条件
increase_data = ts.get_hist_data(code)['p_change'].rolling(window=10).sum().values[-1]
if increase_data < 0 or increase_data > increase_threshold:
continue
except Exception as e:
continue
res.append(code)
if len(res) >= n:
break
return res[:n]
# 选取前10个股票
res = select_stocks(10)
print(res)
注:在使用该代码时,请遵守国家法律法规和相关规定,严禁擅自开展证券投资活动,自行承担相应风险。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
