问财量化选股策略逻辑
本选股策略选取振幅大于1、500日内至少2次涨停,且15分钟周期MACD绿柱变短的股票。
选股逻辑分析
本选股策略综合考虑了技术面和市场情绪因素。选取振幅大、有涨停过的标的,同时加入了15分钟MACD指标变化的判断,以获得更好的市场情绪判断。
有何风险?
本选股策略过于偏重技术面,忽略了基本面、政策面等因素的影响。同时,15分钟MACD指标变化过于短期,可能存在一定的噪音与误判。
如何优化?
可以在技术面和市场情绪的基础上,同时加入基本面、政策面等因素的考量,以综合判断标的的价值和未来发展潜力。同时,在选取MACD指标变化的时候,可以加入其他技术指标的判断或多周期的综合判断,避免短期噪音与误判的影响。
最终的选股逻辑
本选股策略在综合考虑技术面和市场情绪等因素的基础上,选取具备较大振幅和有涨停历史,且15分钟MACD绿柱变短的股票,同时结合基本面和政策面的因素进行综合判断,筛选出具有投资价值和成长性的标的。
同花顺指标公式代码参考:
振幅大于1:
(HIGH - LOW) / PRE_CLOSE > 0.01
500日内至少2次涨停:
SUM(HIGH / REF(LOW,1) > 1.099, 500) >= 2
15分钟MACD绿柱变短:
EMA(CLOSE,12)-EMA(CLOSE,26),9('hist') >= REF(EMA(CLOSE,12)-EMA(CLOSE,26),9)[1] AND EMA(CLOSE,12)-EMA(CLOSE,26),9('hist') < EMA(CLOSE,12)-EMA(CLOSE,26),9('hist')[1]
python代码参考:
#引入Tushare库
import tushare as ts
#查询股票数据,根据条件筛选股票
selected_stocks = []
for code in ts.get_stock_basics().index:
#获取股票数据
daily_data = ts.get_hist_data(code)
if daily_data is None or daily_data['high'].count() < 20:
continue
#判断涨停次数
if daily_data[(daily_data['high'] / daily_data['low'].shift(1) > 1.099).rolling(500).sum() >= 2].empty:
continue
#判断振幅
if (daily_data['high'] - daily_data['low']).mean() / daily_data['close'].mean() > 0.01:
continue
#判断MACD绿柱是否变短
macd, macdsignal, macdhist = ta.MACD(daily_data['close'], fastperiod=12, slowperiod=26, signalperiod=9)
if macdhist[-1] >= macdhist[-2] or macdhist[-2] >= macdhist[-3]:
continue
selected_stocks.append(code)
#输出选中的股票
print(selected_stocks)
本选股策略在综合考虑技术面和市场情绪等因素的基础上,选取具备较大振幅和有涨停历史,且15分钟MACD绿柱变短的股票,同时结合基本面和政策面的因素进行综合判断,筛选出具有投资价值和成长性的标的。但是选股过程仅为初步筛选,具体投资决策需要进一步分析,投资者需要根据市场情况、经验、风险偏好等考虑,做出合理决策。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
