Skip to content
New: Star-import, signal unraveling, Python 3.12 support, and more

#
logs module

Base class for working with log records.

Order records capture information on simulation logs. Logs are populated when simulating a portfolio and can be accessed as Portfolio.logs.

    >>> from vectorbtpro import *

    >>> np.random.seed(42)
    >>> price = pd.DataFrame({
    ...     'a': np.random.uniform(1, 2, size=100),
    ...     'b': np.random.uniform(1, 2, size=100)
    ... }, index=[datetime(2020, 1, 1) + timedelta(days=i) for i in range(100)])
    >>> size = pd.DataFrame({
    ...     'a': np.random.uniform(-100, 100, size=100),
    ...     'b': np.random.uniform(-100, 100, size=100),
    ... }, index=[datetime(2020, 1, 1) + timedelta(days=i) for i in range(100)])
    >>> pf = vbt.Portfolio.from_orders(price, size, fees=0.01, freq='d', log=True)
    >>> logs = pf.logs

    >>> logs.filled.count()
    a    88
    b    99
    Name: count, dtype: int64

    >>> logs.ignored.count()
    a    0
    b    0
    Name: count, dtype: int64

    >>> logs.rejected.count()
    a    12
    b     1
    Name: count, dtype: int64

## Stats

Hint

See StatsBuilderMixin.stats() and Logs.metrics.

    >>> logs['a'].stats()
    Start                             2020-01-01 00:00:00
    End                               2020-04-09 00:00:00
    Period                              100 days 00:00:00
    Total Records                                     100
    Status Counts: None                                 0
    Status Counts: Filled                              88
    Status Counts: Ignored                              0
    Status Counts: Rejected                            12
    Status Info Counts: None                           88
    Status Info Counts: NoCashLong                     12
    Name: a, dtype: object

StatsBuilderMixin.stats() also supports (re-)grouping:

    >>> logs.stats(group_by=True)
    Start                             2020-01-01 00:00:00
    End                               2020-04-09 00:00:00
    Period                              100 days 00:00:00
    Total Records                                     200
    Status Counts: None                                 0
    Status Counts: Filled                             187
    Status Counts: Ignored                              0
    Status Counts: Rejected                            13
    Status Info Counts: None                          187
    Status Info Counts: NoCashLong                     13
    Name: group, dtype: object

## Plots

Hint

See PlotsBuilderMixin.plots() and Logs.subplots.

This class does not have any subplots.

## logs_attach_field_config ReadonlyConfig

Config of fields to be attached to Logs.

    ReadonlyConfig(
        res_side=dict(
            attach_filters=True
        ),
        res_status=dict(
            attach_filters=True
        ),
        res_status_info=dict(
            attach_filters=True
        )
    )

## logs_field_config ReadonlyConfig

