Release Notes#
v4.0.6#
Released: 2026-04-08
This release introduces 3 addition(s), including Added BloombergDLDataProvider to replace BloombergBeapHapiDataProvider, fixes 2 issue(s), including Fix an issue with reindexing in case of missing data.
Features & Enhancements#
Added BloombergDLDataProvider to replace BloombergBeapHapiDataProvider by @myrmarachne in quarkfin/qf-lib#253
Adding SPOT security type for FX by @myrmarachne in quarkfin/qf-lib#254
Add validation for frequency for PeriodicEvent and adjust the documen… by @karasekadam in quarkfin/qf-lib#256
Bug Fixes & Stability#
Fix an issue with reindexing in case of missing data by @myrmarachne in quarkfin/qf-lib#259
Fixing fields mnemonic by @myrmarachne in quarkfin/qf-lib#257
Maintenance & Under the Hood#
BloombergDLDataProvider - check existing first by @myrmarachne in quarkfin/qf-lib#262
Push notification in Bloomberg DL Data Provider is optional by @myrmarachne in quarkfin/qf-lib#258
Sorting dates unique index by @myrmarachne in quarkfin/qf-lib#260
Removing empty columns along ticker dimension by @myrmarachne in quarkfin/qf-lib#255
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v4.0.5…v4.0.6
v4.0.5#
Released: 2026-02-02
This release introduces 1 addition(s), including Pdf exporter - enable image format selection, fixes 1 issue(s), including Fixed row styles in DFTables, includes 1 breaking or behavioural change(s).
Features & Enhancements#
Pdf exporter - enable image format selection by @karasekadam in quarkfin/qf-lib#240
Bug Fixes & Stability#
Fixed row styles in DFTables by @myrmarachne in quarkfin/qf-lib#239
Maintenance & Under the Hood#
Replace fillna with method with ffill/bfill by @myrmarachne in quarkfin/qf-lib#236
Updated Code of Conduct by @myrmarachne in quarkfin/qf-lib#234
Updated README by @myrmarachne in quarkfin/qf-lib#235
AssetPerfAndDrawdownSheet was marked as deprecated and will be removed in the next major version of qf-lib - Added deprecation warning by @myrmarachne in quarkfin/qf-lib#238
Fixed pandas FutureWarning: Series.getitem treating keys as positions is deprecated by @myrmarachne in quarkfin/qf-lib#237
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v4.0.4…v4.0.5
v4.0.4#
Released: 2025-10-02
This release introduces 1 addition(s), including Implementing GridProportion for PDFs, fixes 1 issue(s), including Fix waterfall chart limits and format.
Features & Enhancements#
Implementing GridProportion for PDFs by @myrmarachne in quarkfin/qf-lib#231
Bug Fixes & Stability#
Fix waterfall chart limits and format by @marekbais in quarkfin/qf-lib#232
Maintenance & Under the Hood#
Update first_strategy_backtest.rst by @ericxu in quarkfin/qf-lib#233
BloombergBeapHapiDataProvider - added Deprecation Warning by @myrmarachne in quarkfin/qf-lib#230
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v4.0.3…v4.0.4
v4.0.3#
Released: 2025-08-05
This release introduces 3 addition(s), including Support for openpyxl up to version 3.1.5, fixes 2 issue(s), including Fix Bloomberg field exceptions.
Features & Enhancements#
Support for openpyxl up to version 3.1.5 by @myrmarachne in quarkfin/qf-lib#228
Add time convertion to Blommberg Data License by @karasekadam in quarkfin/qf-lib#229
Added leading H and C for historical and current fields by @myrmarachne in quarkfin/qf-lib#227
Bug Fixes & Stability#
Fix Bloomberg field exceptions by @marekbais in quarkfin/qf-lib#225
Resolved Issue 220 by @myrmarachne in quarkfin/qf-lib#224
Maintenance & Under the Hood#
Bar and pie charts refactor by @myrmarachne in quarkfin/qf-lib#222
Disable Alpaca tests by @marekbais in quarkfin/qf-lib#226
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v4.0.2…v4.0.3
v4.0.2#
Released: 2025-07-17
This release introduces 3 addition(s), including Add get_tickers_universe_with_weights to BloombergDataProvider, fixes 1 issue(s), including Fixed inferring frequency for irregular weekly timeseries, includes 1 breaking or behavioural change(s).
Features & Enhancements#
Add get_tickers_universe_with_weights to BloombergDataProvider by @myrmarachne in quarkfin/qf-lib#214
Added the possibility of adding multiple overrides to historical request by @myrmarachne in quarkfin/qf-lib#215
Added get_tickers_universe_with_weights to the Bloomberg DL API by @myrmarachne in quarkfin/qf-lib#216
Bug Fixes & Stability#
Fixed inferring frequency for irregular weekly timeseries by @myrmarachne in quarkfin/qf-lib#218
Maintenance & Under the Hood#
Adjusted the test to last only 1 year by @myrmarachne in quarkfin/qf-lib#211
Alpaca Data Provider by @myrmarachne in quarkfin/qf-lib#217
Updated the signatures of Exchagne Rate Provider and Tickers Universe Provider by @myrmarachne in quarkfin/qf-lib#219
Reference data provider tests by @myrmarachne in quarkfin/qf-lib#212
Adjusted setup.cfg to remove deprecated dash-separated keys by @myrmarachne in quarkfin/qf-lib#213
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v4.0.1…v4.0.2
v4.0.1#
Released: 2025-03-27
This release introduces 3 addition(s), including Added auto_adjust flag to YfinanceDataProvider.get_history, fixes 1 issue(s), including Fixed to_pandas_freq mapping for quarterly frequency.
Features & Enhancements#
Added auto_adjust flag to YfinanceDataProvider.get_history by @myrmarachne in quarkfin/qf-lib#208
BloombergBeapHapiDataProvider added unit tests for get_history by @myrmarachne in quarkfin/qf-lib#209
Adding unit tests for Bloomberg HistoricalDataProvider by @myrmarachne in quarkfin/qf-lib#210
Bug Fixes & Stability#
Fixed to_pandas_freq mapping for quarterly frequency by @myrmarachne in quarkfin/qf-lib#207
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v4.0.0…v4.0.1
v4.0.0#
Released: 2025-02-07
This release introduces 5 addition(s), including New Data Provider: A new data provider, YFinanceDataProvider, has been added to the project, enabling seamless data retrieval using the yfinance library, fixes 3 issue(s), including Fixed empty sheet creation + added add_number_format.
Features & Enhancements#
New Data Provider: A new data provider, YFinanceDataProvider, has been added to the project, enabling seamless data retrieval using the yfinance library by @myrmarachne in quarkfin/qf-lib#198
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. by @myrmarachne in quarkfin/qf-lib#199
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. by @eirik-thorp in quarkfin/qf-lib#164
Added YfinanceDataProvider by @myrmarachne in quarkfin/qf-lib#198
Adding support for python 3.12 by @myrmarachne in quarkfin/qf-lib#203
Bug Fixes & Stability#
Fixed empty sheet creation + added add_number_format by @myrmarachne in quarkfin/qf-lib#193
Fix to end date without look ahead bias for intraday data by @myrmarachne in quarkfin/qf-lib#197
Fixed typing.Sequence imports by @myrmarachne in quarkfin/qf-lib#206
Maintenance & Under the Hood#
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. by @myrmarachne in quarkfin/qf-lib#199
Currencies in backtest by @eirik-thorp in quarkfin/qf-lib#164
Handling of datetime.time values in the Reference Data Provider by @zeynepgltuaydemir in quarkfin/qf-lib#192
PieChart update by @myrmarachne in quarkfin/qf-lib#194
Cleaned up the Data providers warnings to show only the relevant information by @myrmarachne in quarkfin/qf-lib#199
Made SimpleFuturesModel inherit from FuturesModel instead of AlphaModel by @myrmarachne in quarkfin/qf-lib#202
Ccy ticker removal by @myrmarachne in quarkfin/qf-lib#200
Moved the get_price responsibility from DataProvider to AbstractPriceDataProvider by @myrmarachne in quarkfin/qf-lib#191
Updated readthedocs yaml by @myrmarachne in quarkfin/qf-lib#205
Update tests.yml by @myrmarachne in quarkfin/qf-lib#195
Removed Deprecated General Price Provider by @myrmarachne in quarkfin/qf-lib#201
Remove EmailPublisher by @zeynepgltuaydemir in quarkfin/qf-lib#196
Removed 1 mn tests from test_yfinance_data_provider by @myrmarachne in quarkfin/qf-lib#204
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v3.0.2…v4.0.0
v3.0.2#
Released: 2024-11-06
This release fixes 5 issue(s), including Fixed the path for the HeatMapChart, includes 1 breaking or behavioural change(s).
Bug Fixes & Stability#
Fixed the path for the HeatMapChart by @myrmarachne in quarkfin/qf-lib#180
Fix data array comparisons, quarkfin/qf-lib by @marekbais in quarkfin/qf-lib#181
Fixed Issue 186 (Added default end_date to AbstractPriceProvider.get_price) by @myrmarachne in quarkfin/qf-lib#187
Fixed Issue 183 (BloombergBeapHapiDataProvider.get_tickers_universe returns now not only the first 2500 members of an index) by @myrmarachne in quarkfin/qf-lib#185
Fix/improve documentation for users by @robertderienzo in quarkfin/qf-lib#188
Maintenance & Under the Hood#
Adjustment to security types in bbg_figi_mapper by @myrmarachne in quarkfin/qf-lib#184
Make dataarray comparison work with dimension length of 1 by @marekbais in quarkfin/qf-lib#182
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v3.0.1…v3.0.2
v3.0.1#
Released: 2024-07-11
This release introduces 1 addition(s), including Data License - add pricing source parameter, fixes 3 issue(s), including Fixed Issue 158 (AttributeError for Pillow 10.2.0), includes 1 breaking or behavioural change(s).
Features & Enhancements#
Data License - add pricing source parameter by @myrmarachne in quarkfin/qf-lib#160
Bug Fixes & Stability#
Fixed Issue 158 (AttributeError for Pillow 10.2.0) by @myrmarachne in quarkfin/qf-lib#162
Fixed open figi mapping for FX, quarkfin/qf-lib by @myrmarachne in quarkfin/qf-lib#174
Update bug_report.yaml by @myrmarachne in quarkfin/qf-lib#155
Maintenance & Under the Hood#
Changed list to single string in case of a single key in pandas groupby by @myrmarachne in quarkfin/qf-lib#161
Checking if a chart is closed before rendering html/json by @myrmarachne in quarkfin/qf-lib#163
Heatmap updated by @myrmarachne in quarkfin/qf-lib#173
Update arch version in requirements.txt by @eirik-thorp in quarkfin/qf-lib#171
Update blpapi version and index in setup.py by @eirik-thorp in quarkfin/qf-lib#175
Update requirements.txt by @eirik-thorp in quarkfin/qf-lib#177
In case of USDXYZ currencies, map into correct Bloomberg Ticker by @myrmarachne in quarkfin/qf-lib#178
Update blpapi index and version by @eirik-thorp in quarkfin/qf-lib#169
Updated jinja2 version and removed markupsafe from requirements.txt by @myrmarachne in quarkfin/qf-lib#176
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v3.0.0…v3.0.1
v3.0.0#
Released: 2024-03-14
This release introduces 6 addition(s), including Using pct_change to implement the to_simple_returns function for se…, fixes 7 issue(s), including Issue 129 fix backtest tutorial doc, includes 1 breaking or behavioural change(s).
This release adds the support for Python 3.10 and 3.11. Python 3.7 support is being dropped.
Increased the minimum and maximum supported versions of the following dependencies:
Library |
Min supported version |
Max supported version |
|---|---|---|
pandas |
1.4.0 |
2.0.3 |
xarray |
0.21.0 |
2022.9.0 |
numpy |
1.19.3 |
1.26.4 |
scipy |
1.6.3 |
1.11.4 |
matplotlib |
3.4.0 |
3.6.1 |
Pillow |
9.0.0 |
10.2.0 |
statsmodels |
0.13.0 |
0.13.5 |
cvxopt |
1.2.7 |
1.3.2 |
requests |
2.25.1 |
2.31.0 |
Features & Enhancements#
Using pct_change to implement the to_simple_returns function for se… by @myrmarachne in quarkfin/qf-lib#132
Add python and OS requirements to installation docs by @marekbais in quarkfin/qf-lib#134
Added kwargs to get_price by @myrmarachne in quarkfin/qf-lib#137
Updated blpapi usages to support versions up to 3.23.1 by @myrmarachne in quarkfin/qf-lib#145
Added Python 3.10 support by @myrmarachne in quarkfin/qf-lib#150
Added support for python 3.11 by @myrmarachne in quarkfin/qf-lib#151
Bug Fixes & Stability#
Issue 129 fix backtest tutorial doc by @marekbais in quarkfin/qf-lib#133
fix Add intraday strategy example to docs by @marekbais in quarkfin/qf-lib#135
Fixed the rotation anchor for AxisTickLabelsDecorator by @myrmarachne in quarkfin/qf-lib#140
Fix index translator for unstacked bar charts by @marekbais in quarkfin/qf-lib#138
Fixed missing kwargs in get_price function by @myrmarachne in quarkfin/qf-lib#141
Docs - Fix CSS override in Sphinx conf.py by @eirik-thorp in quarkfin/qf-lib#149
fix Add intraday strategy example to docs by @marekbais in quarkfin/qf-lib#128
Maintenance & Under the Hood#
Adjusted to_simple_returns to keep backwards compatibility by @myrmarachne in quarkfin/qf-lib#146
Registered QuandlDataProvider in the demo_ioc by @myrmarachne in quarkfin/qf-lib#139
BinanceBroker - USDC stable coin by @jmmcz in quarkfin/qf-lib#144
Upgrade Sphinx by @eirik-thorp in quarkfin/qf-lib#147
Removal of the old classes from the .rst files by @zeynepgltuaydemir in quarkfin/qf-lib#148
Use python 3.11 in the github actions tests by @myrmarachne in quarkfin/qf-lib#153
Cleaned up demo_scripts dependencies by @myrmarachne in quarkfin/qf-lib#152
API documentation by @myrmarachne in quarkfin/qf-lib#154
Issue 129 fix backtest tutorial doc by @marekbais in quarkfin/qf-lib#133
Removed ‘Futures - ICE’, ‘Futures - CME’ and ‘Futures - EUREX’ as the¦ by @lfield in quarkfin/qf-lib#142
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2.10…v3.0.0
v2.2.10#
Released: 2023-09-25
This release introduces 2 addition(s), including Added BloombergTickerMapper, which provides mapping between Bloomberg Tickers and FIGI identifiers, fixes 1 issue(s), including Fixed BarChart class to allow creating unstacked charts, includes 1 breaking or behavioural change(s).
Features & Enhancements#
Added
BloombergTickerMapper, which provides mapping between Bloomberg Tickers and FIGI identifiers by @myrmarachne in quarkfin/qf-lib#126Added
WaterfallChart
Bug Fixes & Stability#
Fixed
BarChartclass to allow creating unstacked charts by @eirik-thorp in quarkfin/qf-lib#124
Maintenance & Under the Hood#
RiskParityBoxesFactoryallows now to customize tickers for different economic environments (tickers_dictparameter)Waterfall Chart Setup by @zeynepgltuaydemir in quarkfin/qf-lib#125
Update risk parity boxes factory by @eirik-thorp in quarkfin/qf-lib#123
Update MSBIERTR Index to MSBICBGU Index by @mateioctavian in quarkfin/qf-lib#122
Backwards Incompatible changes#
RiskParityBoxesFactoryaccepts nowAbstractPriceDataProviderinstead of onlyBloombergDataProvideras the main data_provider
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2.9…v2.2.10
v2.2.9#
Released: 2023-08-03
This release introduces 3 addition(s), including DFTable - style header per level and style index per level in multiindex, fixes 1 issue(s), including DFTable - style header per level and style index per level in multiindex, includes 2 breaking or behavioural change(s).
Features & Enhancements#
DFTable - style header per level and style index per level in multiindex by @mateioctavian in quarkfin/qf-lib#121
DFTable - style header per level and style index per level in multiindex by @mateioctavian in quarkfin/qf-lib#121
Implemented the possibility of styling the index on levels in
DTTable
Bug Fixes & Stability#
DFTable - style header per level and style index per level in multiindex by @mateioctavian in quarkfin/qf-lib#121
Maintenance & Under the Hood#
Moved
Style,ColumnStyle,RowStyle,CellStyleclasses in qf_lib/documents_utils/document_exporting/element/helpers/style.pyMoved
DataTypeandStylingTypein qf_lib/documents_utils/document_exporting/element/helpers/style_enums.pyDRAFT: DFTable - clean-up the code by @mateioctavian in quarkfin/qf-lib#119
List of modified elements by @mateioctavian in quarkfin/qf-lib#120
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2.8…v2.2.9
v2.2.8#
Released: 2023-07-31
This release introduces 2 addition(s), including Added index visibility, style and class in DFTable.
Features & Enhancements#
Added index visibility, style and class in DFTable by @mateioctavian in quarkfin/qf-lib#118
HAPI data provider - ticker with special characters support by @myrmarachne in quarkfin/qf-lib#117
Maintenance & Under the Hood#
Supporting Bloomberg tickers with special characters in
HAPI data providerby @myrmarachne in quarkfin/qf-lib#117StrategyMonitoringDocument- cleaning up returns and excess returns by @jmmcz in quarkfin/qf-lib#116
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2.7…v2.2.8
v2.2.7#
Released: 2023-05-16
This release introduces 2 addition(s), including Added HAPI identifier type, fixes 1 issue(s), including Issue templates.
Features & Enhancements#
Added
HAPIidentifier type by @myrmarachne in quarkfin/qf-lib#114Added
parser testswithISIN
Bug Fixes & Stability#
Issue templates by @mateioctavian in quarkfin/qf-lib#111
Maintenance & Under the Hood#
Codecov separate job by @mateioctavian in quarkfin/qf-lib#112
Multiple stages for pipeline by @mateioctavian in quarkfin/qf-lib#108
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2.6…v2.2.7
v2.2.6#
Released: 2023-04-27
This release introduces 4 addition(s), including Added new class IBFIGItoIBContractMapper, which is mapper that can be used to map FIGI defined IB contracts to the more specific ones., includes 4 breaking or behavioural change(s).
Features & Enhancements#
Added new class
IBFIGItoIBContractMapper, which is mapper that can be used to map FIGI defined IB contracts to the more specific ones.Added more parameters for
chartandChartElement, such assavefig_settingsby @mateioctavian in quarkfin/qf-lib#107Adding contract_ticker_mapper missing docstring by @jmmcz in quarkfin/qf-lib#106
Introducing IBFIGItoContractMapper by @jmmcz in quarkfin/qf-lib#104
Maintenance & Under the Hood#
Changed
TradingSessioninstance variableorders_filters, now initialized as empty list by @jmmcz in quarkfin/qf-lib#102Changed pd date range keyword in
compute_duration, classPortfolioAnalysisSheetby @jmmcz in quarkfin/qf-lib#103Changed SecurityType parameter for classes
SecurityTypeandIBContract, fromCONFUTtoCONTFUTby @jmmcz in quarkfin/qf-lib#105
Backwards Incompatible changes#
Eliminated from
price_field_to_str_mapthe parametertickerin all data providers by @mateioctavian in quarkfin/qf-lib#109
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2.5…v2.2.6
v2.2.5#
Released: 2023-01-31
This release introduces 6 addition(s), including Updated IB Broker update to support data requests parsing, fixes 3 issue(s), including Fixed convert_to_list usage in PresetDataProvider, includes 5 breaking or behavioural change(s).
Features & Enhancements#
Updated
IB Brokerupdate to support data requests parsing by @jmmcz in quarkfin/qf-lib#95Added type checks to
convert_to_listfunction by @myrmarachne in quarkfin/qf-lib#92Added unit tests as
TestToListConversionfor theconvert_to_listfunction by @myrmarachne in quarkfin/qf-lib#92Added
pie chartvariant to the available charts by @mateioctavian in quarkfin/qf-lib#96Added support for
MultiIndexformatting in theDFTablesby @myrmarachne in quarkfin/qf-lib#97Introducing new SecurityType - CONFUT by @jmmcz in quarkfin/qf-lib#98
Bug Fixes & Stability#
Fixed
convert_to_listusage inPresetDataProviderby @myrmarachne in quarkfin/qf-lib#93Fixed pandas Future Warning in the
FuturesChainclass by @myrmarachne in quarkfin/qf-lib#94Fixed Future Warnings for
get_locfunction by @myrmarachne in quarkfin/qf-lib#94
Maintenance & Under the Hood#
Replaced
frame.appendmethod topandas.concatinHistoricalDataProviderby @zeynepgltuaydemir in quarkfin/qf-lib#91Replaced
.iteritemsto.itemsinexcel_exporter.pyby @zeynepgltuaydemir in quarkfin/qf-lib#100Replaced
union_manywith union byBloombergBeapHapiParsernow accepts a new parametertickers_mappingChanged label positions computation by @mateioctavian in quarkfin/qf-lib#101
Updated
documentparameter from the generate_html method toOptionalby @mateioctavian in quarkfin/qf-lib#99
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2.4…v2.2.5
v2.2.4#
Released: 2023-01-31
This release introduces 2 addition(s), including Support exclude_weekends for PeriodicEvent for CalculateAndPlaceOrdersPeriodicEvent, fixes 3 issue(s), including Fixed aggregation of bars in the PresetDataProvider, includes 2 breaking or behavioural change(s).
Features & Enhancements#
Support
exclude_weekendsforPeriodicEventforCalculateAndPlaceOrdersPeriodicEventby @guyfreund in quarkfin/qf-lib#70Added terminal identity to the settings by @myrmarachne in quarkfin/qf-lib#87
Bug Fixes & Stability#
Fixed aggregation of bars in the
PresetDataProviderby @marcinborratynski in quarkfin/qf-lib#81Fixed
company_namein settings JSON file by @myrmarachne in quarkfin/qf-lib#89Fixed non alphanumeric fields and tickers universe creation by @myrmarachne in quarkfin/qf-lib#86
Maintenance & Under the Hood#
Abstract documents do not require logo paths and company name anymore by @myrmarachne in quarkfin/qf-lib#88
Updated setup.py by @myrmarachne in quarkfin/qf-lib#90
Backwards Incompatible changes#
BloombergBeapHapiRequestsProvideraccepts now optional parameterterminal_identity_snby @myrmarachne in quarkfin/qf-lib#87_PeriodicRegularEventaccepts nowrun_on_weekendsboolean as parameter by @guyfreund in quarkfin/qf-lib#70
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2.3…v2.2.4
v2.2.3#
Released: 2022-10-26
This release introduces 4 addition(s), including Added currency parameter to BloombergBeapHapiDataProvider, includes 1 breaking or behavioural change(s).
Features & Enhancements#
Added currency parameter to
BloombergBeapHapiDataProviderby @myrmarachne in quarkfin/qf-lib#85introduced
BinanceAccountSettingsclass by @myrmarachneadded _resolve_signal_duplicates to allow for signal duplicates by @marcinborratynski in quarkfin/qf-lib#82
Added tickers universe functionality to BloombergBeapHapiDataProvider by @myrmarachne in quarkfin/qf-lib#67
Maintenance & Under the Hood#
get_tickers_universeinBloombergDataProvidersupports now historical dates by @myrmarachne in quarkfin/qf-lib#72EmailPublisher:mail_to,bccandccwork now for a single string instead of requiring a list of strings by @mateioctavian in quarkfin/qf-lib#83Settingsdo not require any parameters to be initialized correctly by @jmmcz in quarkfin/qf-lib#71Moved account name to binance_broker class only by @mateioctavian in quarkfin/qf-lib#84
Create CODE_OF_CONDUCT.md by @marcinborratynski in quarkfin/qf-lib#76
Account in broker by @marcinborratynski in quarkfin/qf-lib#80
put the orders that sell first to raise cash for buy orders by @marcinborratynski in quarkfin/qf-lib#79
disabling historyPriceCurrency in USD (runtimeOptions BBG) by @jmmcz in quarkfin/qf-lib#77
Running tests on feature branch pull requests by @myrmarachne in quarkfin/qf-lib#69
BacktestTradingSessionBuilder needs no data provider; removed GeneralPriceProvider from demo by @marcinborratynski in quarkfin/qf-lib#75
Backwards Incompatible changes#
BinanceBrokeraccepts nowBinanceAccountSettingsinstead ofSettingsby @marcinborratynski in quarkfin/qf-lib#78
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2.2…v2.2.3
v2.2.2#
Released: 2022-09-28
This release introduces 3 addition(s), including Added reset functionality to ErrorHandling class, fixes 3 issue(s), including Fixed type conversion in the BloombergBeapHapiDataProvider parser, includes 1 breaking or behavioural change(s).
Features & Enhancements#
Added reset functionality to ErrorHandling class by @mateioctavian in quarkfin/qf-lib#63
Added field overrides to get_current_values and get_history requests in the BloombergBeapHapiDataProvider by @myrmarachne in quarkfin/qf-lib#66
Added tickers universe functionality to the BloombergBeapHapiDataProvider (get_tickers_universe function) by @karolinacynk
Bug Fixes & Stability#
Fixed type conversion in the BloombergBeapHapiDataProvider parser by @mateioctavian in quarkfin/qf-lib#60
Fixed get_current_values in BloombergDataProvider in case if one of many fields requested raises an Exception by @mateioctavian in quarkfin/qf-lib#60
Fix get current values by @mateioctavian in quarkfin/qf-lib#61
Maintenance & Under the Hood#
Changed on push requirement in the pypi release pipeline by @myrmarachne in quarkfin/qf-lib#59
Optimized universe and fields id creation for the BloombergBeapHapiDataProvider by @myrmarachne
Minor refactoring by @karolinacynk
substituted Ticker with BloombergTicker in beap hapi data provider by @karolinacynk
Beap hapi data provider by @myrmarachne in quarkfin/qf-lib#64
BEAP HAPI Data provider update by @myrmarachne in quarkfin/qf-lib#62
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2.1…v2.2.2
v2.2.1#
Released: 2026-06-03
This release introduces 1 addition(s), including Added font style capabilities to the excel exporter, fixes 4 issue(s), including Workflows/release action fix, includes 1 breaking or behavioural change(s).
Features & Enhancements#
Added font style capabilities to the excel exporter by @mateioctavian in quarkfin/qf-lib#56
Bug Fixes & Stability#
Workflows/release action fix by @myrmarachne in quarkfin/qf-lib#58
Fixing bug in tickers_dict_to_data_array - works for single field by @mateioctavian in quarkfin/qf-lib#54
Fixed create_returns_bar_chart by @mateioctavian in quarkfin/qf-lib#51
Fixed readme links by @myrmarachne in quarkfin/qf-lib#50
Maintenance & Under the Hood#
Changed on push requirementin the pypi release pipeline by @karolinacynk
Workflows/release update by @myrmarachne in quarkfin/qf-lib#57
Split relative performance into percentage and value difference by @marcinborratynski in quarkfin/qf-lib#55
Update preset_data_provider.py by @mateioctavian
get_history now also supports any single field type by @octavianmihaimatei
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2…v2.2.1
v2.2#
Released: 2022-06-10
This release introduces 7 addition(s), including Changed Strategy monitoring document (added relative performance chart and excess cone chart), fixes 3 issue(s), including Fixed get_price for DailyDataHandler and IntradayDataHandler, so that end_date bar is always inclusive and no data from the future is returned, includes 2 breaking or behavioural change(s).
Features & Enhancements#
Changed Strategy monitoring document (added relative performance chart and excess cone chart) by @myrmarachne
Added orders sizes rounding (
OrderRounderclass for the CRYPTO assets) by @myrmarachneAdded support for Binance - introduced
BinanceTicker,BinanceDataProvider,BinanceContractTickerMapper,BinancePositionby @myrmarachneAdded backtest flow reference to read the docs by @myrmarachne in quarkfin/qf-lib#46
Added
exclude_weekendsfunction to theRegularMarketEventby @myrmarachneChanged the events management (strategies have subscribe function which they can use to subscribe to given events, new events were introduced,
DailyMarketEventwas renamed toRegularMarketEvent) by @myrmarachneAdded API documentation by @myrmarachne in quarkfin/qf-lib#44
Bug Fixes & Stability#
Fixed
get_priceforDailyDataHandlerandIntradayDataHandler, so that end_date bar is always inclusive and no data from the future is returned by @myrmarachneFixed
get_last_available_priceforDailyDataHandlerandIntradayDataHandler, so that the latest price since the Open price of the current bar is returned by @myrmarachneFixed duplicate rows in
CSVDataProviderby @myrmarachne
Maintenance & Under the Hood#
Adjusted urls + paths by @myrmarachne in quarkfin/qf-lib#49
Minor CSS changes by @myrmarachne in quarkfin/qf-lib#45
Improved performance of
PresetDataProvider.get_last_available_priceandPresetDataProvider.historical_priceby @myrmarachne in quarkfin/qf-lib#48Improved the performance of
get_last_available_priceandhistorical_priceinPresetDataProviderby @myrmarachneMinor readme update by @myrmarachne in quarkfin/qf-lib#43
Backwards Incompatible changes#
Positions are removed from the portfolio automatically after 10 days without any price by @myrmarachne
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.1…v2.2
v2.1#
Released: 2022-03-29
This release introduces 5 addition(s), including Added support for python 3.7 and python 3.8 + Removed legacy data provider, fixes 3 issue(s), including Fixed BloombergDataProvider.get_current_values, so that now the function returns correct data types, instead of casting data to either float or string.
Features & Enhancements#
Added support for python 3.7 and python 3.8 + Removed legacy data provider by @myrmarachne in quarkfin/qf-lib#42
Introduced a new data provider:
CSVDataProviderby @myrmarachneIntroduced new classes:
BacktestCryptoPositionby @myrmarachneIntroduced new ticker classes:
BinanceTickerby @myrmarachneIntroduced new
SecurityType:SecurityType.CRYPTOby @myrmarachne
Bug Fixes & Stability#
Fixed
BloombergDataProvider.get_current_values, so that now the function returns correct data types, instead of casting data to either float or string by @myrmarachneFixed
BloombergDataProviderbug causing populating the returned series / data frames with NaN values, in case if preceding elements had errors by @myrmarachneMinor readme fix by @myrmarachne in quarkfin/qf-lib#36
Maintenance & Under the Hood#
Fractional orders are allowed by @myrmarachne
Single date queries are now supported by the
get_pricefunction of theAbstractPriceDataProviderby @myrmarachneImproved the performance of intraday prices aggregation in case of
PresetDataprovider.get_priceby @myrmarachneDeclaration of
MarketOpenEventis not needed for thePresetDataprovider.get_pricefunction in case of data aggregation by @myrmarachneStrategyMonitoringDocumentcone chart shows now the excess return instead of performance by @myrmarachneIn case of intraday frequency
get_priceandget_historyround the starting date to the next multiply of the given frequency (e.g. in case if start date points to 12:37, it will be shifted to either 12:40 for 5-minute frequency or 12:45 for 15-minute frequency) by @myrmarachne in quarkfin/qf-lib#40Updated setup files and readme by @myrmarachne in quarkfin/qf-lib#34
Updated readme by @myrmarachne in quarkfin/qf-lib#35
Create tests.yml by @jmmcz in quarkfin/qf-lib#38
QF-Lib 2.0 by @myrmarachne in quarkfin/qf-lib#40
Coverage + read the docs by @myrmarachne in quarkfin/qf-lib#41
removed deprecated
ExcelFilesComparatorby @myrmarachne
Backwards Incompatible changes#
The
CcyDataProviderclass was removed by @myrmarachneAdded support for python 3.7 and python 3.8 + Removed legacy data provider by @myrmarachne in quarkfin/qf-lib#42
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v1.2.0-beta…v2.1
v1.2.0-beta#
Released: 2022-01-19
This release introduces 6 addition(s), including Introduced a new data provider supporting Portara data. Added the following classes into the library: PortaraDataProvider, PortaraTicker, PortaraFutureTicker, fixes 1 issue(s), including Fixed API documentation.
Features & Enhancements#
Introduced a new data provider supporting Portara data. Added the following classes into the library:
PortaraDataProvider,PortaraTicker,PortaraFutureTickerby @myrmarachneIntroduced new
SecurityTypeEnum by @myrmarachneAdded new parameters to
Tickerobjects: security type and point value. To provide backwards compatibility, the default values in case ofBloombergTicker,HaverTickers,QuandlTickerandCcyTickerare the following: security type equals toSecurityType.STOCKand point value equals to 1. by @myrmarachneIBContractandIBContractTickerMapperclasses were introduced to be used along with theIBBroker. by @myrmarachneAdded
strategyparameter to theOrderclass by @myrmarachne in quarkfin/qf-lib#33Added new elements to the API documentation by @myrmarachne in quarkfin/qf-lib#33
Bug Fixes & Stability#
Fixed API documentation by @myrmarachne in quarkfin/qf-lib#23
Maintenance & Under the Hood#
Refactored the ticker to contract mapping utilities. Currently all backtests by default use the
SimulatedContractTickerMapper, which does not require any tickers to contracts mappings. Mappings are necessary only in case of trading, when e.g. signals are computed usingTickers but theBrokerexpects a specific contract object (e.g.IBBrokerwithIBContractTickerMapper). by @myrmarachne in quarkfin/qf-lib#31Version 1.2 by @myrmarachne in quarkfin/qf-lib#28
Updated setup.py by @myrmarachne in quarkfin/qf-lib#30
Updated intraday demo strategy for Future Tickers by @myrmarachne in quarkfin/qf-lib#31
Refactoring and cleanup by @myrmarachne in quarkfin/qf-lib#32
Removed unnecessary tests by @myrmarachne in quarkfin/qf-lib#24
Removed old legacy code by @myrmarachne
Backwards Incompatible changes#
The
Contractclass was removed. by @myrmarachne in quarkfin/qf-lib#24
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v1.1.0-beta…v1.2.0-beta
v1.1.0-beta#
Released: 2021-10-13
This release introduces 7 addition(s), including Added new data provider, which uses the Bloomberg Enterprise Access Point (BEAP) HAPI, fixes 2 issue(s), including Fixed the commissions computation in case if the volume of the fill (transaction) differed from corresponding orders volume, includes 1 breaking or behavioural change(s).
Features & Enhancements#
Added new data provider, which uses the Bloomberg Enterprise Access Point (BEAP) HAPI by @myrmarachne
Created
AbstractStrategyand unified theAlphaModelStrategyexecution by @myrmarachneAdded
time_in_forceparameter tosize_signalsfunction in thePositionSizerclass by @myrmarachneAdded
time_in_forceparameter toAlphaModelStrategy.__init__function by @myrmarachneCreated
OnBeforeMarketOpenSignalGenerationwrapper, to facilitate the subscription process of a given Strategy to theBeforeMarketOpenEventby @myrmarachneAlphaModelsaccept nowDataProviders,current_timeandfrequencyparameters were added to theget_signalfunction by @myrmarachneSignal.last_available_priceis not optional anymore, a requiredSignal.creation_timeparameter was added by @myrmarachne
Bug Fixes & Stability#
Fixed the commissions computation in case if the volume of the fill (transaction) differed from corresponding orders volume by @myrmarachne
Fixed documentation and github pages settings by @myrmarachne in quarkfin/qf-lib#19
Maintenance & Under the Hood#
Changed the behaviour of
get_priceinDataHandlerin case if the Open price is already available by @myrmarachneMoved
get_last_available_priceandhistorical_pricetoDataProviderby @myrmarachneUpdated requirements by @myrmarachne in quarkfin/qf-lib#20
Released version 1.1 by @myrmarachne in quarkfin/qf-lib#22
Removed
get_current_barandget_current_pricesfromDataHandlerby @myrmarachne
Backwards Incompatible changes#
Removed the
on_before_market_openfunction fromAlphaModelStrategyand removed the default subscription event (from now on, in order to preserve the previous behaviour, theOnBeforeMarketOpenSignalGenerationwrapper should be used along with the strategy) by @myrmarachne
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v1.0.0-beta…v1.1.0-beta
v1.0.0-beta#
Released: 2021-07-02
This release introduces 12 addition(s), including Added a new tearsheet document (qf_lib.analysis.tearsheets.tearsheet_comparative.TearsheetComparative), fixes 1 issue(s), including Many fixes to the documentation and docstrings, includes 1 breaking or behavioural change(s).
Features & Enhancements#
Added a new tearsheet document (
qf_lib.analysis.tearsheets.tearsheet_comparative.TearsheetComparative) by @myrmarachneAdded tools for backtest overfitting analysis (
qf_lib.analysis.backtests_overfitting.backtests_overfitting.BacktestOverfittingSheet) by @myrmarachneAdded tools for exposure analysis (
qf_lib.analysis.exposure_analysis.exposure_sheet .ExposureSheet) by @myrmarachneAdded tools for signals analysis containing various candlestick charts (
qf_lib.analysis.signals_analysis.signals_plotter.SignalsPlotter) by @myrmarachneAdded tools for PnL computation (
qf_lib.analysis.strategy_monitoring.pnl_calculator.PnLCalculator) by @myrmarachneAdded a new type of Alpha Model, which facilitates the use of futures contracts (
qf_lib.backtesting.alpha_model.futures_model.FuturesModel) by @myrmarachneAdded the possibility of settings an expiration hour for
FutureTickers (set_expiration_hour) by @myrmarachneAdded
ListElementclass, to support lists in PDF documents by @myrmarachneAdded sphinx requirements by @myrmarachne in quarkfin/qf-lib#18
Added
FillBetweenDecoratorby @myrmarachneAdded
UnderwaterDecoratoras a substituion forUnderwaterChartby @myrmarachneAdded sphinx requirements by @myrmarachne in quarkfin/qf-lib#18
Bug Fixes & Stability#
Many fixes to the documentation and docstrings by @myrmarachne
Maintenance & Under the Hood#
Improvements to the performance of
BloombergDataProviderby @myrmarachneUpdated travis yml by @myrmarachne in quarkfin/qf-lib#17
Update pages.yml by @myrmarachne
Create pages.yml by @myrmarachne
Removed
UnderwaterChartby @myrmarachne
Backwards Incompatible changes#
Migration to python 3.9 by @myrmarachne in quarkfin/qf-lib#16
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v1.0.0-alpha…v1.0.0-beta
v1.0.0-alpha#
Released: 2021-07-02
Contributors#
Jacek Witkowski,
Marcin Borratynski,
Thomas Ruxton,
Dominik Picheta,
Olga Kalinowska,
Karolina Cynk
Full Changelog: quarkfin/qf-lib