New Features and Improvements
- **New Data Provider:** A new data provider, YFinanceDataProvider, has been added to the project, enabling seamless data retrieval using the yfinance library
- **Simplified Project Structure:** The project's requirements were cleaned up, reducing unnecessary dependencies and streamlining the overall setup. This update significantly minimizes external dependencies for the whole project, ensuring a leaner and more maintainable codebase.
- **Data Providers Restructure:** The data provider structure has been simplified by removing the data handlers. This change makes it much easier to add new data providers in the future and enhances the overall flexibility of the system.
- **Currency Support in Backtests:** The notion of currencies has now been integrated into the backtest functionality, offering more accurate and comprehensive financial simulations across different currencies.
What's Changed
**New**
* Currencies in backtest by eirik-thorp in https://github.com/quarkfin/qf-lib/pull/164
* Added YfinanceDataProvider by myrmarachne in https://github.com/quarkfin/qf-lib/pull/198
**Fixes**
* Handling of datetime.time values in the Reference Data Provider by zeynepgultugaydemir in https://github.com/quarkfin/qf-lib/pull/192
* PieChart update by myrmarachne in https://github.com/quarkfin/qf-lib/pull/194
* Fixed empty sheet creation + added add_number_format by myrmarachne in https://github.com/quarkfin/qf-lib/pull/193
* Fix to end date without look ahead bias for intraday data by myrmarachne in https://github.com/quarkfin/qf-lib/pull/197
* Cleaned up the Data providers warnings to show only the relevant information by myrmarachne in https://github.com/quarkfin/qf-lib/pull/199
**Dependencies**
* Adding support for python 3.12 by myrmarachne in https://github.com/quarkfin/qf-lib/pull/203
* Made SimpleFuturesModel inherit from FuturesModel instead of AlphaModel by myrmarachne in https://github.com/quarkfin/qf-lib/pull/202
* Removed Deprecated General Price Provider by myrmarachne in https://github.com/quarkfin/qf-lib/pull/201
* Ccy ticker removal by myrmarachne in https://github.com/quarkfin/qf-lib/pull/200
* Remove EmailPublisher by zeynepgultugaydemir in https://github.com/quarkfin/qf-lib/pull/196
**Backwards incompatible changes**
* Moved the get_price responsibility from DataProvider to AbstractPriceDataProvider by myrmarachne in https://github.com/quarkfin/qf-lib/pull/191
**Full Changelog**: https://github.com/quarkfin/qf-lib/compare/v3.0.2...v4.0.0