Field config for Logs.

    ReadonlyConfig(
        dtype=np.dtype([
            ('id', 'int64'),
            ('group', 'int64'),
            ('col', 'int64'),
            ('idx', 'int64'),
            ('price_area_open', 'float64'),
            ('price_area_high', 'float64'),
            ('price_area_low', 'float64'),
            ('price_area_close', 'float64'),
            ('st0_cash', 'float64'),
            ('st0_position', 'float64'),
            ('st0_debt', 'float64'),
            ('st0_locked_cash', 'float64'),
            ('st0_free_cash', 'float64'),
            ('st0_val_price', 'float64'),
            ('st0_value', 'float64'),
            ('req_size', 'float64'),
            ('req_price', 'float64'),
            ('req_size_type', 'int64'),
            ('req_direction', 'int64'),
            ('req_fees', 'float64'),
            ('req_fixed_fees', 'float64'),
            ('req_slippage', 'float64'),
            ('req_min_size', 'float64'),
            ('req_max_size', 'float64'),
            ('req_size_granularity', 'float64'),
            ('req_leverage', 'float64'),
            ('req_leverage_mode', 'int64'),
            ('req_reject_prob', 'float64'),
            ('req_price_area_vio_mode', 'int64'),
            ('req_allow_partial', 'bool'),
            ('req_raise_reject', 'bool'),
            ('req_log', 'bool'),
            ('res_size', 'float64'),
            ('res_price', 'float64'),
            ('res_fees', 'float64'),
            ('res_side', 'int64'),
            ('res_status', 'int64'),
            ('res_status_info', 'int64'),
            ('st1_cash', 'float64'),
            ('st1_position', 'float64'),
            ('st1_debt', 'float64'),
            ('st1_locked_cash', 'float64'),
            ('st1_free_cash', 'float64'),
            ('st1_val_price', 'float64'),
            ('st1_value', 'float64'),
            ('order_id', 'int64')
        ]),
        settings=dict(
            id=dict(
                title='Log Id'
            ),
            col=dict(
                title='Column'
            ),
            idx=dict(
                title='Index'
            ),
            group=dict(
                title='Group'
            ),
            price_area_open=dict(
                title='[PA] Open'
            ),
            price_area_high=dict(
                title='[PA] High'
            ),
            price_area_low=dict(
                title='[PA] Low'
            ),
            price_area_close=dict(
                title='[PA] Close'
            ),
            st0_cash=dict(
                title='[ST0] Cash'
            ),
            st0_position=dict(
                title='[ST0] Position'
            ),
            st0_debt=dict(
                title='[ST0] Debt'
            ),
            st0_locked_cash=dict(
                title='[ST0] Locked Cash'
            ),
            st0_free_cash=dict(
                title='[ST0] Free Cash'
            ),
            st0_val_price=dict(
                title='[ST0] Valuation Price'
            ),
            st0_value=dict(
                title='[ST0] Value'
            ),
            req_size=dict(
                title='[REQ] Size'
            ),
            req_price=dict(
                title='[REQ] Price'
            ),
            req_size_type=dict(
                title='[REQ] Size Type',
                mapping=SizeTypeT(
                    Amount=0,
                    Value=1,
                    Percent=2,
                    Percent100=3,
                    ValuePercent=4,
                    ValuePercent100=5,
                    TargetAmount=6,
                    TargetValue=7,
                    TargetPercent=8,
                    TargetPercent100=9
                )
            ),
            req_direction=dict(
                title='[REQ] Direction',
                mapping=DirectionT(
                    LongOnly=0,
                    ShortOnly=1,
                    Both=2
                )
            ),
            req_fees=dict(
                title='[REQ] Fees'
            ),
            req_fixed_fees=dict(
                title='[REQ] Fixed Fees'
            ),
            req_slippage=dict(
                title='[REQ] Slippage'
            ),
            req_min_size=dict(
                title='[REQ] Min Size'
            ),
            req_max_size=dict(
                title='[REQ] Max Size'
            ),
            req_size_granularity=dict(
                title='[REQ] Size Granularity'
            ),
            req_leverage=dict(
                title='[REQ] Leverage'
            ),
            req_leverage_mode=dict(
                title='[REQ] Leverage Mode',
                mapping=LeverageModeT(
                    Lazy=0,
                    Eager=1
                )
            ),
            req_reject_prob=dict(
                title='[REQ] Rejection Prob'
            ),
            req_price_area_vio_mode=dict(
                title='[REQ] Price Area Violation Mode',
                mapping=PriceAreaVioModeT(
                    Ignore=0,
                    Cap=1,
                    Error=2
                )
            ),
            req_allow_partial=dict(
                title='[REQ] Allow Partial'
            ),
            req_raise_reject=dict(
                title='[REQ] Raise Rejection'
            ),
            req_log=dict(
                title='[REQ] Log'
            ),
            res_size=dict(
                title='[RES] Size'
            ),
            res_price=dict(
                title='[RES] Price'
            ),
            res_fees=dict(
                title='[RES] Fees'
            ),
            res_side=dict(
                title='[RES] Side',
                mapping=OrderSideT(
                    Buy=0,
                    Sell=1
                )
            ),
            res_status=dict(
                title='[RES] Status',
                mapping=OrderStatusT(
                    Filled=0,
                    Ignored=1,
                    Rejected=2
                )
            ),
            res_status_info=dict(
                title='[RES] Status Info',
                mapping=OrderStatusInfoT(
                    SizeNaN=0,
                    PriceNaN=1,
                    ValPriceNaN=2,
                    ValueNaN=3,
                    ValueZeroNeg=4,
                    SizeZero=5,
                    NoCash=6,
                    NoOpenPosition=7,
                    MaxSizeExceeded=8,
                    RandomEvent=9,
                    CantCoverFees=10,
                    MinSizeNotReached=11,
                    PartialFill=12
                )
            ),
            st1_cash=dict(
                title='[ST1] Cash'
            ),
            st1_position=dict(
                title='[ST1] Position'
            ),
            st1_debt=dict(
                title='[ST1] Debt'
            ),
            st1_locked_cash=dict(
                title='[ST1] Locked Cash'
            ),
            st1_free_cash=dict(
                title='[ST1] Free Cash'
            ),
            st1_val_price=dict(
                title='[ST1] Valuation Price'
            ),
            st1_value=dict(
                title='[ST1] Value'
            ),
            order_id=dict(
                title='Order Id',
                mapping='ids'
            )
        )
    )

