问财量化选股策略逻辑
选股逻辑为MACD零轴以上、今日均线向上发散、底部抬高。
选股逻辑分析
该选股逻辑主要关注以下几个方面:
- MACD零轴以上:表示当前股票处于上涨状态;
- 今日均线向上发散:表示当前股票的趋势向上;
- 底部抬高:表示当前股票正在上涨并且涨势逐渐加强。
有何风险?
- 底部抬高指标可能会出现虚假信号,影响选股效果;
- 可能会忽略公司的基本面因素,过于关注股价走势和技术指标。
如何优化?
- 结合其他指标和因素进行选股,降低底部抬高指标的影响;
- 注意控制选股风险,合理分散投资组合。
最终的选股逻辑
选股逻辑为:MACD零轴以上、今日均线向上发散、底部抬高。需要结合其他指标和因素进行选股。
同花顺指标公式代码参考
MACD指标:
DIF:EMA(CLOSE,12)-EMA(CLOSE,26)
DEA:EMA(DIF,9)
MACD:(DIF-DEA)*2
均线指标:
MA10:MA(CLOSE,10)
底部抬高指标:
LLV_LOW = LLV(LOW,20)
LLV_LOW_1 = LLV(LOW,21)
FLAG_1 = LLV_LOW < LLV_LOW_1
FLAG_2 = LLV_LOW - REF(LLV_LOW, 1) > 0
FLAG_3 = REF(HHV(HIGH, 50), 15) > REF(HHV(HIGH, 50), 30)
FLAG_4 = REF(CLOSE, 29) > REF(MA(CLOSE, 29), 30)
BOTTOM = FLAG_1 AND FLAG_2 AND FLAG_3 AND FLAG_4
选股筛选公式:
MACD > 0 and MA(CLOSE,1) > MA(CLOSE,2) and BOTTOM
排序公式:
SORTBY((CLOSE-REF(CLOSE,1))/REF(CLOSE,1),1)
python代码参考
以下为python的选股筛选代码和排序代码,仅供参考:
import akshare as ak
import talib
# 获取股票列表并计算选股筛选条件
stock_list = ak.stock_zh_a_spot_em().reset_index()
condition1 = stock_list['macd'] > 0
condition2 = (stock_list['ma5'] > stock_list['ma10'])
condition3 = talib.LLV(stock_list['low'], timeperiod=20) < talib.LLV(stock_list['low'], timeperiod=21)
condition4 = talib.LLV(stock_list['low'], timeperiod=20) - talib.REF(talib.LLV(stock_list['low'], timeperiod=20), 1) > 0
condition5 = talib.REF(talib.HHV(stock_list['high'], timeperiod=50), 15) > talib.REF(talib.HHV(stock_list['high'], timeperiod=50), 30)
condition6 = talib.REF(stock_list['close'], 29) > talib.REF(talib.MA(stock_list['close'], timeperiod=29), 30)
stock_list = stock_list[condition1 & condition2 & condition3 & condition4 & condition5 & condition6]
# 按涨幅从小到大排序
result_sorted = stock_list.sort_values(by=['pct_chg'], ascending=True)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


