python 量化交易:MACD指標雙金叉形態識別:
df 是pandas的Dataframe,基礎數據原來是 tushare 中的股票交易數據,MACD指標是用 talib 庫計算得來:
df = df.sort_values(by='trade_date', ascending=True) # MACD > 0, 標準化到 1, MACD<0, 標準化到 -1 df['macd_std'] = df['MACD_MACD'].map(lambda x: 1 if x >= 0 else -1) # 前後2天 macd_std 相乘,如果等於-1,說明發生交叉,可能是金叉或者死叉; df['macd_gc'] = df['macd_std'] * df['macd_std'].shift(1) # 排除 MACD死叉情況,同時統計MACD交叉次數:>=2, 發生2次以上交叉 df['macd_gc_count'] = df.loc[(df['macd_gc'] < 0) & (df['MACD_MACD'] > 0), 'macd_gc'].count()