## Logs class

    Logs(
        wrapper,
        records_arr,
        open=None,
        high=None,
        low=None,
        close=None,
        **kwargs
    )

Extends PriceRecords for working with log records.

Superclasses

- Analyzable
- AttrResolverMixin
- Cacheable
- Chainable
- Comparable
- Configured
- ExtPandasIndexer
- HasSettings
- IndexingBase
- PandasIndexer
- Pickleable
- PlotsBuilderMixin
- Prettified
- PriceRecords
- Records
- RecordsWithFields
- StatsBuilderMixin
- Wrapping

Inherited members

- AttrResolverMixin.deep_getattr()
- AttrResolverMixin.post_resolve_attr()
- AttrResolverMixin.pre_resolve_attr()
- AttrResolverMixin.resolve_attr()
- AttrResolverMixin.resolve_shortcut_attr()
- Cacheable.get_ca_setup()
- Chainable.pipe()
- Configured.copy()
- Configured.equals()
- Configured.get_writeable_attrs()
- Configured.prettify()
- Configured.resolve_merge_kwargs()
- Configured.update_config()
- HasSettings.get_path_setting()
- HasSettings.get_path_settings()
- HasSettings.get_setting()
- HasSettings.get_settings()
- HasSettings.has_path_setting()
- HasSettings.has_path_settings()
- HasSettings.has_setting()
- HasSettings.has_settings()
- HasSettings.reset_settings()
- HasSettings.resolve_setting()
- HasSettings.resolve_settings_paths()
- HasSettings.set_settings()
- IndexingBase.indexing_setter_func()
- PandasIndexer.xs()
- Pickleable.decode_config()
- Pickleable.decode_config_node()
- Pickleable.dumps()
- Pickleable.encode_config()
- Pickleable.encode_config_node()
- Pickleable.file_exists()
- Pickleable.getsize()
- Pickleable.load()
- Pickleable.loads()
- Pickleable.modify_state()
- Pickleable.resolve_file_path()
- Pickleable.save()
- PlotsBuilderMixin.build_subplots_doc()
- PlotsBuilderMixin.override_subplots_doc()
- PlotsBuilderMixin.plots()
- PriceRecords.bar_close
- PriceRecords.bar_close_time
- PriceRecords.bar_high
- PriceRecords.bar_low
- PriceRecords.bar_open
- PriceRecords.bar_open_time
- PriceRecords.close
- PriceRecords.cls_dir
- PriceRecords.col_arr
- PriceRecords.col_mapper
- PriceRecords.column_only_select
- PriceRecords.config
- PriceRecords.field_names
- PriceRecords.from_records()
- PriceRecords.get_bar_close()
- PriceRecords.get_bar_close_time()
- PriceRecords.get_bar_high()
- PriceRecords.get_bar_low()
- PriceRecords.get_bar_open()
- PriceRecords.get_bar_open_time()
- PriceRecords.group_select
- PriceRecords.high
- PriceRecords.id_arr
- PriceRecords.idx_arr
- PriceRecords.iloc
- PriceRecords.indexing_func()
- PriceRecords.indexing_func_meta()
- PriceRecords.indexing_kwargs
- PriceRecords.loc
- PriceRecords.low
- PriceRecords.open
- PriceRecords.pd_mask
- PriceRecords.range_only_select
- PriceRecords.rec_state
- PriceRecords.records
- PriceRecords.records_arr
- PriceRecords.records_readable
- PriceRecords.resample()
- PriceRecords.resolve_column_stack_kwargs()
- PriceRecords.resolve_row_stack_kwargs()
- PriceRecords.self_aliases
- PriceRecords.values
- PriceRecords.wrapper
- PriceRecords.xloc
- Records.apply()
- Records.apply_mask()
- Records.build_field_config_doc()
- Records.column_stack()
- Records.column_stack_records_arrs()
- Records.count()
- Records.coverage_map()
- Records.first_n()
- Records.get_apply_mapping_arr()
- Records.get_apply_mapping_str_arr()
- Records.get_column_stack_record_indices()
- Records.get_field_arr()
- Records.get_field_mapping()
- Records.get_field_name()
- Records.get_field_setting()
- Records.get_field_title()
- Records.get_map_field()
- Records.get_map_field_to_columns()
- Records.get_map_field_to_index()
- Records.get_pd_mask()
- Records.get_row_stack_record_indices()
- Records.has_conflicts()
- Records.is_sorted()
- Records.last_n()
- Records.map()
- Records.map_array()
- Records.map_field()
- Records.override_field_config_doc()
- Records.prepare_customdata()
- Records.random_n()
- Records.replace()
- Records.resample_meta()
- Records.resample_records_arr()
- Records.row_stack()
- Records.row_stack_records_arrs()
- Records.select_cols()
- Records.sort()
- Records.to_readable()
- StatsBuilderMixin.build_metrics_doc()
- StatsBuilderMixin.override_metrics_doc()
- StatsBuilderMixin.stats()
- Wrapping.regroup()
- Wrapping.resolve_self()
- Wrapping.resolve_stack_kwargs()
- Wrapping.select_col()
- Wrapping.select_col_from_obj()
- Wrapping.split()

