Skip to content

analysis module

Numba-compiled functions for portfolio analysis.


align_init_cash_nb function

align_init_cash_nb(
    init_cash_raw,
    free_cash_flow,
    cash_deposits=0.0,
    sim_start=None,
    sim_end=None
)

Align initial cash to the maximum negative free cash flow per column or group.


allocations_nb function

allocations_nb(
    asset_value,
    value,
    group_lens,
    sim_start=None,
    sim_end=None
)

Get allocations per column.


asset_flow_nb function

asset_flow_nb(
    target_shape,
    order_records,
    col_map,
    direction=2,
    init_position=0.0,
    sim_start=None,
    sim_end=None
)

Get asset flow series per column.

Returns the total transacted amount of assets at each time step.


asset_pnl_nb function

asset_pnl_nb(
    asset_value,
    cash_flow,
    init_position_value=0.0,
    sim_start=None,
    sim_end=None
)

Get asset (realized and unrealized) PnL series per column or group.


asset_returns_nb function

asset_returns_nb(
    asset_value,
    cash_flow,
    init_position_value=0.0,
    log_returns=False,
    sim_start=None,
    sim_end=None
)

Get asset return series per column or group.


asset_value_grouped_nb function

asset_value_grouped_nb(
    asset_value,
    group_lens,
    sim_start=None,
    sim_end=None
)

Get asset value series per group.


asset_value_nb function

asset_value_nb(
    close,
    assets,
    sim_start=None,
    sim_end=None
)

Get asset value series per column.


assets_nb function

assets_nb(
    asset_flow,
    direction=2,
    init_position=0.0,
    sim_start=None,
    sim_end=None
)

Get asset series per column.

Returns the current position at each time step.


cash_deposits_grouped_nb function

cash_deposits_grouped_nb(
    target_shape,
    group_lens,
    cash_sharing,
    cash_deposits_raw=0.0,
    weights=None,
    sim_start=None,
    sim_end=None
)

Get cash deposit series per group.


cash_deposits_nb function

cash_deposits_nb(
    target_shape,
    group_lens,
    cash_sharing,
    cash_deposits_raw=0.0,
    split_shared=False,
    weights=None,
    sim_start=None,
    sim_end=None
)

Get cash deposit series per column.


cash_earnings_grouped_nb function

cash_earnings_grouped_nb(
    target_shape,
    group_lens,
    cash_earnings_raw=0.0,
    weights=None,
    sim_start=None,
    sim_end=None
)

Get cash earning series per group.


cash_earnings_nb function

cash_earnings_nb(
    target_shape,
    cash_earnings_raw=0.0,
    weights=None,
    sim_start=None,
    sim_end=None
)

Get cash earning series per column.


cash_flow_grouped_nb function

cash_flow_grouped_nb(
    cash_flow,
    group_lens,
    sim_start=None,
    sim_end=None
)

Get (free) cash flow series per group.


cash_flow_nb function

cash_flow_nb(
    target_shape,
    order_records,
    col_map,
    free=False,
    cash_earnings=0.0,
    sim_start=None,
    sim_end=None
)

Get (free) cash flow series per column.


cash_nb function

cash_nb(
    cash_flow,
    init_cash,
    cash_deposits=0.0,
    sim_start=None,
    sim_end=None
)

Get cash series per column or group.


get_asset_pnl_nb function

get_asset_pnl_nb(
    input_asset_value,
    output_asset_value,
    cash_flow
)

Get asset PnL from the input and output asset value, and the cash flow.


get_asset_return_nb function

get_asset_return_nb(
    input_asset_value,
    output_asset_value,
    cash_flow,
    log_returns=False
)

Get asset return from the input and output asset value, and the cash flow.


get_free_cash_diff_nb function

get_free_cash_diff_nb(
    position_before,
    position_now,
    debt_now,
    price,
    fees
)

Get updated debt and free cash flow.


get_long_size_nb function

get_long_size_nb(
    position_before,
    position_now
)

Get long size.


get_short_size_nb function

get_short_size_nb(
    position_before,
    position_now
)

Get short size.


gross_exposure_nb function

gross_exposure_nb(
    asset_value,
    value,
    sim_start=None,
    sim_end=None
)

Get gross exposure series per column.


init_cash_grouped_nb function

init_cash_grouped_nb(
    init_cash_raw,
    group_lens,
    cash_sharing,
    weights=None
)

Get initial cash per group.


init_cash_nb function

init_cash_nb(
    init_cash_raw,
    group_lens,
    cash_sharing,
    split_shared=False,
    weights=None
)

Get initial cash per column.


init_position_value_grouped_nb function

init_position_value_grouped_nb(
    group_lens,
    init_position=0.0,
    init_price=nan
)

Get initial position value per group.


init_position_value_nb function

init_position_value_nb(
    n_cols,
    init_position=0.0,
    init_price=nan
)

Get initial position value per column.


init_value_nb function

init_value_nb(
    init_position_value,
    init_cash
)

Get initial value per column or group.


market_value_grouped_nb function

market_value_grouped_nb(
    close,
    group_lens,
    init_value,
    cash_deposits=0.0,
    sim_start=None,
    sim_end=None
)

Get market value per group.


market_value_nb function

market_value_nb(
    close,
    init_value,
    cash_deposits=0.0,
    sim_start=None,
    sim_end=None
)

Get market value per column.


net_exposure_nb function

net_exposure_nb(
    long_exposure,
    short_exposure,
    sim_start=None,
    sim_end=None
)

Get net exposure series per column.


position_coverage_grouped_nb function

position_coverage_grouped_nb(
    assets,
    group_lens,
    granular_groups=False,
    sim_start=None,
    sim_end=None
)

Get position coverage per group.


position_coverage_nb function

position_coverage_nb(
    assets,
    sim_start=None,
    sim_end=None
)

Get position mask per column.


position_mask_grouped_nb function

position_mask_grouped_nb(
    assets,
    group_lens,
    sim_start=None,
    sim_end=None
)

Get position mask per group.


position_mask_nb function

position_mask_nb(
    assets,
    sim_start=None,
    sim_end=None
)

Get position mask per column.


returns_nb function

returns_nb(
    value,
    init_value,
    cash_deposits=0.0,
    cash_deposits_as_input=False,
    log_returns=False,
    sim_start=None,
    sim_end=None
)

Get return series per column or group.


total_market_return_nb function

total_market_return_nb(
    market_value,
    input_value,
    sim_start=None,
    sim_end=None
)

Get total market return per column or group.


total_profit_grouped_nb function

total_profit_grouped_nb(
    total_profit,
    group_lens
)

Get total profit per group.


total_profit_nb function

total_profit_nb(
    target_shape,
    close,
    order_records,
    col_map,
    init_position=0.0,
    init_price=nan,
    cash_earnings=0.0,
    sim_start=None,
    sim_end=None
)

Get total profit per column.

A much faster version than the one based on value_nb.


value_nb function

value_nb(
    cash,
    asset_value,
    sim_start=None,
    sim_end=None
)

Get value series per column or group.