Module Algostream_domain_portfolio.Portfolio
type portfolio = {account_id : Base.string;positions : (Base.string, Position.position) Base.Map.Poly.t;cash_balance : Base.float;initial_capital : Base.float;total_commission_paid : Base.float;created_at : Timestamp.t;updated_at : Timestamp.t;strategy_allocations : (Base.string, Base.float) Base.Map.Poly.t;
}val create_portfolio :
?ts:Timestamp.t ->
account_id:Base.string ->
initial_capital:Base.float ->
unit ->
portfolioval has_position : portfolio -> symbol:Base.string -> Base.boolval add_trade :
?ts:Timestamp.t ->
portfolio ->
symbol:Base.string ->
trade_quantity:Base__Float.t ->
trade_price:Base.float ->
commission:Base__Float.t ->
?strategy_id:Base.string ->
unit ->
portfolioval total_market_value : portfolio -> Base__Float.tval net_asset_value : portfolio -> Base__Float.tval total_unrealized_pnl : portfolio -> Base__Float.tval total_realized_pnl : portfolio -> Base__Float.tval portfolio_return : portfolio -> Base__Float.tval gross_exposure : portfolio -> Base__Float.tval net_exposure : portfolio -> Base__Float.tval long_exposure : portfolio -> Base__Float.tval short_exposure : portfolio -> Base__Float.tval diversification_ratio : portfolio -> Base__Float.t