问财量化选股策略逻辑
该选股策略包含元素“元宇宙”、“30日平均线向上”和“前天macd<0”。
选股逻辑分析
该选股策略综合考虑了元宇宙、趋势均线和股票MACD指标情况。要求选出具备三个方面优点的股票:一是处于上升趋势,二是MACD指标前天存在底部夹击,并且三天之内MACD指标黄金交叉。
有何风险?
- 筛选条件过于简单,可能会漏选或误选一些标的;
- 策略只考虑了短期市场波动和股票走势,忽略了公司基本面;
- 数据的来源问题,不同数据源数据效果可能存在差异。
如何优化?
- 加入其他技术指标和基本面因素来筛选优良标的,增加筛选条件,提高精度;
- 可以考虑对MACD指标通过指数平滑滤波来减少噪音;
- 考虑建立更多的补充逻辑,以应对市场不同阶段变化。
最终的选股逻辑
基于元宇宙、30日均线向上的条件下,前天MACD指标底部夹击并且三天内出现黄金交叉。
同花顺指标公式代码参考
元宇宙:SELECTEDINDUSTRY("gnxq")
30日平均线向上:MA(CLOSE, 30) > REF(MA(CLOSE, 30), 1)
前天MACD指标底部夹击:MACD(12,26,9) < 0 AND REF(MACD(12,26,9), 1) > 0 AND REF(MACD(12,26,9), 2) < 0
三天内出现黄金交叉:CROSS(MACD(12,26,9),MACD(12,26,9,EMA))=1
Python代码参考
import pandas as pd
import baostock as bs
def stock_selector(df):
# 筛选条件
condition1 = df['concepts'].apply(lambda x: '元宇宙' in x)
condition2 = df['close'] > pd.Series(df['close']).rolling(window=30).mean().shift(1)
condition3 = pd.Series(df['macd']).rolling(window=3).apply(lambda x: x.iloc[-1] > 0 and x.iloc[-2] < 0 and x.iloc[-3] < 0, raw=True)
condition4 = pd.Series(df['macd']).diff().rolling(window=3).min().apply(lambda x: x < 0)
conditions = [condition1, condition2, condition3, condition4]
selected = df[conditions]
# 可以加入其他指标的筛选条件和综合分析
# selected = selected[other_conditions]
return selected
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


