问财量化选股策略逻辑
选股逻辑为:RSI指标小于65,三连阴,集中度小于20%,以期选出股价被大量资金操作的股票。
选股逻辑分析
该选股策略的特点在于集中度的限制,可以筛选出被大量资金操作的股票。其它条件的限制与前一个例子一致,即通过股价连续下跌且RSI指标较低的条件选出低估股票。
有何风险?
该选股策略可能会忽略掉一些集中度较高但是估值较低的股票。同时,集中度的计算方法可能比较简单粗暴,需要进一步优化。
如何优化?
集中度可以通过更加精细的计算方法,例如计算每只股票的海龟资金指标来计算。另外,可以结合考虑营收增长率、市盈率和市净率等指标来综合考虑选股。
最终的选股逻辑
选股逻辑为:RSI指标小于65,三连阴,集中度小于20%。
同花顺指标公式代码参考
// 计算RSI指标
RSI(CLOSE, 14)
// 计算集中度
SUM(IF(AMOUNT > 0, 1, 0)) / COUNT(CLOSE) < 0.2
// 筛选符合条件的股票
(PE_TTM >= 0) & (RSI(CLOSE, 14) < 65) & ((CLOSE.shift(1) > OPEN.shift(1)) & (CLOSE.shift(2) > OPEN.shift(2)) & (CLOSE.shift(3) > OPEN.shift(3))) & (SUM(IF(AMOUNT > 0, 1, 0)) / COUNT(CLOSE) < 0.2)
Python代码参考
# 导入需要用到的库
import pandas as pd
import tushare as ts
import talib
# 选股函数
def stock_picking(data):
# 计算RSI指标
rsi = talib.RSI(data['close'], timeperiod=14)
# 计算集中度
t = data['volume'] * (2 * data['close'] - data['high'] - data['low']) / (data['high'] - data['low'])
td = pd.Series.rolling(t, window=20, center=False).sum()
tr = pd.Series.rolling(data['volume'], window=20, center=False).sum()
ad = td / tr
concentration = (ad < 0.2)
# 选股条件
filter_cond = (data['pe_ttm'] >= 0) & (rsi < 65) & ((data['close'].shift(1) > data['open'].shift(1)) & (data['close'].shift(2) > data['open'].shift(2)) & (data['close'].shift(3) > data['open'].shift(3))) & concentration
stock_list = data[filter_cond].index.tolist()
return stock_list
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


