SYMBOL INDEX (24 symbols across 5 files) FILE: tests/test_hs.py function test_detect_head_shoulder (line 4) | def test_detect_head_shoulder(): FILE: tradingpatterns/analysis.py function main (line 9) | def main(): function detect_and_rename (line 41) | def detect_and_rename(df, method, window, threshold=None, time_delay=None): function print_algorithm_accuracies (line 59) | def print_algorithm_accuracies(algorithms, true_labels, df): function plot_heatmap (line 68) | def plot_heatmap(df_counts): FILE: tradingpatterns/hard_data.py function generate_sample_df_with_pattern (line 2) | def generate_sample_df_with_pattern(pattern): function generate_random_data (line 34) | def generate_random_data(length): function inject_patterns (line 45) | def inject_patterns(data): function generate_data_head_shoulder (line 77) | def generate_data_head_shoulder(n): FILE: tradingpatterns/tradingpatterns.py function detect_head_shoulder (line 5) | def detect_head_shoulder(df, window=3): function detect_multiple_tops_bottoms (line 22) | def detect_multiple_tops_bottoms(df, window=3): function calculate_support_resistance (line 40) | def calculate_support_resistance(df, window=3): function detect_triangle_pattern (line 57) | def detect_triangle_pattern(df, window=3): function detect_wedge (line 73) | def detect_wedge(df, window=3): function detect_channel (line 91) | def detect_channel(df, window=3): function detect_double_top_bottom (line 111) | def detect_double_top_bottom(df, window=3, threshold=0.05): function detect_trendline (line 133) | def detect_trendline(df, window=2): function find_pivots (line 164) | def find_pivots(df): FILE: tradingpatterns/tradingpatterns_tech.py function detect_head_shoulder (line 16) | def detect_head_shoulder(df, window=3): function detect_head_shoulder_filter (line 41) | def detect_head_shoulder_filter(df, window=3, threshold=0.01, time_delay... function kalman_smooth (line 74) | def kalman_smooth(series, n_iter=10): function detect_head_shoulder_kf (line 87) | def detect_head_shoulder_kf(df, window=3): function wavelet_denoise (line 113) | def wavelet_denoise(series, wavelet='db1', level=1): function detect_head_shoulder_wavelet (line 123) | def detect_head_shoulder_wavelet(df, window=3):