Skip to content

nb module

Numba-compiled functions for returns.

Provides an arsenal of Numba-compiled functions that are used by accessors and for measuring portfolio performance. These only accept NumPy arrays and other Numba-compatible types.

Note

vectorbt treats matrices as first-class citizens and expects input arrays to be 2-dim, unless function has suffix _1d or is meant to be input to another function. Data is processed along index (axis 0).

All functions passed as argument must be Numba-compiled.


alpha_1d_nb function

alpha_1d_nb(
    returns,
    bm_returns,
    ann_factor
)

Annualized alpha.


alpha_nb function

alpha_nb(
    returns,
    bm_returns,
    ann_factor,
    sim_start=None,
    sim_end=None
)

2-dim version of alpha_1d_nb().


annualized_return_1d_nb function

annualized_return_1d_nb(
    returns,
    ann_factor,
    log_returns=False,
    period=None
)

Annualized total return.

This is equivalent to the compound annual growth rate (CAGR).


annualized_return_nb function

annualized_return_nb(
    returns,
    ann_factor,
    log_returns=False,
    period=None,
    sim_start=None,
    sim_end=None
)

2-dim version of annualized_return_1d_nb().


annualized_volatility_1d_nb function

annualized_volatility_1d_nb(
    returns,
    ann_factor,
    levy_alpha=2.0,
    ddof=0
)

Annualized volatility of a strategy.


annualized_volatility_nb function

annualized_volatility_nb(
    returns,
    ann_factor,
    levy_alpha=2.0,
    ddof=0,
    sim_start=None,
    sim_end=None
)

2-dim version of annualized_volatility_1d_nb().


beta_1d_nb function

beta_1d_nb(
    returns,
    bm_returns,
    ddof=0
)

Beta.


beta_nb function

beta_nb(
    returns,
    bm_returns,
    ddof=0,
    sim_start=None,
    sim_end=None
)

2-dim version of beta_1d_nb().


calmar_ratio_1d_nb function

calmar_ratio_1d_nb(
    returns,
    ann_factor,
    log_returns=False,
    period=None
)

Calmar ratio, or drawdown ratio, of a strategy.


calmar_ratio_nb function

calmar_ratio_nb(
    returns,
    ann_factor,
    log_returns=False,
    period=None,
    sim_start=None,
    sim_end=None
)

2-dim version of calmar_ratio_1d_nb().


capture_ratio_1d_nb function

capture_ratio_1d_nb(
    returns,
    bm_returns,
    ann_factor,
    log_returns=False,
    period=None
)

Capture ratio.


capture_ratio_nb function

capture_ratio_nb(
    returns,
    bm_returns,
    ann_factor,
    log_returns=False,
    period=None,
    sim_start=None,
    sim_end=None
)

2-dim version of capture_ratio_1d_nb().


common_sense_ratio_1d_nb function

common_sense_ratio_1d_nb(
    returns
)

Common Sense Ratio.


common_sense_ratio_nb function

common_sense_ratio_nb(
    returns,
    sim_start=None,
    sim_end=None
)

2-dim version of common_sense_ratio_1d_nb().


cond_value_at_risk_1d_nb function

cond_value_at_risk_1d_nb(
    returns,
    cutoff=0.05
)

Conditional value at risk (CVaR) of a returns stream.


cond_value_at_risk_nb function

cond_value_at_risk_nb(
    returns,
    cutoff=0.05,
    sim_start=None,
    sim_end=None,
    noarr_mode=True
)

2-dim version of cond_value_at_risk_1d_nb() and cond_value_at_risk_noarr_1d_nb().


cond_value_at_risk_noarr_1d_nb function

cond_value_at_risk_noarr_1d_nb(
    returns,
    cutoff=0.05
)

cond_value_at_risk_1d_nb() that does not allocate any arrays.


cumulative_returns_1d_nb function

cumulative_returns_1d_nb(
    returns,
    start_value=1.0,
    log_returns=False
)

Cumulative returns.


cumulative_returns_nb function

cumulative_returns_nb(
    returns,
    start_value=1.0,
    log_returns=False,
    sim_start=None,
    sim_end=None
)

2-dim version of cumulative_returns_1d_nb().


deannualized_return_nb function

deannualized_return_nb(
    ret,
    ann_factor
)

Deannualized return.


down_capture_ratio_1d_nb function

down_capture_ratio_1d_nb(
    returns,
    bm_returns,
    ann_factor,
    log_returns=False,
    period=None
)

Capture ratio for periods when the benchmark return is negative.


down_capture_ratio_nb function

down_capture_ratio_nb(
    returns,
    bm_returns,
    ann_factor,
    log_returns=False,
    period=None,
    sim_start=None,
    sim_end=None
)

2-dim version of down_capture_ratio_1d_nb().


downside_risk_1d_nb function

