BasketConfig
BasketConfig#
-
class sigtech.framework.strategies.basket_config.BasketConfig
Wrapper for discretionary strategy inputs.
This class is supposed to be a general class for strategy configuration, but at the moment it’s only being used for strategies.flexible_basket.FlexibleBasket.
Once another Config use-case comes along, you’ll want to factor out all methods (except _invent_sector and _invent_ticker) into a subclass, something like
-
input_dict: dict
-
get()
Currently, the input_dict is stored in ‘row-orientation’. Convert it to column-orientation.
-
static allocation_eq(left_alloc, right_alloc)
Compare two (allocation_type, allocation_list) pairs.
Allocation lists with the same values but different ordering are considered equal.
- Parameters
left_alloc – First allocation pair.
right_alloc – Second allocation pair.
- Returns
bool.
-
save_csv(output_filepath=None)
Create a CSV suitable for processing by
sigtech.framework.tasks.static_changes.static_changes_handler.process_single_file()
.
-
update_allocation_for_date(date, allocation_type, allocation_list)
Update a copy of the input_dict, validate, then replace if passes.
- Parameters
allocation_type – One of
'weight'
,'weight_selective'
,'variance_allocation'
or'variance_allocation_selective'
.allocation_list – e.g.
[(0.1, 'STRAT1 STRATEGY'), (0.05, 'STRAT2 STRATEGY')]
.
-
replace_ticker(old_ticker, new_ticker)
Update a copy of the input_dict, replacing ticker, validate, then replace if passes.
- Parameters
old_ticker – Old ticker to replace.
new_ticker – Replacement ticker.
-
full_allocation()
Calculate the fully-specified allocation from _selective (diff-style) allocation types.
-
as_timeseries()
Return a time-series version of the full allocation.
-
available_data_providers(entitled_only=True) Optional[List[str]]
Available data providers for this object. Bool to return entitled providers only
-
property cache_name: str
Cache name of this object.
-
property class_name
Class name of this object.
-
property class_short_name
Short name of the object class.
-
clear_cached_data()
Clear all the cached data of the object.
-
clone_object(params=None)
Return a clone of the object with amended parameters.
- Parameters
params – Optional dictionary of parameters to override.
- Returns
New object.
-
compute_dependencies(root_dependency: Optional[sigtech.framework.internal.infra.mu.graph.registry.factory.Dependency] = None)
Compute these dependencies - triggers MDS requests
-
static convert_dtypes(clz)
Class decorator to convert classes’ BaseType into variable annotations (PEP-526), and to generate __aliases__ based on BaseType.db_name when required.
-
data_dict()
Return the object attributes in a dict.
-
property data_source
Field used when retrieving history.
-
dependencies(input_dependency: Optional[sigtech.framework.internal.infra.mu.graph.registry.factory.Dependency] = None, valuation_currency: Optional[str] = None, use_start: bool = True) list[sigtech.framework.internal.infra.mu.graph.registry.factory.Dependency]
Returns a list of Dependency
- Parameters
input_dependency – A Dependency object representing the root of the dependency tree to be returned.
valuation_currency – If supplied, include the dependencies required to output the data in this currency.
use_start – If False, return only dependencies required to calculate an earliest start date - self.start_date will be None in this case.
- Returns
List of Dependency objects representing the current level in the dependency tree.
-
property dependency_type
Should return GraphNodeType. Return None to autodetect based on result of dependencies()
-
property env: sigtech.framework.config.config.ConfiguredEnvironment
Return the configured environment.
-
env_date_change(old_env_dt: datetime.datetime, new_env_dt: datetime.datetime, live_data_update=None)
Routine called after the environment date is changed.
- Parameters
old_env_dt – Old datetime (tz aware).
new_env_dt – New datetime (tz aware).
live_data_update – Live streaming data associated with the environment date change.
-
finalize_for_comparison()
Method to call to ensure all data dict values are finalized prior to doing object comparisons.
-
classmethod from_dictionary(dct: dict[str, Any], cache: bool = True, identifier: Optional[sigtech.framework.infra.data_adapter.identifier.Identifier] = None, env: Optional[sigtech.framework.config.config.ConfiguredEnvironment] = None, **kwargs)
Factory method to create object using data dictionary
-
classmethod get_names(sort_by_group: Optional[bool] = False, include_db: Optional[bool] = True, include_local: Optional[bool] = True, include_children: Optional[bool] = False, ignore_unmapped: Optional[bool] = True) list[str]
Return an ordered list of object names associated with the class.
- Parameters
sort_by_group – If set, the list is first ordered by sector/group, if applies, e.g. commodity or index futures (default is False).
include_db – If set, include objects available from the database (default is True).
include_local – If set, include objects available in the local environment (default is True).
include_children – If set, include objects available from child classes (default is False).
ignore_unmapped – If set, ignore errors due to unmapped database objects (default is True).
- Returns
List of object names.
-
property identifier: sigtech.framework.infra.data_adapter.identifier.Identifier
Return the object identifier.
-
info() dict
Return a dictionary with useful object information.
-
property input_parameters
Values of initial input parameters entered when creating the instance.
-
property internal_id
Ticker - i.e. part of name determining content of the class. For types with saved reference data - ticker will be
self._ticker
. For software types - ticker should be calculated.
-
property is_unmapped
Check if the object is not mapped.
-
property live_supported: bool
Flag for live supported objects.
-
property name
Primary name by which the
FrameworkObject
is identified. If reference information (or e.g. corresponding time series) are stored in the DB, then this name will be used.
-
print_dependencies(root_dependency: Optional[sigtech.framework.internal.infra.mu.graph.registry.factory.Dependency] = None, resolve_future_dependencies: bool = True, fields: Optional[list] = None)
Pretty print dependency tree :param root_dependency: starting dependency of the tree. :param resolve_future_dependencies: resolve future dependencies before printing. If ‘false’ nothing get printed. :param fields: additional fields to extract from dependencies object. Default fields are
product_type
,currency
,frequency
anddata_source
. To get the list of available fields for an object you can use thedata_dict()
method.
-
property product_type
Return the
product_type
property of this object.
-
property sector
Sector used on BBG, or the class ID for SIG instruments.
-
static sort_key_static(name)
Convert a name to the sort key as of Portfolio Presentation Guidelines for performance reasons.
- Parameters
name – Input name.
- Returns
Tuple (sort key, length of sort key, input name).
-
textual_representation()
Return a printable representation of this object.
-
validate()
Validation routine adding checks that will be run on object creation.
-
instrument_id: Optional[int]