bitcain docs

Portfolio

Portfolio

Portfolio management, holdings, performance tracking, and asset information.

11 tables in this group.

portfolios

ColumnTypeNullableDefault
iduuidNouuid_generate_v4()
user_iduuidNo
nametextNo
descriptiontextYes
total_valuenumericYes0
currencytextYes'USD'::text
activeboolYestrue
created_attimestamptzYesnow()
updated_attimestamptzYesnow()

RLS Policies:

  • Users can create their own portfolios — INSERT for {public}
  • Users can delete their own portfolios — DELETE for {public}
  • Users can update their own portfolios — UPDATE for {public}
  • Users can view their own portfolios — SELECT for {public}

Indexes:

  • portfolios_pkey
  • portfolios_user_id_name_key

portfolio_holdings

ColumnTypeNullableDefault
iduuidNouuid_generate_v4()
portfolio_iduuidNo
symboltextNo
quantitynumericNo0
average_costnumericYes
current_pricenumericYes
total_valuenumericYes
created_attimestamptzYesnow()
updated_attimestamptzYesnow()

RLS Policies:

  • Users can create holdings in their portfolios — INSERT for {public}
  • Users can delete holdings in their portfolios — DELETE for {public}
  • Users can update holdings in their portfolios — UPDATE for {public}
  • Users can view holdings of their portfolios — SELECT for {public}

Indexes:

  • portfolio_holdings_pkey
  • portfolio_holdings_portfolio_id_symbol_key

portfolio_positions

ColumnTypeNullableDefault
iduuidNo
portfolio_iduuidNo
asset_symbolvarchar(20)No
asset_namevarchar(100)Yes
asset_categoryvarchar(20)Yes
quantitynumericNo
available_quantitynumericYes
locked_quantitynumericYes
average_cost_usdnumericNo
current_price_usdnumericNo
current_value_usdnumericNo
total_cost_usdnumericYes
unrealized_pnl_usdnumericYes
realized_pnl_usdnumericYes
unrealized_pnl_percentnumericYes
allocation_percentnumericNo
target_allocation_percentnumericNo
allocation_driftnumericYes
statusvarchar(20)Yes
is_rebalance_targetboolYes
first_acquired_attimestampYes
last_updated_attimestampNo
last_trade_attimestampYes
position_metadatajsonYes

RLS Policies:

  • portfolio_positions_service_all — ALL for {public}

Indexes:

  • idx_portfolio_positions_portfolio_id
  • ix_portfolio_positions_asset_symbol
  • portfolio_positions_pkey

portfolio_value_history

ColumnTypeNullableDefault
iduuidNogen_random_uuid()
portfolio_iduuidNo
recorded_attimestamptzNonow()
total_valuenumericYes
cash_valuenumericYes
invested_valuenumericYes
pnlnumericYes

RLS Policies:

  • Users can insert own portfolio value history — INSERT for {public}
  • Users can view own portfolio value history — SELECT for {public}

Indexes:

  • idx_portfolio_value_history_portfolio_recorded
  • portfolio_value_history_pkey

portfolio_performance_metrics

ColumnTypeNullableDefault
metrics_iduuidNo
portfolio_iduuidNo
calculation_datedateNo
total_return_percentnumericNo
daily_return_percentnumericNo
volatility_annualizednumericNo
sharpe_rationumericNo
max_drawdown_percentnumericNo
current_drawdown_percentnumericNo
var_95_percentnumericNo
benchmark_btc_outperformancenumericNo
benchmark_market_outperformancenumericNo
trades_executed_countint4No
total_fees_paid_usdnumericNo
created_attimestampNo

RLS Policies:

  • portfolio_performance_metrics_service_all — ALL for {public}

Indexes:

  • idx_portfolio_performance_metrics_portfolio_id
  • ix_portfolio_performance_metrics_calculation_date
  • portfolio_performance_metrics_pkey

assets

ColumnTypeNullableDefault
iduuidNo
portfolio_iduuidNo
symbolvarchar(20)No
namevarchar(100)Yes
asset_typevarchar(20)Yes
quantitynumericNo
available_quantitynumericYes
locked_quantitynumericYes
average_costnumericYes
current_pricenumericYes
market_valuenumericYes
unrealized_pnlnumericYes
realized_pnlnumericYes
total_costnumericYes
target_allocationnumericYes
current_allocationnumericYes
first_acquired_attimestampYes
last_updated_attimestampYes
asset_metadatajsonYes

