Modular Python library that provides an advanced event driven backtester and a set of high quality tools for quantitative finance. Integrated with various data vendors and brokers, supports Crypto, Stocks and Futures.
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 |
Full Changelog: https://github.com/quarkfin/qf-lib/compare/v2.2.10...v3.0.0
New features and fixes:
RiskParityBoxesFactory
accepts now AbstractPriceDataProvider
instead of only BloombergDataProvider
as the main data_providerRiskParityBoxesFactory
allows now to customize tickers for different economic environments (tickers_dict
parameter)BarChart
class to allow creating unstacked chartsBloombergTickerMapper
, which provides mapping between Bloomberg Tickers and FIGI identifiersWaterfallChart
New features and fixes:
DFTable
- clean-up the codeDFTable
DFTable
DTTable
DFTable
Backwards incompatible changes:
Style
, ColumnStyle
, RowStyle
, CellStyle
classes in qf_lib/documents_utils/document_exporting/element/helpers/style.py
DataType
and StylingType
in qf_lib/documents_utils/document_exporting/element/helpers/style_enums.py
New features and fixes:
HAPI data provider
HAPI data provider
StrategyMonitoringDocument
- cleaning up returns and excess returnsNew features and fixes:
HAPI
identifier typeparser tests
with ISIN
New features and fixes:
TradingSession
instance variable orders_filters
, now initialized as empty listcompute_duration
, class PortfolioAnalysisSheet
IBFIGItoIBContractMapper
, which is mapper that can be used to map FIGI defined IB contracts to the more specific ones.chart
and ChartElement
, such as savefig_settings
Backwards incompatible changes:
SecurityType
and IBContract
, from CONFUT
to CONTFUT
price_field_to_str_map
the parameter ticker
in all data providersNew features and fixes:
IB Broker
update to support data requests parsingdocument
parameter from the generate_html method to Optional
frame.append
method to pandas.concat
in HistoricalDataProvider
.iteritems
to .items
in excel_exporter.py
union_many
with unionconvert_to_list
functionTestToListConversion
for the convert_to_list
functionpie chart
variant to the available chartsMultiIndex
formatting in the DFTables
SecurityType
- CONFUT
convert_to_list
usage in PresetDataProvider
FuturesChain
classget_loc
functionBackwards incompatible changes:
BloombergBeapHapiParser
now accepts a new parameter tickers_mapping
New features and fixes:
exclude_weekends
for PeriodicEvent
for CalculateAndPlaceOrdersPeriodicEvent
PresetDataProvider
company_name
in settings JSON fileBloombergBeapHapiRequestsProvider
accepts now optional parameter terminal_identity_sn
Backwards incompatible changes:
_PeriodicRegularEvent
accepts now run_on_weekends
boolean as parameterNew features and fixes:
BloombergBeapHapiDataProvider
get_tickers_universe
in BloombergDataProvider
supports now historical datesEmailPublisher
: mail_to
, bcc
and cc
work now for a single string instead of requiring a list of stringsBinanceAccountSettings
classSettings
do not require any parameters to be initialized correctlyBackwards incompatible changes:
BinanceBroker
accepts now BinanceAccountSettings
instead of Settings
BacktestTradingSessionBuilder
Bug fixes and optimizations:
New functionality: