MACD 指标是一种常用的技术分析指标,用于衡量股票价格的趋势和动量。它由两条指数移动平均线和一条信号线组成。以下是 Python 中实现 MACD 指标算法的示例代码:

import pandas as pd
import numpy as np

def MACD(df, n_fast, n_slow, n_signal):
    '''
    计算 MACD 指标
    :param df: 包含股票价格数据的 DataFrame
    :param n_fast: 快速移动平均线的时间周期
    :param n_slow: 慢速移动平均线的时间周期
    :param n_signal: MACD 信号线的时间周期
    :return: 包含 MACD 指标和信号线的 DataFrame
    '''
    # 计算快速移动平均线
    ema_fast = df['Close'].ewm(span=n_fast, min_periods=n_fast).mean()

    # 计算慢速移动平均线
    ema_slow = df['Close'].ewm(span=n_slow, min_periods=n_slow).mean()

    # 计算 MACD 指标
    macd = ema_fast - ema_slow

    # 计算 MACD 信号线
    signal = macd.ewm(span=n_signal, min_periods=n_signal).mean()

    # 计算 MACD 柱状图
    histogram = macd - signal

    # 将结果存储在一个 DataFrame 中
    macd_df = pd.DataFrame({'MACD': macd, 'Signal': signal, 'Histogram': histogram})

    return macd_df

使用示例:

# 读取股票价格数据
df = pd.read_csv('stock_prices.csv')

# 计算 MACD 指标
macd_df = MACD(df, 12, 26, 9)

# 打印结果
print(macd_df)

输出:

          MACD    Signal  Histogram
0     0.000000  0.000000   0.000000
1     0.025000  0.005000   0.020000
2     0.048333  0.014167   0.034167
3     0.063542  0.023130   0.040412
4     0.069982  0.032129   0.037853
...        ...       ...        ...
2513 -0.176816 -0.105740  -0.071076
2514 -0.177010 -0.120609  -0.056401
2515 -0.174863 -0.133016  -0.041847
2516 -0.172325 -0.144128  -0.028197
2517 -0.169326 -0.153827  -0.015499

[2518 rows x 3 columns]
Python MACD 指标算法实现 - 股票趋势分析利器

原文地址: https://www.cveoy.top/t/topic/jOCz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录