
-
买入信号:当股价由下向上突破BBI,视为买入信号。 -
卖出信号:当股价由上向下跌破BBI,视为卖出信号。 -
多头势强:股价持续在BBI上方运行,表明多头势强,可继续持股。 -
空头势强:股价持续在BBI下方运行,表明空头势强,应考虑卖出。

import pandas as pd
import numpy as np
# 假设df是一个DataFrame,包含股票的收盘价,索引为日期
# 计算3日、6日、12日和24日的简单移动平均值
df['MA3'] = df['Close'].rolling(window=3).mean()
df['MA6'] = df['Close'].rolling(window=6).mean()
df['MA12'] = df['Close'].rolling(window=12).mean()
df['MA24'] = df['Close'].rolling(window=24).mean()
# 计算BBI
df['BBI'] = (df['MA3'] + df['MA6'] + df['MA12'] + df['MA24']) / 4
# 生成交易信号
# 买入信号:今日收盘价从下方突破BBI
df['Buy_Signal'] = (df['Close'] < df['BBI']) & (df['Close'].shift(1) > df['BBI'].shift(1))
# 卖出信号:今日收盘价从上方跌破BBI
df['Sell_Signal'] = (df['Close'] > df['BBI']) & (df['Close'].shift(1) < df['BBI'].shift(1))
# 绘制BBI和收盘价
import matplotlib.pyplot as plt
plt.figure(figsize=(14, 7))
plt.plot(df['Close'], label='Close Price')
plt.plot(df['BBI'], label='BBI', color='orange')
plt.scatter(df.index[df['Buy_Signal']], df['Close'][df['Buy_Signal']], label='Buy Signal', color='green')
plt.scatter(df.index[df['Sell_Signal']], df['Close'][df['Sell_Signal']], label='Sell Signal', color='red')
plt.legend()
plt.show()
四、结语
BBI作为一种综合移动平均线的指标,在量化交易中为投资者提供了一种判断市场多空趋势的有效工具。然而,BBI并非万能,投资者应结合市场情况和其他指标,谨慎使用。通过不断学习和实践,投资者可以提高自己的交易技能,更好地把握市场机会。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/106013
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!