### col property

Mapped array of the field `col`.

### field_config class variable

Field config of Logs.

    HybridConfig(
        dtype=np.dtype([
            ('id', 'int64'),
            ('group', 'int64'),
            ('col', 'int64'),
            ('idx', 'int64'),
            ('price_area_open', 'float64'),
            ('price_area_high', 'float64'),
            ('price_area_low', 'float64'),
            ('price_area_close', 'float64'),
            ('st0_cash', 'float64'),
            ('st0_position', 'float64'),
            ('st0_debt', 'float64'),
            ('st0_locked_cash', 'float64'),
            ('st0_free_cash', 'float64'),
            ('st0_val_price', 'float64'),
            ('st0_value', 'float64'),
            ('req_size', 'float64'),
            ('req_price', 'float64'),
            ('req_size_type', 'int64'),
            ('req_direction', 'int64'),
            ('req_fees', 'float64'),
            ('req_fixed_fees', 'float64'),
            ('req_slippage', 'float64'),
            ('req_min_size', 'float64'),
            ('req_max_size', 'float64'),
            ('req_size_granularity', 'float64'),
            ('req_leverage', 'float64'),
            ('req_leverage_mode', 'int64'),
            ('req_reject_prob', 'float64'),
            ('req_price_area_vio_mode', 'int64'),
            ('req_allow_partial', 'bool'),
            ('req_raise_reject', 'bool'),
            ('req_log', 'bool'),
            ('res_size', 'float64'),
            ('res_price', 'float64'),
            ('res_fees', 'float64'),
            ('res_side', 'int64'),
            ('res_status', 'int64'),
            ('res_status_info', 'int64'),
            ('st1_cash', 'float64'),
            ('st1_position', 'float64'),
            ('st1_debt', 'float64'),
            ('st1_locked_cash', 'float64'),
            ('st1_free_cash', 'float64'),
            ('st1_val_price', 'float64'),
            ('st1_value', 'float64'),
            ('order_id', 'int64')
        ]),
        settings=dict(
            id=dict(
                name='id',
                title='Log Id',
                mapping='ids'
            ),
            col=dict(
                name='col',
                title='Column',
                mapping='columns',
                as_customdata=False
            ),
            idx=dict(
                name='idx',
                title='Index',
                mapping='index'
            ),
            group=dict(
                title='Group'
            ),
            price_area_open=dict(
                title='[PA] Open'
            ),
            price_area_high=dict(
                title='[PA] High'
            ),
            price_area_low=dict(
                title='[PA] Low'
            ),
            price_area_close=dict(
                title='[PA] Close'
            ),
            st0_cash=dict(
                title='[ST0] Cash'
            ),
            st0_position=dict(
                title='[ST0] Position'
            ),
            st0_debt=dict(
                title='[ST0] Debt'
            ),
            st0_locked_cash=dict(
                title='[ST0] Locked Cash'
            ),
            st0_free_cash=dict(
                title='[ST0] Free Cash'
            ),
            st0_val_price=dict(
                title='[ST0] Valuation Price'
            ),
            st0_value=dict(
                title='[ST0] Value'
            ),
            req_size=dict(
                title='[REQ] Size'
            ),
            req_price=dict(
                title='[REQ] Price'
            ),
            req_size_type=dict(
                title='[REQ] Size Type',
                mapping=SizeTypeT(
                    Amount=0,
                    Value=1,
                    Percent=2,
                    Percent100=3,
                    ValuePercent=4,
                    ValuePercent100=5,
                    TargetAmount=6,
                    TargetValue=7,
                    TargetPercent=8,
                    TargetPercent100=9
                )
            ),
            req_direction=dict(
                title='[REQ] Direction',
                mapping=DirectionT(
                    LongOnly=0,
                    ShortOnly=1,
                    Both=2
                )
            ),
            req_fees=dict(
                title='[REQ] Fees'
            ),
            req_fixed_fees=dict(
                title='[REQ] Fixed Fees'
            ),
            req_slippage=dict(
                title='[REQ] Slippage'
            ),
            req_min_size=dict(
                title='[REQ] Min Size'
            ),
            req_max_size=dict(
                title='[REQ] Max Size'
            ),
            req_size_granularity=dict(
                title='[REQ] Size Granularity'
            ),
            req_leverage=dict(
                title='[REQ] Leverage'
            ),
            req_leverage_mode=dict(
                title='[REQ] Leverage Mode',
                mapping=LeverageModeT(
                    Lazy=0,
                    Eager=1
                )
            ),
            req_reject_prob=dict(
                title='[REQ] Rejection Prob'
            ),
            req_price_area_vio_mode=dict(
                title='[REQ] Price Area Violation Mode',
                mapping=PriceAreaVioModeT(
                    Ignore=0,
                    Cap=1,
                    Error=2
                )
            ),
            req_allow_partial=dict(
                title='[REQ] Allow Partial'
            ),
            req_raise_reject=dict(
                title='[REQ] Raise Rejection'
            ),
            req_log=dict(
                title='[REQ] Log'
            ),
            res_size=dict(
                title='[RES] Size'
            ),
            res_price=dict(
                title='[RES] Price'
            ),
            res_fees=dict(
                title='[RES] Fees'
            ),
            res_side=dict(
                title='[RES] Side',
                mapping=OrderSideT(
                    Buy=0,
                    Sell=1
                )
            ),
            res_status=dict(
                title='[RES] Status',
                mapping=OrderStatusT(
                    Filled=0,
                    Ignored=1,
                    Rejected=2
                )
            ),
            res_status_info=dict(
                title='[RES] Status Info',
                mapping=OrderStatusInfoT(
                    SizeNaN=0,
                    PriceNaN=1,
                    ValPriceNaN=2,
                    ValueNaN=3,
                    ValueZeroNeg=4,
                    SizeZero=5,
                    NoCash=6,
                    NoOpenPosition=7,
                    MaxSizeExceeded=8,
                    RandomEvent=9,
                    CantCoverFees=10,
                    MinSizeNotReached=11,
                    PartialFill=12
                )
            ),
            st1_cash=dict(
                title='[ST1] Cash'
            ),
            st1_position=dict(
                title='[ST1] Position'
            ),
            st1_debt=dict(
                title='[ST1] Debt'
            ),
            st1_locked_cash=dict(
                title='[ST1] Locked Cash'
            ),
            st1_free_cash=dict(
                title='[ST1] Free Cash'
            ),
            st1_val_price=dict(
                title='[ST1] Valuation Price'
            ),
            st1_value=dict(
                title='[ST1] Value'
            ),
            order_id=dict(
                title='Order Id',
                mapping='ids'
            )
        )
    )

