| 
 如题 import pandas as pd import numpy as np import matplotlib.pyplot as plt   # 准备数据 data = pd.read_csv("your_data_file.csv") #导入你的数据文件 data['Date'] = pd.to_datetime(data['Date']) data.set_index('Date', inplace=True)   # 定义函数以识别 Wolfe Wave 牛市和熊市形态 def find_wolfe_wave(data, window=50):     wolfe_waves = []     for start in range(len(data) - window):         subset = data.iloc[start:start + window]         local_max = subset['High'].max()         local_min = subset['Low'].min()           point1 = subset['Low'].idxmin()         point3_idx = subset[subset.index > point1]['Low'].idxmin()         point5_idx = subset[subset.index > point3_idx]['Low'].idxmin()           point2 = subset['High'].idxmax()         point4_idx = subset[subset.index > point2]['High'].idxmax()           if point5_idx == subset.index[-1]:             if point1 < point2 < point3_idx < point4_idx < point5_idx:                 wolfe_waves.append((point1, point2, point3_idx, point4_idx, point5_idx))             elif point1 < point2 < point3_idx < point4_idx and (point2 - point1) > (point4_idx - point3_idx):                 wolfe_waves.append((point1, point2, point3_idx, point4_idx, point5_idx))       return wolfe_waves   # 对数据应用函数 window = 50 wolfe_wave_patterns = find_wolfe_wave(data, window)   # 画出数据和Wolfe Wave形态 plt.figure(figsize=(12, 6)) plt.plot(data['Close'])   for pattern in wolfe_wave_patterns:     point1, point2, point3, point4, point5 = pattern     plt.plot([point1, point3, point5], [data.loc[point1, 'Low'], data.loc[point3, 'Low'], data.loc[point5, 'Low']], 'r-')     plt.plot([point2, point4], [data.loc[point2, 'High'], data.loc[point4, 'High']], 'b-')   plt.title('Wolfe Wave Patterns in Market Data') plt.xlabel('Date') plt.ylabel('Price') plt.show()  
 |