MacroEconomicFix
MacroEconomicFix#
-
class sigtech.framework.instruments.fixes.MacroEconomicFix
A class representing a macroeconomic fixing.
-
fixing_source: str
-
data_provider: str
-
description: str
-
country: str
-
unit: str
-
group_name: str
-
schedule_start: Optional[datetime.date]
-
metric: str
-
property data_source_all
Data sources of the instrument.
-
property due_time
Required for parent class
- Returns
None
-
property timezone: str
Returns the timezone
- Returns
the timezone identifier as a string
-
holidays()
Returns the name of the holiday calendar associated with this Fix
- Returns
The name of the holiday calendar
-
macro(field: str = 'value', date_index: bool = False, revision_version: str = 'last', adjustment: str = 'ALL', frequency: str = 'ALL', return_df: bool = True, metric: str = 'ALL') deprecated
Method to retrieve a
pd.DataFrame
of the macro data.- Parameters
field – Optional - Field to return, ‘lastPrice’ by default
date_index – Optional - Convert the timestamp index to dates.
revision_version – The revision version to return. Permissible values are ‘last’ (default), ‘first’ and ‘all’ (returns all revisions)
adjustment – The adjustment to return, ‘all’ by default. List available adjustments with .adjustments()
frequency – The frequency to return, ‘all’ by default. List available frequencies with .frequencies()
metric – The metric to return, ‘all’ by default. List available metrics with .metrics()
return_df – Whether to return a
pd.DataFrame
orpd.Series
object. True (pd.DataFrame) by default.
- Returns
pd.DataFrame
by default,pd.Series
optionally
-
data_df(data_point: Optional[sigtech.framework.infra.data_adapter.common.DataPoint] = None, multi_index: bool = False, drop_nan_cols: bool = False, pretty_print=False) pandas.core.frame.DataFrame
Return a DataFrame containing all data available for this object.
- Parameters
data_point – Optional data point used to load the object history (if applicable).
multi_index – If set to True, rows are uniquely indexed by a multi index (if applicable). Default is False.
drop_nan_cols – If set to True, all-NaN columns are dropped. Default is False.
pretty_print – If set to True, formatting is added to columns names and data values. Rates will be represented as percentage number instead of decimal number (e.g. 3.5 instead of 0.035).
- Returns
pandas DataFrame.
-
schedule_builder(start, end, frequency: str = 'ALL', adjustment: str = 'ALL')
Builds the schedule of days on which data was released, for all datapoints held, and returns it
- Parameters
start – Unused
end – Unused
frequency – Frequency of the fix
adjustment – Adjustment of the fix
- Returns
Schedule object
-
adjustments(frequency: str = 'ALL') list[str]
Returns the available adjustments for the MacroEconomic fix, and optionally frequency
- Parameters
frequency – The frequency of results to query in
- Returns
List of the available adjustments
-
frequencies(adjustment: str = 'ALL') list[str]
Returns the available frequencies present for the MacroEconomic fix and optionally adjustment
- Parameters
adjustment – The results’ adjustment to query within
- Returns
List of the available frequencies
-
metrics(frequency: str = 'ALL', adjustment: str = 'ALL') list[str]
Returns the available metrics present for the MacroEconomic fix
- Parameters
frequency – The frequency of results to query in
adjustment – The results’ adjustment to query in
- Returns
List of the available metrics
-
history(field: str = 'LastPrice', adjust_for_delay: bool = False, date_index: bool = False, data_point: Optional[sigtech.framework.infra.data_adapter.common.DataPoint] = None, datetime_index: bool = False) Union[pandas.core.series.Series, pandas.core.frame.DataFrame]
Method to retrieve time series for objects If the given field does not exist, an empty series will be returned.
- Parameters
field – Optional - Which revision of a date’s reading to use. Must be one of
adjust_for_delay – Not supported
date_index – Optional - Convert the timestamp index to dates.
data_point – Optional data point, not fully supported
datetime_index – Optional - Add time and UTC timezone to the returned series index
- Returns
pd.Series
.
-
history_df(fields: list[str] = None, data_point: sigtech.framework.infra.data_adapter.common.DataPoint = None, multicolumn: bool = False, revision_version: str = 'last', adjustment: str = 'ALL', frequency: str = 'ALL', metric: str = 'ALL') deprecated
Method to retrieve a
pd.DataFrame
of the historical macroeconomic data.- Parameters
fields – list of fields. If not supplied, self.history_fields will be used
data_point – optional data point used to load the object history.
multicolumn – If
True
(default) return apd.DataFrame
with columns aspd.MultiIndex
, otherwise, ifFalse
return the samepd.DataFrame
with the columns simply asfields
.revision_version – The revision version to return. Permissible values are ‘last’ (default), ‘first’ and ‘all’ (returns all revisions).
adjustment – The adjustment to return, ‘all’ by default. List available adjustments with .adjustments()
frequency – The frequency to return, ‘all’ by default. List available frequencies with .frequencies()
metric – The metric to return, ‘all’ by default. List available metrics with .metrics()
- Returns
pd.DataFrame
.
-
add_custom_history(history: pandas.core.series.Series, field: str = 'LastPrice', data_point: Optional[sigtech.framework.infra.data_adapter.common.DataPoint] = None)
Add custom history data for this object. If multiple, conflicting custom histories are added only the last addition will be returned from
history
.- Parameters
history –
pd.Series
of custom history with index as tz-naive,pd.DatetimeIndex
dates.field – Name of history field to overwrite.
data_point – Optional
DataPoint
to specify timing of custom history.
-
after_history_func()
-
property allowed_clean_sparse_fields
List of fields that are allowed to have
na
values on clean history.
-
property asset_description: str
String representing the underlying asset, or None if no assets exist.
-
property available_data_points: Optional[list[sigtech.framework.infra.data_adapter.common.DataPoint]]
Available data points for this object.
-
available_data_providers(entitled_only=True) Optional[List[str]]
Available data providers for this object. Bool to return entitled providers only
-
property base_name
Primary name used to identify the object.
-
cache_history(fields: list, data_point: sigtech.framework.infra.data_adapter.common.DataPoint, start_dt: Optional[datetime.datetime] = None, end_dt: Optional[datetime.datetime] = None, **kwargs)
Ensure history data is cached
-
property cache_name: str
Cache name of this object.
-
calendar_schedule() sigtech.framework.schedules.schedule.Schedule
A calendar schedule - a schedule that is corresponding to a history schedule, but without min and max dates set.
- Returns
Calendar schedule instance for the instrument
-
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_available(d: Optional[datetime.date] = None) bool
Method to indicate if pricing data is available for a given date.
- Parameters
d – Date of interest (optional), if not provided it will take as of date of the environment.
-
data_dict()
Return the object attributes in a dict.
-
property data_format
Return the data format associated with sparse history, i.e.
ROWISE
orCOLUMNAR
.
-
property data_point
Field used when retrieving history.
-
property data_source
Data provider of the instrument.
-
data_validation(sparse_series)
Additional data checks can be implemented in sub classes here.
-
property default_data_point
Default data point for this object.
-
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.
-
group() any
Group of this object.
-
has_preloaded_history(fields=None, data_point=None)
Check if the object has preloaded history.
-
history_dates()
Return all the dates we should have actual history values.
-
history_dates_actual()
Return all the dates we have actual history values.
-
history_dates_eventual()
Return all the dates we will eventually have history values.
-
history_end_date() datetime.date
Eventual history end date, truncated to the as of date - the day on which history should end.
-
history_end_date_actual()
The last date we have an actual value for.
-
history_end_date_eventual() datetime.date
Last date for which data will be available - typically
date.max
if no end date set.
-
history_end_timestamp() pandas._libs.tslibs.timestamps.Timestamp
- Returns
First timestamp for which data should be available
-
property history_fields: list[str]
The fields of history retrieved for this instrument.
-
history_schedule() sigtech.framework.schedules.schedule.Schedule
Object describing dates on which history is available and the corresponding delivery times.
- Returns
History schedule instance for the instrument.
-
history_start_date() datetime.date
First date for which data should be available.
-
history_start_timestamp() pandas._libs.tslibs.timestamps.Timestamp
- Returns
First timestamp for which data should be available
-
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.
-
intraday_history(field=None, period=None, start_dt=None, end_dt=None, daily_timeseries_time=None, daily_timeseries_tz=None, filter_by_trading_sessions=False, timezone=None, convert_yield_to_price=True)
Retrieve intraday history for this instrument as a Series.
- Parameters
field – field name in self.intraday_history_fields.
period – a dtm.timedelta giving the desired periodicity of the data.
start_dt – optional tz-aware dtm.datetime giving a desired start point.
end_dt – optional tz-aware dtm.datetime giving a desired end point.
daily_timeseries_time – if supplied, the intraday data will be down-sampled to daily data snapped at this time.
daily_timeseries_tz – timezone for the above. Optional, if not supplied defaults to self.valuation_tzinfo
filter_by_trading_sessions – If
False ``(default), return all available data. If ``True
return data during the main trading session. If a string/list(string), return data during the trading session(s) of that name according toself.group().session_data()
. See intraday_trading_sessions() for list of sessions.timezone – set the timezone of the returned series to this value
convert_yield_to_price – applies yield to price conversion for yield quoted futures, e.g. AUD bond futures
- Returns
A (possibly sparse) pd.Series with a DateTimeIndex. Times should be tz-aware UTC.
-
intraday_history_df(fields=None, period=None, start_dt=None, end_dt=None, daily_timeseries_time=None, daily_timeseries_tz=None, filter_by_trading_sessions=False, timezone=None, convert_yield_to_price=True)
Retrieve intraday history for this instrument as a dataframe.
- Parameters
fields – a list of field names all in self.intraday_history_fields.
period – a dtm.timedelta giving the desired periodicity of the data.
start_dt – optional tz-aware dtm.datetime giving a desired start point.
end_dt – optional tz-aware dtm.datetime giving a desired end point.
daily_timeseries_time – if supplied, the intraday data will be down-sampled to daily data snapped at this time.
daily_timeseries_tz – timezone for the above. Optional, if not supplied defaults to self.valuation_tzinfo
filter_by_trading_sessions – If
False ``(default), return all available data. If ``True
return data during the main trading session. If a string/list(string), return data during the trading session(s) of that name according toself.group().session_data()
timezone – set the timezone of the returned dataframe to this value
convert_yield_to_price – applies yield to price conversion for yield quoted futures, e.g. AUD bond futures
- Returns
A (possibly sparse) pd.DataFrame with a DateTimeIndex. Times should be tz-unaware UTC.
-
property intraday_history_fields: list[str]
The intraday fields of history retrieved for this instrument.
-
intraday_trading_sessions()
Gets ths list of trading sessions available as per the Copp-Clarke session data for this product group
-
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.
-
property prime_history_field: str
The main history field returned by default.
-
property prime_intraday_history_field
The main intraday history field returned by default.
-
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.
-
publication_delay() str
Publication delay of data for this instrument.
-
realign_history(series)
Realign history series to proper business days.
- Parameters
series – Input series.
- Returns
Realigned history series.
-
property sector
Sector used on BBG, or the class ID for SIG instruments.
-
set_preloaded_history(data) None
Set the preloaded history of the object.
- Parameters
data – History data.
-
set_sparse_history(data) None
Set the sparse history of the object.
- Parameters
data – History data.
-
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).
-
property supplementary_fields: list[str]
Additional fields available for the group.
-
textual_representation()
Return a printable representation of this object.
-
trade_schedule() sigtech.framework.schedules.schedule.Schedule
Schedule giving trade dates + last time at which we can trade for that date (i.e. notice time for funds).
- Returns
Trade schedule instance for the instrument
-
validate()
Validation routine adding checks that will be run on object creation.
-
wait_for_live_data(period: Optional[Union[datetime.datetime, str]] = None)
Waits until live data is collected up to and including env.asofdatetime :param period: period of the live intraday data to wait for (defaults to 1 minute)
-
price_factor: Optional[float]
-
use_price_factor: Optional[bool]
-
intraday_times: Optional[list]
-
intraday_tz_str: Optional[str]
-
instrument_id: Optional[int]