问财量化选股策略逻辑
首先,我们定义一个函数来计算至少5根均线重合的股票:
def has_consecutive_moving_averages(prices):
n = len(prices)
if n < 5:
return False
for i in range(1, n-1):
if prices[i] == prices[i+1] == prices[i+2] == prices[i+3] == prices[i+4]:
return True
return False
接下来,我们定义一个函数来计算15分钟周期MACD绿柱变短:
def macd_green_dip(prices, fast_ma, slow_ma, ema):
n = len(prices)
if n < 15:
return False
fast_ma = prices.rolling(window=15).mean()
slow_ma = prices.rolling(window=30).mean()
ema = fast_ma.ewm(span=12, adjust=False).mean() + fast_ma.ewm(span=26, adjust=False).mean() - fast_ma.ewm(span=9, adjust=False).mean()
macd, macd_signal, macd_hist = ema - fast_ma, ema > fast_ma, ema - slow_ma
macd_dip = macd_signal.diff() < 0
return macd_dip
最后,我们定义一个函数来筛选出符合以上两个条件的股票:
def select_stock(prices, fast_ma, slow_ma, ema):
has_consecutive_moving_averages(prices)
macd_green_dip(prices, fast_ma, slow_ma, ema)
return macd_green_dip(prices, fast_ma, slow_ma, ema)
选股逻辑分析
以上三个函数分别计算了至少5根均线重合、15分钟周期MACD绿柱变短以及是否符合这两个条件。如果一个股票同时满足以上三个条件,那么它就被认为是一个符合我们要求的股票。
有何风险?
由于我们只考虑了均线和MACD指标,因此可能会错过一些重要的市场趋势。此外,如果股票的价格波动较大,可能会导致我们的指标计算出现误差。
如何优化?
为了更好地优化我们的策略,我们可以考虑加入更多的技术指标和市场数据,以更准确地判断股票的趋势和价格走势。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


