Skip to content

accessors module

Root Pandas accessors of vectorbtpro.

An accessor adds additional "namespace" to pandas objects.

The vectorbtpro.accessors registers a custom vbt accessor on top of each pd.Index, pd.Series, and pd.DataFrame object. It is the main entry point for all other accessors:

vbt.base.accessors.BaseIDX/SR/DFAccessor       -> pd.Index/Series/DataFrame.vbt.*
vbt.generic.accessors.GenericSR/DFAccessor     -> pd.Series/DataFrame.vbt.*
vbt.signals.accessors.SignalsSR/DFAccessor     -> pd.Series/DataFrame.vbt.signals.*
vbt.returns.accessors.ReturnsSR/DFAccessor     -> pd.Series/DataFrame.vbt.returns.*
vbt.ohlcv.accessors.OHLCVDFAccessor            -> pd.DataFrame.vbt.ohlcv.*
vbt.px.accessors.PXSR/DFAccessor               -> pd.Series/DataFrame.vbt.px.*

Additionally, some accessors subclass other accessors building the following inheritance hiearchy:

vbt.base.accessors.BaseIDXAccessor
vbt.base.accessors.BaseSR/DFAccessor
    -> vbt.generic.accessors.GenericSR/DFAccessor
        -> vbt.signals.accessors.SignalsSR/DFAccessor
        -> vbt.returns.accessors.ReturnsSR/DFAccessor
        -> vbt.ohlcv.accessors.OHLCVDFAccessor
    -> vbt.px.accessors.PXSR/DFAccessor

So, for example, the method pd.Series.vbt.to_2d_array is also available as pd.Series.vbt.returns.to_2d_array.

Class methods of any accessor can be conveniently accessed using pd_acc, sr_acc, and df_acc shortcuts:

>>> from vectorbtpro import *

>>> vbt.pd_acc.signals.generate
<bound method SignalsAccessor.generate of <class 'vectorbtpro.signals.accessors.SignalsAccessor'>>

Note

Accessors in vectorbt are not cached, so querying df.vbt twice will also call Vbt_DFAccessor twice. You can change this in global settings.


register_accessor function

register_accessor(
    name,
    cls
)

Register a custom accessor.

cls must subclass pandas.core.accessor.DirNamesMixin.


register_dataframe_accessor function

register_dataframe_accessor(
    name
)

Decorator to register a custom pd.DataFrame accessor.


register_df_vbt_accessor function

register_df_vbt_accessor(
    name,
    parent=vectorbtpro.accessors.Vbt_DFAccessor
)

Decorator to register a pd.DataFrame accessor on top of a parent accessor.


register_idx_vbt_accessor function

register_idx_vbt_accessor(
    name,
    parent=vectorbtpro.accessors.Vbt_IDXAccessor
)

Decorator to register a pd.Index accessor on top of a parent accessor.


register_index_accessor function

register_index_accessor(
    name
)

Decorator to register a custom pd.Index accessor.


register_series_accessor function

register_series_accessor(
    name
)

Decorator to register a custom pd.Series accessor.


register_sr_vbt_accessor function

register_sr_vbt_accessor(
    name,
    parent=vectorbtpro.accessors.Vbt_SRAccessor
)

Decorator to register a pd.Series accessor on top of a parent accessor.


register_vbt_accessor function

register_vbt_accessor(
    name,
    parent=vectorbtpro.accessors.Vbt_Accessor
)

Decorator to register an accessor on top of a parent accessor.


Accessor class

Accessor(
    name,
    accessor
)

Accessor.


CachedAccessor class

CachedAccessor(
    name,
    accessor
)

Cached accessor.


Vbt_Accessor class

Vbt_Accessor(
    wrapper,
    obj=None,
    **kwargs
)

The main vectorbt accessor for pd.Series and pd.DataFrame.

Superclasses

Inherited members


px class variable

Accessor for running Plotly Express functions.

Accessible via pd.Series.vbt.px and pd.DataFrame.vbt.px.

Usage

>>> from vectorbtpro import *

>>> pd.Series([1, 2, 3]).vbt.px.bar().show()


returns class variable

Accessor on top of return series. For both, Series and DataFrames.

Accessible via pd.Series.vbt.returns and pd.DataFrame.vbt.returns.

Args

obj : pd.Series or pd.DataFrame
Pandas object representing returns.
bm_returns : array_like
Pandas object representing benchmark returns.
log_returns : bool
Whether returns and benchmark returns are provided as log returns.
year_freq : any
Year frequency for annualization purposes.
defaults : dict
Defaults that override defaults in returns.
sim_start : int, datetime_like, or array_like
Simulation start per column.
sim_end : int, datetime_like, or array_like
Simulation end per column.
**kwargs
Keyword arguments that are passed down to GenericAccessor.

signals class variable

Accessor on top of signal series. For both, Series and DataFrames.

Accessible via pd.Series.vbt.signals and pd.DataFrame.vbt.signals.


Vbt_DFAccessor class

Vbt_DFAccessor(
    wrapper,
    obj=None,
    **kwargs
)

The main vectorbt accessor for pd.DataFrame.

Superclasses

Inherited members


ohlcv class variable

Accessor on top of OHLCV data. For DataFrames only.

Accessible via pd.DataFrame.vbt.ohlcv.


px class variable

Accessor for running Plotly Express functions. For DataFrames only.

Accessible via pd.DataFrame.vbt.px.


returns class variable

Accessor on top of return series. For DataFrames only.

Accessible via pd.DataFrame.vbt.returns.


signals class variable

Accessor on top of signal series. For DataFrames only.

Accessible via pd.DataFrame.vbt.signals.


Vbt_IDXAccessor class

Vbt_IDXAccessor(
    obj,
    **kwargs
)

The main vectorbt accessor for pd.Index.

Superclasses

Inherited members


Vbt_SRAccessor class

Vbt_SRAccessor(
    wrapper,
    obj=None,
    **kwargs
)

The main vectorbt accessor for pd.Series.

Superclasses

Inherited members


px class variable

Accessor for running Plotly Express functions. For Series only.

Accessible via pd.Series.vbt.px.


returns class variable

Accessor on top of return series. For Series only.

Accessible via pd.Series.vbt.returns.


signals class variable

Accessor on top of signal series. For Series only.

Accessible via pd.Series.vbt.signals.