问财量化选股策略逻辑
选股逻辑为MACD零轴以上、今日均线向上发散、圆弧形。
选股逻辑分析
该选股逻辑包含以下条件:
- MACD零轴以上:表示当前股票处于上涨状态;
- 今日均线向上发散:表示当前股票的趋势向上;
- 圆弧形:指股票在日K线图上呈现出“圆弧形”的趋势形态,通常表明股票当前处于上涨阶段,并且未来有可能继续上涨。
有何风险?
- 对“圆弧形”这一形态的识别存在主观性,可能会使得选股结果产生一定程度的偏差;
- 选股条件过于单一,可能忽略其他一些重要的技术指标;
- 经济、政策等外部因素的影响,可能会导致选股结果出现较大的波动。
如何优化?
- 可以加入其他相关的形态识别指标,例如头肩底、双重底等形态识别指标;
- 可以设置不同的筛选条件对比筛选结果是否一致,避免条件设定的主观性;
- 可以结合公司基本面信息,例如财务报告、企业年报等,综合分析股票的投资价值。
最终的选股逻辑
选股逻辑为:MACD零轴以上、今日均线向上发散、圆弧形。
同花顺指标公式代码参考
MACD指标:
DIF:EMA(CLOSE,12)-EMA(CLOSE,26)
DEA:EMA(DIF,9)
MACD:(DIF-DEA)*2
均线指标:
MA5:MA(CLOSE,5)
MA10:MA(CLOSE,10)
圆弧形指标:
R=LLV(LOW,3);
HH=HHV(HIGH,3);
K=(CLOSE-R)/(HH-R);
SMA((K+HHV(K,5))/2,5,1)
选股筛选公式:
MACD > 0 AND MA(CLOSE,1) > MA(CLOSE,2)
AND (CLOSE > SMA((K+HHV(K,5))/2,5,1))
排序公式:
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()
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)
R = talib.LLV(stock_list['low'], timeperiod=3)
HH = talib.HHV(stock_list['high'], timeperiod=3)
K = (stock_list['close'] - R) / (HH - R)
stock_list['circle'] = talib.SMA((K + talib.HHV(K, timeperiod=5)) / 2, timeperiod=5)
condition1 = (stock_list['macd'] > 0) & (stock_list['ma5'] > stock_list['ma10'])
condition2 = (stock_list['close'] > stock_list['circle'])
stock_list = stock_list[condition1 & condition2]
# 按涨幅从小到大排序
result_sorted = stock_list.sort_values(by=['pct_chg'], ascending=True)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


