Skip to main content

Portfolio

Table of Contents

Description

Financial meaning

Portfolio refers to a collection of financial assets. Portfolios are held directly by investors and/or managed by financial professionals. Effective portfolio management involves diversification, asset allocation, and regular performance monitoring to optimize returns and manage risks. 

Platform abstraction

Portfolio in Finmars platform is a container for financial assets (cash (currency) & instruments) allocation. Portfolio also is used in: 

Examples

User code Portfolio Type Name Short name Public name Notes First Transaction Date First Cash Flow Date Accounts Transaction types Responsibles Counterparties
obl01
Manual Bonds Bonds Bonds - 2022-12-01 2022-12-01



  • User code: workspace unique identifier of the portfolio
  • Portfolio Type: configuration-defined criterion for reconciliation
  • Name: full name
  • Short name: short name, showed in other relations
  • Public name: public view name for users without access
  • Notes: custom description for portfolio
  • First Transaction Date: date of the first transaction in the portfolio (changes by the logic described below)
  • First Cash Flow Date: date of the first transaction in the portfolio for base transaction class == Cash-Inflow or Cash-Outflow (changes by the logic described below)
  • Accounts: (not strict, informative) selected accounts that can be used for this portfolio
  • Transaction types: (not strict, informative)selected transaction types that can be used for this portfolio
  • Responsibles: (not strict, informative)selected responsibles that can be used for this portfolio
  • Counterparties: (not strict, informative)selected counterparties that can be used for this portfolio

Portfolio has 2 attributes First Transaction Date and First Cash Flow Date which are used for *** and the logic for them is defined below:

Logic for defining First Transaction Date & First Cash Flow Date based on complex transactions:

  1. Portfolio entity has 2 properties:

    1. first_transcation_date (name = First transaction date, value = null)

    2. first_cash_flow_date (name = First cash flow date, value = null)

  2. For complex transaction CRUD operations For each base transaction in the complex transaction:

    1. if Book

      1. if base transaction class == Cash-Inflow or Cash-Outflow

        1. if trade_date < first_cash_flow_date

          1. first_cash_flow_date = trade_date

      2. if trade_date < first_transcation_date

        1. first_transcation_date = trade_date

    2. if Rebook !!!

      1. if base transaction class == Cash-Inflow or Cash-Outflow

        1. if new trade_date < first_cash_flow_date

          1. first_cash_flow_date = trade_date

        2. else

          1. if old trade_date == first_cash_flow_date

            1. first_cash_flow_date = find new first_cash_flow_date

      2. if new trade_date < first_transcation_date

        1. first_transcation_date = trade_date

      3. else

        1. if old trade_date == first_transcation_date

          1. first_transcation_date = find new first_transcation_date

    3. if Delete

      1. if base transaction class == Cash-Inflow or Cash-Outflow

        1. if trade_date == first_cash_flow_date

          1. if true first_cash_flow_date = find new first_cash_flow_date

      2. if trade_date == first_transcation_date

        1. if true first_transcation_date = find new first_transcation_date

Cookbook

CRUD

Operations within platform.

Use Cases

What for it's used.

F.A.Q.

API documentation