BennyThadikaran / stock-pattern

A Python CLI tool to scan, detect, and plot stock chart patterns
GNU General Public License v3.0
162 stars 33 forks source link

Dev v4.0.0 #80

Closed BennyThadikaran closed 2 weeks ago

BennyThadikaran commented 2 weeks ago

Changelog v4.0.0

New dependency - fast-csv-loader New patterns - AB=CD bearish and BAT pattern Improvements to trendline detection algorithm.

Backtest.py - Bug fixes, Under the hood improvments,

New data structure for detected patterns - Intuitive and simpler, decoupled from mplfinance (Chart package agnostic)

Support for chart annotations - Patterns are now labeled alphabetically with support for added context in labels.

Support for chart themes and various customizations - Add configuration for chart themes, line colors,

Chart Date (X-axis) axis is now sleeker using the ConciseDateFormatter

Improved Chart coordinates - Chart coordinates are formatted to show OHLC and volume data.

Detailed Summary of changes.

0987e90 (HEAD -> dev) Bump to version 4

New dependency - fast-csv-loader

85a5f93

Improvements to Trendline detection

c2b0c87 Improved code structure of find_uptrend_line

4a2ee15 Improved code structure of find_downtrend_line

b311b9a

Changes to AB=CD pattern

fe0a3b1 Added AB=CD bearish, bullish & bearish BAT patterns in backtest.py

b0ab63b

3b6b23a Changed FIB extension calculation in find AB=CD functions.

456d3eb

1606362 Variable reuse in AB=CD functions

f9a2aa0 Added support for Bearish AB=CD pattern

New BAT pattern

b69a37c Added BAT harmonic pattern detection function

4039e1b

da60296 Added find_bearish_bat function

d736f7f Correct typo in pattern name in find_bearish_bat

3abb963 Added support for scanning BAT patterns in init.py

Changes to Plotter.py

d4e9425 Add support for annotations/labels in charts

0cb2302 Fix: handle timezone aware datetime in Plotter._get_tick_locs.

cfd6ae0

a3160cf

Changes in utils.py

358270e Changed return structure of find_* functions in utils.py

5f03821, f4e62af, 05a6fd5, 76aac51, e96e613, 15816ab

Remove type checks and fixed issues with duplcate indexes

6ea737e - Separated pattern lines and other lines in return value of find_* funcs.

3772c94 Move last index and last Close outside while loop, being a constant

53ae708, c43b217 Minor code formatting in utils.py

Changes in backtest.py

0520f72 Fix: Adjust logic for scan_start_dt and scan_end_dt handling

a633018

5ad44cd Added support for post scan plotting in backtest.py

5fce302

bd81e69

fd587fc Fix: Timezone aware date handling in backtest.py

b69fcf2

1517483 Added support for custom config in backtest.py

de6ec8f

518b80c

50ba04d Improved variable names for readability and understanding

4ccf77d Use info instead of warning to log results. Added a assertion stmt

9e2748e Added config filepath to meta data of scan results.

Other Changes

8cc38e6 Added unittest for utils.py:get_max_min func