Changes to the framework environment#
This page describes changes in v9 to framework environment parameters and their default values.
All changes are breaking, i.e. they may cause material changes to the strategy outputs.
Summary of changes
Section link |
Environment parameters |
v8 default |
v9 default |
---|---|---|---|
[Transaction costs][1] |
|
|
|
[Transaction costs][1] |
|
|
|
[LIBOR benchmarking][2] |
|
See example |
See example |
[Trading manager][3] |
|
|
|
[Trading manager][3] |
|
Not used |
|
[History data][4] |
|
|
|
[History data][4] |
|
|
Removed |
[Roll offset][5] |
|
|
Removed |
See the sections below for details on each change.
Transaction costs: default settings changed#
When evaluating a strategy’s performance, the inclusion of transaction costs is controlled by two environment parameters:
IGNORE_T_COSTS
: WhenTrue
, transaction costs are disabled and theinclude_trading_costs
parameter on strategies is ignored. WhenFalse
, the transaction costs are included or excluded based on the value ofinclude_trading_costs
.INCLUDE_STRATEGY_TCOST_DEFAULT
: The default value of theinclude_trading_costs
strategy parameter.
In v9, transaction costs are enabled by default (i.e. IGNORE_T_COSTS
is now set to False
). However, the default
value of the include_trading_costs
strategy parameter is False
(i.e. INCLUDE_STRATEGY_TCOST_DEFAULT
is False
).
To include transaction costs when evaluating a strategy, you now need to specify include_transaction_costs=True
when
you create the strategy, unless the default value of INCLUDE_STRATEGY_TCOST_DEFAULT
is overridden.
LIBOR benchmarking: updated LIBOR cessation dates#
SigTech framework v9 updates the default setting for the LIBOR_SWITCHOVER_DATES
parameter. This parameter
tells the SigTech framework when LIBOR will cease to be used as an interest rate benchmark for various currencies,
including: AUD
, CAD
, CHF
, CNY
, DKK
, EUR
, GBP
, HKD
, JPY
, KRW
, NOK
, NZD
, SEK
, SGD
, USD
,
ZAR
.
Strategies created with the RollingSwapStrategy
class automatically trade OIS swaps after the LIBOR switchover date
for the relevant currency.
The default LIBOR_SWITCHOVER_DATES
setting uses official cessation dates for LIBOR benchmarking, where available.
For currencies for which an official cessation date is not available, the setting uses December 31, 2024.
To see the LIBOR switchover dates for each currency:
import sigtech.framework as sig
print('Framework version:', sig.__version__.__version__)
env = sig.init()
env.config.get('LIBOR_SWITCHOVER_DATES')
Trading manager: default timezone changed and display timezone enabled#
Trading manager environment settings (identifiable by their TM_
prefix) control a collection of trading
functionalities such as calendar, transaction timezone, and market open and close times used by strategies.
In v9, the default transaction timezone (TM_TIMEZONE
) has changed from the London timezone to use UTC (i.e. 'UTC'
).
This ensures a fixed timezone throughout the year.
Framework v9 also enables use of the TM_DISPLAY_TIMEZONE
parameter, which provides a default value for the timezone
used by display methods available in the inspect
strategy wrapper, such as trade_timings_df()
and positions_df()
,
when the input parameter tzinfo
is not supplied.
The default value for the TM_DISPLAY_TIMEZONE
setting is 'UTC'
.
History data#
History schedules: legacy flag removed#
In v9, the legacy environment parameter HISTORY_SCHEDULE_BUILD_FROM_DATA
has been removed.
In v8, setting HISTORY_SCHEDULE_BUILD_FROM_DATA
to True
allowed an instrument’s history schedule, i.e. the dates on
which its history is available, to be built from the dates in an instrument’s history data.
In v9, history schedules are always built from a calendar, not from instrument data, and the
HISTORY_SCHEDULE_BUILD_FROM_DATA
parameter is not required.
Instrument histories use raw data by default#
The environment parameter HISTORY_DATA_CLEAN
sets whether to use raw data from the data providers or to use processed
data from the SigTech cleaning data pipelines.
Since these pipelines are experimental and subject to continuous improvement, the default value for
HISTORY_DATA_CLEAN
in v9 is False
, i.e. instrument histories use raw data by default.
Temporary roll offset parameter removed#
A temporary environment parameter, ROLL_OFFSET_INCLUDE_ROLL_END
, was being used for development to check whether the
front offset should include the roll end day when specifying the roll days.
It is no longer required, and has been deprecated.