Variables
run_from_portfolio_metric: systematica.portfolio.metrics.PortfolioMetric: Initiated portfolio metric class with default metric config.
check_metrics
| Name | Type | Default | Description |
|---|---|---|---|
metrics | str | -- | | tp.List[str] Performance metrics. |
| Type | Description |
|---|---|
TypeError | If metrics is not a string or list. |
ValueError | If metric has not been configured and is not tunable. |
ValueError | If mixing tunable and non-tunable metrics. |
get_total_returns_nb
| Name | Type | Default | Description |
|---|---|---|---|
close | tp.Array2d | -- | Array of close prices. |
sim_out | SimulationOutputT | -- | Simulation output containing order records. |
| Type | Description |
|---|---|
float | Total returns. |
get_expectancy_nb
| Name | Type | Default | Description |
|---|---|---|---|
close | tp.Array2d | -- | Array of close prices. |
sim_out | SimulationOutputT | -- | Simulation output containing order records. |
| Type | Description |
|---|---|
float | Expectancy. |
get_sharpe_nb
Note on
ddof:- Use
ddof=0for population variance, where you have data for the entire population. - Use
ddof=1for sample variance, to correct for bias when estimating the variance of a population from a sample.
| Name | Type | Default | Description |
|---|---|---|---|
close | tp.Array2d | -- | Array of close prices. |
sim_out | tp.NamedTuple | -- | Simulation output containing returns. |
ann_factor | int | -- | Annualization factor. |
| Type | Description |
|---|---|
float | Sharpe ratio. |
PortfolioMetric
Instance variables
-
all_non_tunable_metrics: List[str]: -
all_tunable_metrics: List[str]: -
registry: <function NamedTuple at 0x10535c180>: Metricvbt.HybridConfigregistry. This registry should have a retrivable metric name as key and schema. ifNone, fallbacks toMETRIC_REGISTRY.
Methods
get_all_metrics
| Name | Type | Default | Description |
|---|---|---|---|
include_non_tunable | bool | False | Whether to include non-tunable metrics. Defaults to False. |
| Type | Description |
|---|---|
List[str] | List of metric keys with valid (non-NaNs) rolling_func values. |
get_all_rolling_metrics
rolling_func.
Optionally include non-tunable metrics based on user choice.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
include_non_tunable | bool | False | Whether to include non-tunable metrics. Defaults toFalse. |
| Type | Description |
|---|---|
List[str] | List of metric keys with valid (non-NaNs) rolling_func values. |
get_all_pf_metrics
| Name | Type | Default | Description |
|---|---|---|---|
include_non_tunable | bool | False | Whether to include non-tunable metrics. Defaults to False. |
| Type | Description |
|---|---|
List[str] | List of metric keys with valid (non-NaNs) pf_func values. |
run
vbt.deep_get_attr. Only includes metrics
with non-None and string-type values.
- Metrics with
Noneor missing are excluded. - The function stops iterating once all requested metrics are found.
- Input validation ensures all provided metrics exist in the registry.
| Name | Type | Default | Description |
|---|---|---|---|
pf | vbt.Portfolio | -- | Portfolio instance. |
metrics | str | -- | or list of str A single metric key or a list of metric keys to look up in the registry. |
key | str | -- | Type of key to fetch. |
kwargs | tp.Kwargs | -- | Additional key-word arguments. |
| Type | Description |
|---|---|
KeyError | If any provided metric key is not found in the registry. |
| Type | Description |
|---|---|
tp.Dict[str, float | tp.SeriesFrame] | Dictionary mapping valid metric keys to their corresponding output values. |
run_rolling_metric
vbt.deep_get_attr. Only
includes metrics with non-None and string-type values.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
pf | vbt.Portfolio | -- | Portfolio instance. |
metrics | str | -- | or list of str A single metric key or a list of metric keys to look up in the registry. |
window | int | -- | Rolling window size. |
minp | int | None | Minimum number of observations required. |
to_numpy | bool | False | If False, returns a pandas DataFrame. Otherwise a numpy array. |
kwargs | tp.Kwargs | -- | Additional key-word arguments. |
| Type | Description |
|---|---|
pd.DataFrame | tp.Array | Rolling output. |
run_pf_metric
vbt.deep_get_attr. Only
includes metrics with non-None and string-type values.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
pf | vbt.Portfolio | -- | Portfolio instance. |
metrics | str | -- | or list of str A single metric key or a list of metric keys to look up in the registry. |
to_dict | bool | False | Change frame format output to dict type if set to True. Raw pd.DataFrame object data otherwise. Frames are retrieve when group_by is False in the vbt.PF configuration and/or when rolling calculation is triggered. Defaults to False. |
to_numpy | bool | False | If False, returns a pandas DataFrame. Otherwise a numpy array. |
kwargs | tp.Kwargs | -- | Additional key-word arguments. |
| Type | Description |
|---|---|
OrderedDict | Float or int if metrics is standalone. OrderedDict mapping valid metric keys to their corresponding output. |

