问财量化选股策略逻辑
选股逻辑为MACD零轴以上、今日均线向上发散,并且收盘价在BOLL指标的上轨和中轨之间。
选股逻辑分析
该选股逻辑包含以下条件:
- MACD零轴以上:表示当前股票处于上涨状态;
- 今日均线向上发散:表示当前股票的趋势向上;
- 收盘价在BOLL指标上轨和中轨之间:表示当前股票价格处于上升通道中。
有何风险?
- BOLL指标的选择和参数调整对选股结果影响很大;
- 单一指标选股容易忽略其他影响股票涨跌的因素;
- 不具有持续性,可能很快就失去选股效果。
如何优化?
- 加入多种技术指标共同筛选,提高选股稳定性;
- 加入基本面因素,综合考虑股票的价值;
- 综合考虑股票成交量和流通市值等因素;
- 加入风险控制,设置止损值和止盈点。
最终的选股逻辑
选股逻辑为:MACD零轴以上、今日均线向上发散,并且收盘价在BOLL指标的上轨和中轨之间。
同花顺指标公式代码参考
BOLL指标:
M:MA(CLOSE,20)
UP:BOLL(CLOSE,20,2)
DN:BOLL(CLOSE,20,-2)
MACD指标:
DIF:EMA(CLOSE,12)-EMA(CLOSE,26)
DEA:EMA(DIF,9)
MACD:(DIF-DEA)*2
均线指标:
MA5:MA(CLOSE,5)
MA10:MA(CLOSE,10)
选股筛选公式:
MACD>0 and MA(CLOSE,1)>MA(CLOSE,2) and (CLOSE<UP and CLOSE>MA(CLOSE,20))
排序公式:
SORTBY(VOL,1)
python代码参考
以下为python的选股筛选代码和排序代码,仅供参考:
import akshare as ak
import talib
# 获取股票列表并计算选股筛选条件
stock_list = ak.stock_zh_a_spot_em().reset_index()
stock_list['upper'], stock_list['mid'], stock_list['lower'] = talib.BBANDS(stock_list['close'], timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)
stock_list['macd'], stock_list['macd_signal'], stock_list['macd_hist'] = talib.MACD(stock_list['close'], fastperiod=12, slowperiod=26, signalperiod=9)
stock_list['ma5'] = talib.SMA(stock_list['close'], timeperiod=5)
stock_list['ma10'] = talib.SMA(stock_list['close'], timeperiod=10)
stock_list = stock_list[(stock_list['macd'] > 0) & (stock_list['ma5'] > stock_list['ma10']) & (stock_list['close'] > stock_list['lower']) & (stock_list['close'] < stock_list['upper'])]
# 按成交量从大到小排序
result_sorted = stock_list.sort_values(by=['vol'], ascending=False)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


