Python MACD 指标算法实现 - 股票趋势分析利器
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]
原文地址: https://www.cveoy.top/t/topic/jOCz 著作权归作者所有。请勿转载和采集!