Python 实现股票指标计算——BBI

BBI (Bull And Bear lndex) - 多空指标

1 公式

  • 3日均价 = 3日收盘价之和 / 3
  • 6日均价 = 6日收盘价之和 / 6
  • 12日均价 = 12日收盘价之和 / 12
  • 24日均价 = 24日收盘价之和 / 24
  • BBI = (3日均价 + 6日均价 + 12日均价 + 24日均价) / 4

2 数据准备

我们以科创50指数 000688 为例,指数开始日期为2019-12-31,数据格式如下:

3 计算过程

def calculate_bbi(df: pd.DataFrame, N1=3, N2=6, N3=12, N4=24) -> pd.DataFrame:
    '''
    计算Bull and Bear Index (BBI),一种技术分析指标,用于识别市场趋势。

    参数:
    df (pd.DataFrame): 包含至少'close'列的DataFrame,代表收盘价。
    N1, N2, N3, N4 (int): 分别代表四个不同周期的简单移动平均线(SMA)的窗口大小。

    返回:
    pd.DataFrame: 包含BBI值的DataFrame。
    '''

    # 创建一个df的副本以避免修改原始数据
    data = df.copy()

    # 计算四个不同周期的简单移动平均线
    data['ma_' + str(N1)] = data['close'].rolling(N1).mean()
    data['ma_' + str(N2)] = data['close'].rolling(N2).mean()
    data['ma_' + str(N3)] = data['close'].rolling(N3).mean()
    data['ma_' + str(N4)] = data['close'].rolling(N4).mean()

    # 计算BBI,即这四个SMA的均值
    data['bbi'] = (data['ma_' + str(N1)] + data['ma_' + str(N2)] +
                   data['ma_' + str(N3)] + data['ma_' + str(N4)]) / 4

    # 返回包含BBI指标的新DataFrame
    return data

4 注意事项

计算结果与东方财富软件中一致

雪球无此指标

相关推荐

  1. 股票关键指标

    2024-07-20 22:56:02       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 22:56:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 22:56:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 22:56:02       45 阅读
  4. Python语言-面向对象

    2024-07-20 22:56:02       55 阅读

热门阅读

  1. 前端面试题日常练-day98 【Less】

    2024-07-20 22:56:02       16 阅读
  2. Uboot下的命令与环境变量

    2024-07-20 22:56:02       19 阅读
  3. 力扣第二十二题——括号生成

    2024-07-20 22:56:02       18 阅读
  4. WebKit简介及工作流程

    2024-07-20 22:56:02       15 阅读
  5. 编程中的智慧之设计模式一

    2024-07-20 22:56:02       16 阅读
  6. NVM配置

    NVM配置

    2024-07-20 22:56:02      15 阅读
  7. 获取磁盘剩余容量-----c++

    2024-07-20 22:56:02       14 阅读