Guide to SigTech framework v9#
We are pleased to introduce version 9 of the SigTech framework, a.k.a. v9, along with major improvements, upgrades, and new features.
This guide describes the changes to classes, methods, and environment parameters you will need to know about to ensure that strategies written in v8 work in v9.
Please note that all changes presented in this page are breaking.
Changes to framework dependencies#
SigTech framework v9 uses new Python features and syntax, as well as updated functionality of supporting libraries.
Major upgrades:
Upgraded Python from 3.9 to 3.11 [Python release notes]
Upgraded Python package
numpy
from 1.18 to 1.26 [NumPy release notes]Upgraded Python package
pandas
from 1.4 to 2.1 [Pandas release notes]
Other upgrades:
Upgraded Python package
scipy
from 1.8 to 1.11Upgraded Python package
scikit-learn
from 1.0 to 1.3Upgraded Python package
cvxpy
from 1.1 to 1.4
For full details, see Framework dependencies in v9.
Changes to framework environment#
SigTech framework v9 uses new default values for a set of environment parameters:
IGNORE_T_COSTS
INCLUDE_STRATEGY_TCOST_DEFAULT
LIBOR_SWITCHOVER_DATES
TM_TIMEZONE
TM_DISPLAY_TIMEZONE
HISTORY_DATA_CLEAN
The following environment parameters are not available in v9:
HISTORY_SCHEDULE_BUILD_FROM_DATA
ROLL_OFFSET_INCLUDE_ROLL_END
For full details, see Changes to framework environment.
Deprecations and refactorings#
SigTech framework v9 includes a set of deprecations, refactorings and deletions introduced for classes, functions and parameters.
For full details, see Deprecations and refactorings.
Changes to default behavior of framework interface#
SigTech framework v9 introduces material changes to the output generated by strategies execution methods, instruments data retrieval methods, or analytics calculation methods. These outputs are directly under the user’s control via class constructors or functions parameter overrides.
For full details, see Changes to parameter defaults.
Changes to underlying framework logic#
SigTech framework v9 introduces material changes to the underlying framework logic, which is not directly under the user’s control via the configuration of environment parameters or arguments overrides.
For full details, see Changes to underlying framework logic.
Changes to Python#
For a summary of changes to the Python language and supporting modules, see Changes to Python.