downside_risk_1d_nb(
    returns,
    ann_factor
)

Downside deviation below a threshold.


downside_risk_nb function

downside_risk_nb(
    returns,
    ann_factor,
    sim_start=None,
    sim_end=None
)

2-dim version of downside_risk_1d_nb().


final_value_1d_nb function

final_value_1d_nb(
    returns,
    start_value=1.0,
    log_returns=False
)

Final value.


final_value_nb function

final_value_nb(
    returns,
    start_value=1.0,
    log_returns=False,
    sim_start=None,
    sim_end=None
)

2-dim version of final_value_1d_nb().


get_return_nb function

get_return_nb(
    input_value,
    output_value,
    log_returns=False,
    inf_to_nan=False,
    nan_to_zero=False
)

Calculate return from input and output value.


information_ratio_1d_nb function

information_ratio_1d_nb(
    returns,
    ddof=0
)

Information ratio of a strategy.


information_ratio_nb function

information_ratio_nb(
    returns,
    ddof=0,
    sim_start=None,
    sim_end=None
)

2-dim version of information_ratio_1d_nb().


max_drawdown_1d_nb function

max_drawdown_1d_nb(
    returns,
    log_returns=False
)

Total maximum drawdown (MDD).


max_drawdown_nb function

max_drawdown_nb(
    returns,
    log_returns=False,
    sim_start=None,
    sim_end=None
)

2-dim version of max_drawdown_1d_nb().


omega_ratio_1d_nb function

omega_ratio_1d_nb(
    returns
)

Omega ratio of a strategy.


omega_ratio_nb function

omega_ratio_nb(
    returns,
    sim_start=None,
    sim_end=None
)

2-dim version of omega_ratio_1d_nb().


profit_factor_1d_nb function

profit_factor_1d_nb(
    returns
)

Profit factor.


profit_factor_nb function

profit_factor_nb(
    returns,
    sim_start=None,
    sim_end=None
)

2-dim version of profit_factor_1d_nb().


returns_1d_nb function

returns_1d_nb(
    arr,
    init_value=nan,
    log_returns=False
)

Calculate returns.


returns_nb function

returns_nb(
    arr,
    init_value=nan,
    log_returns=False,
    sim_start=None,
    sim_end=None
)

2-dim version of returns_1d_nb().


rolling_alpha_nb function

