Default strategies

Default strategies#

Rolling LME futures#

Predefined rolling LME future strategies. See sigtech.framework.strategies.rolling_future_strategy for more information about these objects.

sigtech.framework.default_strategy_objects.rolling_lme_futures.create_rolling_lme_strategies(contract_codes: Sequence[str], rolling_rules: Sequence[str], currency: str, start_date: date, use_cache: bool = True) dict[str, dict[str, str]]

Given a set of LME strip contract codes and rolling rules, create the cross product RollingLMEFutureStrategy(s) and pre-compute the associated building block FrameworkObject(s).

Parameters:
  • contract_codes – Sequence of LME strip tickers, e.g. ['LA', 'LL'].

  • rolling_rules – Sequence of pre-built rules, e.g. ['F_0', 'F_1'].

  • currency – Currency for rolling LME future strategies, e.g. 'USD'.

  • start_date – Start date for rolling LME future strategies, e.g. datetime.date(2014, 1, 2).

Returns:

Dict of dict of RollingLMEFutureStrategy names from cross product, dict of synthetic futures names by contract code.

Example of dict of dict of RollingLMEFutureStrategy names from cross product:

{
'LA': {'F_0': 'USD LA COMDTY LONG F_0 FC201C43 RLMEFS STRATEGY', 'F_1': 'USD LA COMDTY LONG F_1 96C08AD0 RLMEFS STRATEGY'},
'LL': {'F_0': 'USD LL COMDTY LONG F_0 842BC872 RLMEFS STRATEGY', 'F_1': 'USD LL COMDTY LONG F_1 450C8B35 RLMEFS STRATEGY'}
}

Example of dict of synthetic futures names by contract code:

{
'LA': ['LA 0.0 F14 LME SYNTHETIC FUTURE', 'LA 0.0 F15 LME SYNTHETIC FUTURE', ...],
'LL': ['LL 0.0 F14 LME SYNTHETIC FUTURE', 'LL 0.0 F15 LME SYNTHETIC FUTURE', ...],
}
sigtech.framework.default_strategy_objects.rolling_lme_futures.gbp_la_lme_comdty_f_0(use_cache: bool = True) RollingLMEFutureFXHedgedStrategy

Define a rolling LME future strategy in GBP with contract code 'LA' (Primary Aluminium) and rolling rule 'F_0'.

sigtech.framework.default_strategy_objects.rolling_lme_futures.la_lme_comdty_f_0(use_cache: bool = True) RollingLMEFutureStrategy

Define a rolling LME future strategy in USD with contract code 'LA' (Primary Aluminium) and rolling rule 'F_0'.

sigtech.framework.default_strategy_objects.rolling_lme_futures.la_lme_comdty_f_0_short(use_cache: bool = True) RollingLMEFutureStrategy

Define a short rolling LME future strategy in USD with contract code 'LA' (Primary Aluminium) and rolling rule 'F_0'.

sigtech.framework.default_strategy_objects.rolling_lme_futures.lk_lme_comdty_f_0(use_cache: bool = True) RollingLMEFutureStrategy

Define a rolling LME future strategy in USD with contract code 'LK' (Aluminium) and rolling rule 'F_0'.

sigtech.framework.default_strategy_objects.rolling_lme_futures.ll_lme_comdty_f_0(use_cache: bool = True) RollingLMEFutureStrategy

Define a rolling LME future strategy in USD with contract code 'LL' (Lead) and rolling rule 'F_0'.

sigtech.framework.default_strategy_objects.rolling_lme_futures.ln_lme_comdty_f_0(use_cache: bool = True) RollingLMEFutureStrategy

Define a rolling LME future strategy in USD with contract code 'LN' (Nickel) and rolling rule 'F_0'.

sigtech.framework.default_strategy_objects.rolling_lme_futures.lp_lme_comdty_f_0(use_cache: bool = True) RollingLMEFutureStrategy

Define a rolling LME future strategy in USD with contract code 'LP' (Copper) and rolling rule 'F_0'.

sigtech.framework.default_strategy_objects.rolling_lme_futures.lt_lme_comdty_f_0(use_cache: bool = True) RollingLMEFutureStrategy

Define a rolling LME future strategy in USD with contract code 'LT' (Tin) and rolling rule 'F_0'.

sigtech.framework.default_strategy_objects.rolling_lme_futures.lx_lme_comdty_f_0(use_cache: bool = True) RollingLMEFutureStrategy

Define a rolling LME future strategy in USD with contract code 'LX' (Zinc) and rolling rule 'F_0'.

sigtech.framework.default_strategy_objects.rolling_lme_futures.ly_lme_comdty_f_0(use_cache: bool = True) RollingLMEFutureStrategy

Define a rolling LME future strategy in USD with contract code 'LY' (Aluminium Alloy) and rolling rule 'F_0'.