Replaced the O(H*N) nested loop in create_labels_double_barrier with an O(H) vectorized approach utilizing numpy slice-based operations and arrays. Also removed duplicate implementation of create_labels_double_barrier in the same file. Fixed formatting in .gitignore to properly ignore pycache files. Measurements with `N=100000`, `horizon=20`: Original time: ~0.83s Vectorized time: ~0.02s Improvement: Over 40x speedup with correct output handling bounds edge cases like `len(df) < horizon`. Co-authored-by: maghdam <63883156+maghdam@users.noreply.github.com>