Skip to content

Releases: ranaroussi/quantstats

0.0.68

22 Jul 10:55
32aa0b6
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.0.67...0.0.68

0.0.67

20 Jul 20:34
592949a
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.0.66...0.0.67

0.0.66

18 Jul 21:03
Compare
Choose a tag to compare

What's Changed

  • Fixed bug with calculating drawdowns when first return is < 0
  • Update reports.py by @kartiksubbarao in #444

Full Changelog: 0.0.65...0.0.66

0.0.65

18 Jul 14:52
ec8adda
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.0.64...0.0.65

0.0.64

14 Jul 01:41
Compare
Choose a tag to compare

MAJOR RELEASE - Comprehensive Compatibility and Performance Improvements

🔧 Major Fixes:

  • Fixed pandas resampling compatibility issues (UnsupportedFunctionCall errors)
  • Added yfinance proxy configuration compatibility layer for all versions
  • Implemented comprehensive pandas compatibility layer with frequency alias mapping (M→ME, Q→QE, A→YE)
  • Fixed all pandas FutureWarnings related to chained assignment operations
  • Added numpy compatibility layer for deprecated functions (np.product → np.prod)
  • Replaced broad exception handling with specific exception types throughout codebase

📈 Performance Improvements:

  • Implemented LRU caching for _prepare_returns function (10-100x faster for repeated operations)
  • Optimized autocorrelation calculations with vectorized numpy operations
  • Improved rolling Sortino calculation performance and memory usage
  • Optimized multi_shift memory usage with incremental concatenation
  • Eliminated redundant dropna operations with intelligent caching
  • Replaced inefficient iterrows usage with vectorized operations

🛡️ Reliability Improvements:

  • Added comprehensive input validation to public functions
  • Implemented safe_resample compatibility function for all pandas versions
  • Created robust error handling with custom exception classes
  • Added safe_yfinance_download function handling proxy configuration changes
  • Fixed matplotlib/seaborn compatibility issues and deprecation warnings

🎨 Visualization Fixes:

  • Updated seaborn compatibility (sns.set() → sns.set_theme())
  • Fixed legend handling in plotting functions
  • Improved chart rendering with better error handling
  • Fixed monthly heatmap display issues

📊 Technical Improvements:

  • Created comprehensive compatibility layer in _compat.py module
  • Implemented frequency alias mapping for pandas version compatibility
  • Added version detection and handling for pandas/numpy changes
  • Enhanced data preparation pipeline with caching and validation

🚀 Overall Impact:

  • 10-100x performance improvement for large datasets
  • 5-10x memory usage reduction
  • Eliminated all pandas/numpy compatibility warnings
  • Future-proofed against dependency updates
  • Maintained full backward compatibility

This release addresses 23+ community-reported issues and PRs, making QuantStats significantly faster, more reliable, and compatible with modern pandas/numpy versions.

New Contributors

Full Changelog: 0.063...0.0.64

0.063

25 Oct 23:23
Compare
Choose a tag to compare
Bump version to 0.0.64

0.0.62

06 Jul 19:36
Compare
Choose a tag to compare
  • Changed serenity_index and recovery_factor to use simple sum instead of compounded sum
  • Reports passing the compounded param to all supporting methods
  • Fixed a bug related to monthly_heatmap display

0.0.61

25 Jun 14:52
Compare
Choose a tag to compare

Fixed positional arguments passed to cagr()

0.0.60

23 Jun 11:45
Compare
Choose a tag to compare

Multi-strategy reports are here!

You can now pass a dataframe with a column for each strategy to get a unified, single report for all

Additional additions

  • Support request proxy with yfinance
  • Added custom periods to CAGR
  • Correct drawdown days calculation when last day is a drawdown
  • Write report in correct file path
  • IPython 7+ compatibility
  • Pandas 2.0 compatibility
  • Fix for benchmark name when supplied by the user
  • Handles tz-native and tz-aware comparisson issue
  • Adding benchmark name to html report
  • Update README ticker to META :)
  • Many pull requests merged

0.0.59

05 Jul 09:18
99fb65b
Compare
Choose a tag to compare

Fixed EOY compounded return calculation