问财量化选股策略逻辑
根据振幅大于1,三个技术指标同时金叉,非ST,以及五部涨停战法进行选股。
选股逻辑分析
振幅大于1,三个技术指标同时金叉常作为技术面的选股指标。ST股票一般存在较大的风险,因此排除掉ST股票作为选股对象。五部涨停战法是近年来比较流行的选股方式,它通常用于跌停板后的反弹。当连续5日内的股价涨停,形成五部连板后,一般代表着市场对该股票的看好程度较高,资金会更多地流入。因此,此策略选股开始前,若当天还未涨停,要选的股票特征为未涨停过且今天坚决涨停。
有何风险?
由于五部涨停战法是一种短期的选股策略,股票在反弹后可能会出现大幅回落的情况,因此需要在实际操作中选择合适的出手时机,避免出现较大的风险。
如何优化?
除了以上选股条件外,还可以考虑纳入公司基本面、行业情况等因素进行综合判断,进一步提高选股成功率。
最终的选股逻辑
根据振幅大于1,三个技术指标同时金叉,非ST,以及五部涨停战法进行选股,进一步补充公司基本面和行业情况等因素进行综合判断。
同花顺指标公式代码参考
振幅指标:AMO
MA指标:MA(CLOSE, N)
三条MA金叉:CROSS(MA(CLOSE, N1), MA(CLOSE, N2)) & CROSS(MA(CLOSE, N2), MA(CLOSE, N3))
非ST条件:SUBSTR(SYMBOL, 1, 2) != 'ST'
五部涨停战法:REF(HL_O(1), 4) == 0 AND REF(HL_O(1), 3) == 0 AND REF(HL_O(1), 2) == 0 AND REF(HL_O(1), 1) == 0 AND HL_O(1) > HL_C(2)
python代码参考
import tushare as ts
def get_selected_stocks(n):
data = ts.get_today_all()
ma5 = data['trade'].rolling(window=5).mean()
ma10 = data['trade'].rolling(window=10).mean()
ma20 = data['trade'].rolling(window=20).mean()
vol = data['volume']
condition1 = (ma5 > ma10) & (ma10 > ma20) & (data['amo'] > 1) # 三条MA同时金叉和振幅大于1
condition2 = (data['trade'] > ma5) # 股票均价站在五日均线之上
condition3 = ~data['name'].str.startswith('ST') # 非ST股票
condition4 = (data['open'] == data['high']) & (data['pct_chg'] > 9) # 今日坚决涨停,且历史上未涨停过
hl_o = data['high'] - data['open']
hl_c = data['high'] - data['close']
condition5 = (hl_o.shift(1) == 0) & (hl_o.shift(2) == 0) & (hl_o.shift(3) == 0) & (hl_o.shift(4) == 0) & (hl_o > hl_c.shift(1)) # 五部涨停战法
selected_data = data[condition1 & condition2 & condition3 & condition4 & condition5].iloc[:n].sort_values(by='turnoverratio', ascending=False)
selected_stocks = list(selected_data.loc[:, 'code'])
return selected_stocks
result = get_selected_stocks(5)
print(result)
注:以上代码仅供参考,实际选股应结合具体情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