rolling_alpha_nb(
    returns,
    bm_returns,
    window,
    ann_factor,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of alpha_1d_nb().


rolling_annualized_return_nb function

rolling_annualized_return_nb(
    returns,
    window,
    ann_factor,
    log_returns=False,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of annualized_return_1d_nb().


rolling_annualized_volatility_nb function

rolling_annualized_volatility_nb(
    returns,
    window,
    ann_factor,
    levy_alpha=2.0,
    ddof=0,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of annualized_volatility_1d_nb().


rolling_beta_nb function

rolling_beta_nb(
    returns,
    bm_returns,
    window,
    ddof=0,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of beta_1d_nb().


rolling_calmar_ratio_nb function

rolling_calmar_ratio_nb(
    returns,
    window,
    ann_factor,
    log_returns=False,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of calmar_ratio_1d_nb().


rolling_capture_ratio_nb function

rolling_capture_ratio_nb(
    returns,
    bm_returns,
    window,
    ann_factor,
    log_returns=False,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of capture_ratio_1d_nb().


rolling_common_sense_ratio_nb function

rolling_common_sense_ratio_nb(
    returns,
    window,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of common_sense_ratio_1d_nb().


rolling_cond_value_at_risk_nb function

rolling_cond_value_at_risk_nb(
    returns,
    window,
    cutoff=0.05,
    minp=None,
    sim_start=None,
    sim_end=None,
    noarr_mode=True
)

Rolling version of cond_value_at_risk_1d_nb() and cond_value_at_risk_noarr_1d_nb().


rolling_down_capture_ratio_nb function

rolling_down_capture_ratio_nb(
    returns,
    bm_returns,
    window,
    ann_factor,
    log_returns=False,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of down_capture_ratio_1d_nb().


rolling_downside_risk_nb function

rolling_downside_risk_nb(
    returns,
    window,
    ann_factor,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of downside_risk_1d_nb().


rolling_final_value_nb function

rolling_final_value_nb(
    returns,
    window,
    start_value=1.0,
    log_returns=False,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of final_value_1d_nb().


rolling_information_ratio_nb function

rolling_information_ratio_nb(
    returns,
    window,
    ddof=0,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of information_ratio_1d_nb().


rolling_max_drawdown_nb function

rolling_max_drawdown_nb(
    returns,
    window,
    log_returns=False,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of max_drawdown_1d_nb().


rolling_omega_ratio_nb function

rolling_omega_ratio_nb(
    returns,
    window,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of omega_ratio_1d_nb().


rolling_profit_factor_nb function

rolling_profit_factor_nb(
    returns,
    window,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of profit_factor_1d_nb().


rolling_sharpe_ratio_acc_nb function

rolling_sharpe_ratio_acc_nb(
    in_state
)

Accumulator of rolling_sharpe_ratio_stream_nb().

Takes a state of type RollSharpeAIS and returns a state of type RollSharpeAOS.


rolling_sharpe_ratio_nb function

rolling_sharpe_ratio_nb(
    returns,
    window,
    ann_factor,
    ddof=0,
    minp=None,
    sim_start=None,
    sim_end=None,
    stream_mode=True
)

Rolling version of sharpe_ratio_1d_nb().


rolling_sharpe_ratio_stream_nb function

rolling_sharpe_ratio_stream_nb(
    returns,
    window,
    ann_factor,
    ddof=0,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling Sharpe ratio in a streaming fashion.

Uses rolling_sharpe_ratio_acc_nb() at each iteration.


rolling_sortino_ratio_nb function

rolling_sortino_ratio_nb(
    returns,
    window,
    ann_factor,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of sortino_ratio_1d_nb().


rolling_tail_ratio_nb function

rolling_tail_ratio_nb(
    returns,
    window,
    minp=None,
    sim_start=None,
    sim_end=None,
    noarr_mode=True
)

Rolling version of tail_ratio_1d_nb() and tail_ratio_noarr_1d_nb().


rolling_total_return_nb function

rolling_total_return_nb(
    returns,
    window,
    log_returns=False,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of total_return_1d_nb().


rolling_up_capture_ratio_nb function

rolling_up_capture_ratio_nb(
    returns,
    bm_returns,
    window,
    ann_factor,
    log_returns=False,
    minp=None,
    sim_start=None,
    sim_end=None
)

Rolling version of up_capture_ratio_1d_nb().


rolling_value_at_risk_nb function

rolling_value_at_risk_nb(
    returns,
    window,
    cutoff=0.05,
    minp=None,
    sim_start=None,
    sim_end=None,
    noarr_mode=True
)

Rolling version of value_at_risk_1d_nb() and value_at_risk_noarr_1d_nb().


sharpe_ratio_1d_nb function

sharpe_ratio_1d_nb(
    returns,
    ann_factor,
    ddof=0
)

Sharpe ratio of a strategy.


sharpe_ratio_nb function

sharpe_ratio_nb(
    returns,
    ann_factor,
    ddof=0,
    sim_start=None,
    sim_end=None
)

2-dim version of sharpe_ratio_1d_nb().


sortino_ratio_1d_nb function

sortino_ratio_1d_nb(
    returns,
    ann_factor
)

Sortino ratio of a strategy.


sortino_ratio_nb function

sortino_ratio_nb(
    returns,
    ann_factor,
    sim_start=None,
    sim_end=None
)

2-dim version of sortino_ratio_1d_nb().


tail_ratio_1d_nb function

tail_ratio_1d_nb(
    returns
)

Ratio between the right (95%) and left tail (5%).


tail_ratio_nb function

tail_ratio_nb(
    returns,
    sim_start=None,
    sim_end=None,
    noarr_mode=True
)

2-dim version of tail_ratio_1d_nb() and tail_ratio_noarr_1d_nb().


tail_ratio_noarr_1d_nb function

tail_ratio_noarr_1d_nb(
    returns
)

tail_ratio_1d_nb() that does not allocate any arrays.


total_return_1d_nb function

total_return_1d_nb(
    returns,
    log_returns=False
)

Total return.


total_return_nb function

total_return_nb(
    returns,
    log_returns=False,
    sim_start=None,
    sim_end=None
)

2-dim version of total_return_1d_nb().


up_capture_ratio_1d_nb function

up_capture_ratio_1d_nb(
    returns,
    bm_returns,
    ann_factor,
    log_returns=False,
    period=None
)

Capture ratio for periods when the benchmark return is positive.


up_capture_ratio_nb function

up_capture_ratio_nb(
    returns,
    bm_returns,
    ann_factor,
    log_returns=False,
    period=None,
    sim_start=None,
    sim_end=None
)

2-dim version of up_capture_ratio_1d_nb().


value_at_risk_1d_nb function

value_at_risk_1d_nb(
    returns,
    cutoff=0.05
)

Value at risk (VaR) of a returns stream.


value_at_risk_nb function

value_at_risk_nb(
    returns,
    cutoff=0.05,
    sim_start=None,
    sim_end=None,
    noarr_mode=True
)

2-dim version of value_at_risk_1d_nb() and value_at_risk_noarr_1d_nb().


value_at_risk_noarr_1d_nb function

value_at_risk_noarr_1d_nb(
    returns,
    cutoff=0.05
)

value_at_risk_1d_nb() that does not allocate any arrays.