RLS Policies:

  • assets_public_select — SELECT for {public}
  • assets_service_delete — DELETE for {public}
  • assets_service_insert — INSERT for {public}
  • assets_service_update — UPDATE for {public}

Indexes:

  • assets_pkey
  • idx_assets_portfolio_id
  • ix_assets_symbol

asset_info

ColumnTypeNullableDefault
iduuidNo
symbolvarchar(20)No
namevarchar(100)No
categoryvarchar(20)Yes
market_cap_usdnumericYes
circulating_supplynumericYes
total_supplynumericYes
max_supplynumericYes
is_tradeableboolYes
min_trade_amountnumericYes
price_precisionint4Yes
quantity_precisionint4Yes
volatility_scorenumericYes
liquidity_scorenumericYes
sentiment_scorenumericYes
coingecko_idvarchar(100)Yes
coinmarketcap_idvarchar(100)Yes
contract_addressvarchar(100)Yes
blockchainvarchar(50)Yes
listed_attimestampYes
last_updated_attimestampYes
asset_metadatajsonYes

RLS Policies:

  • asset_info_public_select — SELECT for {public}
  • asset_info_service_delete — DELETE for {public}
  • asset_info_service_insert — INSERT for {public}
  • asset_info_service_update — UPDATE for {public}

Indexes:

  • asset_info_pkey
  • ix_asset_info_symbol

benchmarks

ColumnTypeNullableDefault
iduuidNo
namevarchar(100)No
symbolvarchar(20)No
descriptionvarchar(500)Yes
benchmark_typevarchar(20)Yes
data_providervarchar(50)Yes
external_idvarchar(100)Yes
is_activeboolYes
created_attimestampNo
updated_attimestampYes
benchmark_metadatajsonYes

RLS Policies:

  • benchmarks_service_all — ALL for {public}

Indexes:

  • benchmarks_name_key
  • benchmarks_pkey
  • benchmarks_symbol_key

performance_snapshots

ColumnTypeNullableDefault
iduuidNo
portfolio_iduuidNo
snapshot_datedateNo
periodvarchar(20)Yes
portfolio_valuenumericNo
portfolio_value_previousnumericYes
cash_valuenumericYes
invested_valuenumericYes
period_returnnumericYes
cumulative_returnnumericYes
annualized_returnnumericYes
volatilitynumericYes
max_drawdownnumericYes
current_drawdownnumericYes
sharpe_rationumericYes
sortino_rationumericYes
calmar_rationumericYes
information_rationumericYes
betanumericYes
alphanumericYes
tracking_errornumericYes
created_attimestampNo
updated_attimestampYes
benchmark_returnnumericYes
risk_free_ratenumericYes
snapshot_metadatajsonYes

RLS Policies:

  • performance_snapshots_service_all — ALL for {public}

Indexes:

  • idx_performance_snapshots_portfolio_id
  • ix_performance_snapshots_snapshot_date
  • performance_snapshots_pkey

rebalancing_events

ColumnTypeNullableDefault
event_iduuidNo
portfolio_iduuidNo
strategy_iduuidNo
trigger_reasonvarchar(30)No
trades_executedjsonNo
execution_latency_msint4No
total_cost_usdnumericNo
expected_benefitnumericNo
actual_benefitnumericYes
executed_attimestampNo

RLS Policies:

  • rebalancing_events_service_all — ALL for {public}

Indexes:

  • ix_rebalancing_events_portfolio_id
  • ix_rebalancing_events_strategy_id
  • ix_rebalancing_events_trigger_reason
  • rebalancing_events_pkey

rebalancing_strategies

ColumnTypeNullableDefault
strategy_iduuidNo
portfolio_iduuidNo
strategy_typevarchar(30)No
threshold_percentnumericNo
min_trade_amount_usdnumericNo
sentiment_weightnumericNo
volatility_adjustmentboolNo
is_enabledboolNo
performance_scorenumericYes
last_optimization_attimestampYes
created_attimestampNo
updated_attimestampNo

RLS Policies:

  • rebalancing_strategies_service_all — ALL for {public}

Indexes:

  • ix_rebalancing_strategies_portfolio_id
  • ix_rebalancing_strategies_strategy_type
  • rebalancing_strategies_pkey

On this page