Returns `Logs._field_config`, which gets (hybrid-) copied upon creation of each instance. Thus, changing this config won't affect the class.

To change fields, you can either change the config in-place, override this property, or overwrite the instance variable `Logs._field_config`.

### group property

Mapped array of the field `group`.

### id property

Mapped array of the field `id`.

### idx property

Mapped array of the field `idx`.

### metrics class variable

Metrics supported by Logs.

    HybridConfig(
        start=dict(
            title='Start',
            calc_func=<function Logs.<lambda> at 0x7ff34bef39a0>,
            agg_func=None,
            tags='wrapper'
        ),
        end=dict(
            title='End',
            calc_func=<function Logs.<lambda> at 0x7ff34bef3a30>,
            agg_func=None,
            tags='wrapper'
        ),
        period=dict(
            title='Period',
            calc_func=<function Logs.<lambda> at 0x7ff34bef3ac0>,
            apply_to_timedelta=True,
            agg_func=None,
            tags='wrapper'
        ),
        total_records=dict(
            title='Total Records',
            calc_func='count',
            tags='records'
        ),
        res_status_counts=dict(
            title='Status Counts',
            calc_func='res_status.value_counts',
            incl_all_keys=True,
            post_calc_func=<function Logs.<lambda> at 0x7ff34bef3b50>,
            tags=[
                'logs',
                'res_status',
                'value_counts'
            ]
        ),
        res_status_info_counts=dict(
            title='Status Info Counts',
            calc_func='res_status_info.value_counts',
            post_calc_func=<function Logs.<lambda> at 0x7ff34bef3be0>,
            tags=[
                'logs',
                'res_status_info',
                'value_counts'
            ]
        )
    )

