- IRR initial guess improvements
- Remove "both negative and positive value" requirement for XNPV
- Python 3.13 support
- Fixed segfault during conversion of datetime64 array in numpy v2
- Solve XIRR analytically for 2 amounts
- Solve IRR analytically for 2-3 amounts
- XIRR Performance improvements
- Fixed building from source distribution
- Build wheels for Pyodide (WASM wheels)
- (X)IRR Performance improvements
- XIRR improvements (#49)
- Handle NAN in utility functions for multi-root analysis
- Private Equity functions (#42)
- XNPV/NPV functions now accept rate as multidimensional array
- Explain Multiple IRR problem + provide utility functions for analysis
- XIRR improvements (prevent from values < -1, grid search + brentq as fallback)
- IRR improvements (#47)
- Python 3.12 support
- XNFV: suppress
InvalidPaymentsError
by passingsilent=True
flag (#40)
- CUMPRINC, CUMIPMT functions
- Upgrade maturin to v1
- Vectorized versions of numpy-financial functions
- Breaking change: fixed misspelling in keyword-only argument (pmt_at_beginning)
- Fix type annotations (#35)
- Add support for different day count conventions (#34)
- Upgrade Rust libraries
- Upgrade maturin to v0.14.13
- Upgrade Rust libraries
- Update package metadata
- Tweaked IRR to prefer rate > 0 (#24)
- All functions now accept date strings in the format yyyy-mm-dd or mm/dd/yyyy
- handle XIRR close to -1 (use brentq algorithm as fallback)
- Add an ability to suppress
InvalidPaymentsError
by passingsilent=True
flag (#22) - Release the GIL for rust-only code
- Type hints
- Refactor tests (use
PyCFunction
interface instead of calling functions directly) - Upgrade dependencies
- Support aarch64, armv7, s390x, ppc64le, ppc64 architectures
- Improve IRR calculation
- Wheels for python 3.10
- Add Rate, IPMT, PPMT (#18)
- Test against
numpy-financial
when possible
- XIRR improvements (#15)
- add more xirr tests
- handle XIRR close to -1
- fix nfv signature; always return None instead of nan
- Support Series with DatetimeIndex (#13)
- Add NFV, XFV, XNFV (#11)
- NPV compatibility mode with Excel
- XIRR optimizations
- Improve the docs
- Remove pyo3 wrappers from core
- Benchmark: compare with
numpy-financial
- Add FV
- Add IRR & NPV (#4)
- Optimize cargo build profile for speed
- Setup Github actions for testing and publishing
- Faster conversion from
numpy
arrays (#3)
- Simplify python conversions
- Refactor tests
- Numpy & Pandas support (#2)
- Support row-oriented input for xirr
- Add XNPV
- Faster XIRR implementation