问财量化选股策略逻辑
选股逻辑:在RSI小于65、资金流强度由大到小、市值在100亿以内、且是无亏损企业的股票中,筛选出有潜力的优质股票。
选股逻辑分析
该选股逻辑结合了技术面和基本面因素。 相比第一个选股逻辑,除了RSI和资金流强度以外,还添加了股票市值和盈利能力两个因素。其中,市值控制在100亿以内,可缩小范围;要求当年的净利润为正,可以筛选出盈利能力较好的股票。
有何风险?
该选股逻辑依旧没有考虑公司的其他基本面因素,如经营能力、估值水平和业务前景等,只是基于市值和盈利能力两个指标进行筛选,风险较大。
如何优化?
- 引入更多的基本面因素来评估股票的价值,如所在行业、估值水平、盈利能力、财务结构、经营能力、行业竞争等因素,可以更加全面的评估股票;
- 细化筛选条件,如控制市值范围,只考虑某一或某几个行业等,同时灵活设置股票筛选条件,可以灵活有效的筛选到优质股票。
最终的选股逻辑
在RSI小于65、资金流强度由大到小、市值在100亿以内、且是无亏损企业的股票中,筛选出有潜力的优质股票。
同花顺指标公式代码参考
- RSI指标:
通达信指标公式:RSI(CLOSE,N)
同花顺指标公式:RSI(CLOSE,N)
- 资金流强度CMF指标:
通达信指标公式:CMF(HIGH,LOW,CLOSE,VOLUME,N)
同花顺指标公式:CMF(HIGH,LOW,CLOSE,VOLUME,N)
python代码参考
以下是基于该选股策略编写的Python代码示例,仅供参考。
import tushare as ts
import pandas as pd
import talib
def select_stocks():
res = []
stocks_info = ts.get_stock_basics()
for stock in stocks_info.index:
try:
rsi_threshold = 65
cmf_threshold = 0
market_threshold = 100
if not str(stock).startswith('60'):
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
market_value = stocks_info.loc[stock]['totals'] * stocks_info.loc[stock]['price']
if market_value > market_threshold * 100000000:
continue
profit = stocks_info.loc[stock]['esp']
if profit <= 0:
continue
cmf_data = talib.CMF(hist_data['high'].values, hist_data['low'].values,
hist_data['close'].values,
hist_data['volume'].values, timeperiod=20) / 100000000
if cmf_data is None or cmf_data[-1] < cmf_threshold:
continue
res.append(stock)
except Exception as e:
continue
return res
res = select_stocks()
print(res)
注:上述代码示例较为简单,实际情况复杂,在具体使用时需要根据实际情况进行修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


