问财量化选股策略逻辑
选股逻辑:在RSI小于65、资金流强度由大到小、2019年分红比例大于25%的条件下,筛选出具备投资价值的个股作为股票池。
选股逻辑分析
该选股逻辑主要考虑了技术指标和公司基本面。RSI小于65表示当前股票技术面处于相对低位,适合抢反弹;资金流强度由大到小表示市场资金流出比流入更多,但如果2019年分红比例大于25%,则说明公司有一定的现金分红能力。
有何风险?
选取的多个条件相互独立,没有综合考虑行业趋势和市场基本面等因素,同时2019年分红比例可能是临时的分红行为,未来不一定能保持现金分红能力。
如何优化?
- 添加更多投资要素,例如公司业绩成长性、行业景气度等;
- 除了2019年分红比例,增加其他分红相关指标,例如股息率等;
- 在增加投资要素的基础上,加入风险控制指标,例如股票财务状况等。
最终的选股逻辑
在RSI小于65、资金流强度由大到小、2019年分红比例大于25%等多个条件下,综合考虑行业趋势、市场基本面、公司业绩成长性和股票财务状况等因素,筛选出具备较高投资价值的优质股票。
同花顺指标公式代码参考
- RSI指标:
通达信指标公式:RSI(CLOSE,N)
同花顺指标公式:RSI(CLOSE,N)
python代码参考
以下是基于该选股策略编写的Python代码示例,仅供参考。
import tushare as ts
import pandas as pd
import talib
def select_stocks(stocks):
res = []
for stock in stocks:
try:
# 判断RSI、资金流强度、分红情况是否满足条件
rsi_threshold = 65
cmf_threshold = 0
dividend_threshold = 0.25
stock_basic = ts.get_stock_basics()
if stock not in stock_basic.index:
continue
hist_data = ts.get_hist_data(stock)
if hist_data is None:
continue
rsi_data = talib.RSI(hist_data['close'].values, timeperiod=14)
if rsi_data is None or rsi_data[-1] > rsi_threshold:
continue
cmf_data = talib.CMF(hist_data['high'].values, hist_data['low'].values,
hist_data['close'].values, hist_data['volume'].values, timeperiod=20)
if cmf_data is None or cmf_data[-1] < cmf_threshold:
continue
dividend_data = stock_basic.loc[stock, 'dividend_ratio']
if pd.isna(dividend_data) or dividend_data < dividend_threshold:
continue
res.append(stock)
except Exception as e:
print(e)
continue
return res
stocks = ts.get_stock_basics().index
res = select_stocks(stocks)
print(res)
注:此代码示例中选股条件有增加,仅供参考,应根据具体情况进行适当调整,同时需要对股票池进行筛选,避免影响投资效率。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