Returns `Logs._metrics`, which gets (hybrid-) copied upon creation of each instance. Thus, changing this config won't affect the class.

To change metrics, you can either change the config in-place, override this property, or overwrite the instance variable `Logs._metrics`.

### order_id property

Mapped array of the field `order_id`.

### plots_defaults property

Defaults for PlotsBuilderMixin.plots().

Merges PriceRecords.plots_defaults and `plots` from logs.

### price_area_close property

Mapped array of the field `price_area_close`.

### price_area_high property

Mapped array of the field `price_area_high`.

### price_area_low property

Mapped array of the field `price_area_low`.

### price_area_open property

Mapped array of the field `price_area_open`.

### req_allow_partial property

Mapped array of the field `req_allow_partial`.

### req_direction property

Mapped array of the field `req_direction`.

### req_fees property

Mapped array of the field `req_fees`.

### req_fixed_fees property

Mapped array of the field `req_fixed_fees`.

### req_leverage property

Mapped array of the field `req_leverage`.

### req_leverage_mode property

Mapped array of the field `req_leverage_mode`.

### req_log property

Mapped array of the field `req_log`.

### req_max_size property

Mapped array of the field `req_max_size`.

### req_min_size property

Mapped array of the field `req_min_size`.

### req_price property

Mapped array of the field `req_price`.

