问财量化选股策略逻辑
选股逻辑:选取RSI小于65、2021年营收/2018年营收大于1.1、近25个交易日中单日涨幅大于等于百分之10的股票进行投资。
选股逻辑分析
在前一个逻辑的基础上,在考虑市场趋势的同时,加入单日涨幅限制条件,使得选出的股票有更大机会在明显的上涨趋势中获得超额收益。
有何风险?
- 单纯考虑单日涨幅不全面,不能很好地反映股票的整体表现。
- 经济和市场环境的变化可能导致一些原本表现得不错的股票在未来表现不佳。
如何优化?
- 策略定期更新,结合当前市场环境和行情变化,重新制定选股标准。
- 可以将单日涨幅与其他指标结合起来,综合考虑选股,提高策略的稳健性。
- 考虑加入量化资金管理策略,在根据选股结果进行资产配置的同时,根据风险偏好设置合理的止损点和止盈点,确保投资收益的可持续性。
最终的选股逻辑
选取RSI小于65、2021年营收/2018年营收大于1.1、近25个交易日中单日涨幅大于等于百分之10的股票进行投资,选取前N个股票进行投资,投资期限为一年。
同花顺指标公式代码参考
- 近25个交易日中单日涨幅超过百分之10的指标判断:统计最近25天的涨幅,筛选出涨幅大于等于10%的交易日,如果交易日的数量大于等于5个则符合标准。
REF(CLOSE, 1) / PREVSET(CLOSE, 1, 25) > 1.1 COUNT(REF(CLOSE, 1) / PREVSET(CLOSE, 1, 25) > 1.1, 25) >= 5
Python代码参考
以下是基于该选股策略编写的Python代码示例,仅供参考。
import tushare as ts
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
day_up_threshold = 0.1
# 近25个交易日中单日涨幅大于10%
df = ts.get_hist_data(code)
if df is None or len(df) < 25:
continue
day_up_count = sum(df.p_change > day_up_threshold)
if day_up_count < 5:
continue
# 营收和RSI指标
revenue_ratio = ts.get_hist_data(code)['revenue'][-1] / ts.get_hist_data(code)['revenue'][0]
if revenue_ratio < revenue_ratio_threshold:
continue
rsi_data = talib.RSI(ts.get_hist_data(code)['close'].values, timeperiod=14)
if rsi_data[-1] > rsi_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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
