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:
- performance calculation with its registers grouped in bundles
- reconciliation using special portfolio type and portfolio reconcile group.
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 with source prefix as it's multi-source entityPortfolio Type
: configuration-defined criterion for reconciliationName
: full nameShort name
: short name, showed in other relationsPublic name
: public view name for users without accessNotes
: custom description for portfolioFirst 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 portfolioTransaction types
: (not strict, informative)selected transaction types that can be used for this portfolioResponsibles
: (not strict, informative)selected responsibles that can be used for this portfolioCounterparties
: (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 performance calculations with workflow and performance report and the logic for them is defined below:
Logic for defining First Transaction Date & First Cash Flow Date based on complex transactions:
-
Portfolio entity has 2 properties:
-
first_transcation_date (name = First transaction date, value = null)
-
first_cash_flow_date (name = First cash flow date, value = null)
-
-
For complex transaction CRUD operations For each base transaction in the complex transaction:
-
if Book
-
if base transaction class == Cash-Inflow or Cash-Outflow
-
if trade_date < first_cash_flow_date
-
first_cash_flow_date = trade_date
-
-
-
if trade_date < first_transcation_date
-
first_transcation_date = trade_date
-
-
-
if Rebook !!!
-
if base transaction class == Cash-Inflow or Cash-Outflow
-
if new trade_date < first_cash_flow_date
-
first_cash_flow_date = trade_date
-
-
else
-
if old trade_date == first_cash_flow_date
-
first_cash_flow_date = find new first_cash_flow_date
-
-
-
-
if new trade_date < first_transcation_date
-
first_transcation_date = trade_date
-
-
else
-
if old trade_date == first_transcation_date
-
first_transcation_date = find new first_transcation_date
-
-
-
-
if Delete
-
if base transaction class == Cash-Inflow or Cash-Outflow
-
if trade_date == first_cash_flow_date
-
if true first_cash_flow_date = find new first_cash_flow_date
-
-
-
if trade_date == first_transcation_date
-
if true first_transcation_date = find new first_transcation_date
-
-
-
Cookbook
CRUD
-
OperationsCreate:withinAplatform.new portfolio can be created using the plus (“+”) button in the top-right corner. Users must provide basic details like the portfolio name, type, and optional notes. -
Read: The same page provides a full list of existing portfolios, allowing users to search, view, and access details for each one.
-
Update: Portfolios can be edited by selecting any existing portfolio. Editable fields include name, type, notes, and status.
Fields such as First Transaction Date and First Cash Flow Date are auto-populated and not manually filled. -
Delete: Portfolios can be deleted directly from the same management page.
Use Cases
What
- Within a portfolio, transactions and instrument positions are grouped using registers, which feed into bundles and ultimately affect portfolio-level calculations and reporting.
- Auto-populated fields such as First Transaction Date and First Cash Flow Date are critical inputs for
it'sinternalused.workflows, audit tracking, and performance evaluation logic. - Leverage the Portfolio Type field to define reconciliation logic and reporting behavior (e.g., General, Manual, or Position Only).
F.A.Q.
Frequently asked questions.
API documentation
Link to API documentation.