### req_price_area_vio_mode property

Mapped array of the field `req_price_area_vio_mode`.

### req_raise_reject property

Mapped array of the field `req_raise_reject`.

### req_reject_prob property

Mapped array of the field `req_reject_prob`.

### req_size property

Mapped array of the field `req_size`.

### req_size_granularity property

Mapped array of the field `req_size_granularity`.

### req_size_type property

Mapped array of the field `req_size_type`.

### req_slippage property

Mapped array of the field `req_slippage`.

### res_fees property

Mapped array of the field `res_fees`.

### res_price property

Mapped array of the field `res_price`.

### res_side property

Mapped array of the field `res_side`.

### res_side_buy property

Records filtered by `res_side == 0`.

### res_side_sell property

Records filtered by `res_side == 1`.

### res_size property

Mapped array of the field `res_size`.

### res_status property

Mapped array of the field `res_status`.

### res_status_filled property

Records filtered by `res_status == 0`.

### res_status_ignored property

Records filtered by `res_status == 1`.

### res_status_info property

Mapped array of the field `res_status_info`.

### res_status_info_cant_cover_fees property

Records filtered by `res_status_info == 10`.

### res_status_info_max_size_exceeded property

Records filtered by `res_status_info == 8`.

### res_status_info_min_size_not_reached property

Records filtered by `res_status_info == 11`.

### res_status_info_no_cash property

Records filtered by `res_status_info == 6`.

### res_status_info_no_open_position property

Records filtered by `res_status_info == 7`.

### res_status_info_partial_fill property

Records filtered by `res_status_info == 12`.

### res_status_info_price_nan property

Records filtered by `res_status_info == 1`.

### res_status_info_random_event property

Records filtered by `res_status_info == 9`.

### res_status_info_size_nan property

Records filtered by `res_status_info == 0`.

### res_status_info_size_zero property

Records filtered by `res_status_info == 5`.

### res_status_info_val_price_nan property

Records filtered by `res_status_info == 2`.

### res_status_info_value_nan property

Records filtered by `res_status_info == 3`.

### res_status_info_value_zero_neg property

Records filtered by `res_status_info == 4`.

### res_status_rejected property

Records filtered by `res_status == 2`.

### st0_cash property

Mapped array of the field `st0_cash`.

### st0_debt property

Mapped array of the field `st0_debt`.

### st0_free_cash property

Mapped array of the field `st0_free_cash`.

### st0_locked_cash property

Mapped array of the field `st0_locked_cash`.

### st0_position property

Mapped array of the field `st0_position`.

### st0_val_price property

Mapped array of the field `st0_val_price`.

### st0_value property

Mapped array of the field `st0_value`.

### st1_cash property

Mapped array of the field `st1_cash`.

### st1_debt property

Mapped array of the field `st1_debt`.

### st1_free_cash property

Mapped array of the field `st1_free_cash`.

### st1_locked_cash property

Mapped array of the field `st1_locked_cash`.

### st1_position property

Mapped array of the field `st1_position`.

### st1_val_price property

Mapped array of the field `st1_val_price`.

### st1_value property

Mapped array of the field `st1_value`.

### stats_defaults property

Defaults for StatsBuilderMixin.stats().

Merges PriceRecords.stats_defaults and `stats` from logs.

### subplots class variable

Subplots supported by Logs.

    HybridConfig()

Returns `Logs._subplots`, which gets (hybrid-) copied upon creation of each instance. Thus, changing this config won't affect the class.

To change subplots, you can either change the config in-place, override this property, or overwrite the instance variable `Logs._subplots`.

#### Cookie consent

We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.

- Google Analytics
- GitHub

Manage settings