Performance Module:Fund Module
From ExtractValue Wiki
The Fund Module of the Performance Module relates to functions applicable to pooled investments, including mutual funds, hedge funds, CPOs and others.
Contents |
Inputs & Outputs
Product, Order, and Portfolio
| Description | Value Type | Technical Name | Product Input | Product Output | Portfolio Input | Portfolio Output | Order Input | Order Output |
| Inception Date | Date/time | inception_time | X | X | ||||
| Beginning Value | Currency | beginning_value | X | X | ||||
| Initial outstanding shares | Integer | initial_outstanding_shares | X | X | ||||
| Attributed user | User | X | X | |||||
| Account number | Integer & Text | user_fund_account_number | X | X | ||||
| Total Invested | Currency | total_deposits | X | |||||
| Total Withdrawn | Currency | total_withdrawn | X | |||||
| Net Liquid Value | Currency | net_liquid_value | X | X | ||||
| Net Liquid profit or loss | Currency | net_liquid_pl | X | X | ||||
| Open position profit or loss | Currency | open_position_pl | X | X | ||||
| Net Realized Value | Currency | net_realized_value | X | X | ||||
| Net Realized profit or loss | Currency | net_realized_pl | X | X | ||||
| Performance fee | Percentage or Integer | performance_fee | X | X | ||||
| Management fee | Percentage or Integer | management_fee | X | X | ||||
| Net fees | Percentage or Integer | net_fee | X | X | ||||
| Fee assessment interval | Daily, Monthly, Quarterly, Annually | fee_assessment_interval | X | |||||
| Gross Liquid profit or loss | Currency | gross_liquid_pl | X | X | ||||
| Gross Realized profit or loss | Currency | gross_realized_pl | X | X | ||||
| Outstanding shares | Currency | outstanding_shares | X | X | ||||
| Share value | Currency | share_value | X | X |
Transactions
| Description | Value Type | Technical Name |
| Addition or withdrawal | Addition or Withdrawal | addition_or_withdrawal |
| By value or by shares | Value or Shares | value_or_shares |
| Desired date of addition | Date | desired_date_of_addition |
| Desired shares to add | Integer | desired_shares_to_add |
| Desired value to add | Currency | desired_value_to_add |
Calculations
Calculation of Share Value
- Failed to parse (Can't write to or create math temp directory): NetRealizedValue(t)=NetLiquidValue_t + OpenPositionPl
- Failed to parse (Can't write to or create math temp directory): OutstandingShares(t)=InitialOutstandingShares + \sum_{t=0}^{n \to \infty} DesiredSharestoAdd_t
- Failed to parse (Can't write to or create math temp directory): ShareValue(t)=NetRealizedValue_t / OutstandingShares_t
Calculation of Management Fee
- Failed to parse (Can't write to or create math temp directory): GrossRealizedValue(t) = GrossLiquidValue_t + OpenPositionPl
- Failed to parse (Can't write to or create math temp directory): ManagementFee(t-FeeAssessmentInterval \to t) = (GrossRealizedValue_t - GrossRealizedValue_{t-FeeAssessmentInterval}) * ManagementFee
Note: Must calculate fees for early withdrawals also
Calculation of Incentive Fee
Failed to parse (Can't write to or create math temp directory): IncentiveFee(t-FeeAssessmentInterval \to t) = (GrossRealizedValue_t - GrossRealizedValue_{t-FeeAssessmentInterval} - ManagementFee(t-FeeAssessmentInterval \to t))*IncentiveFee
Real World Example
- Admin inputs all the Order history for each User, from the initial Transaction (of opening an account and buying shares) to all subsequent Transactions.
- If all of the Users have up-to-date and correct information, a Failed to parse (Can't write to or create math temp directory): product_shares
should be accurate and complete. Thus, outstanding shares is known.
- Admin updates Product performance fields. This may happen in irregular intervals, but generally this should happen daily. Thus, gross realized value is known.
- The share value is determined by Failed to parse (Can't write to or create math temp directory): share_value(product)=OutstandingShares(product)/GrossRealizedValue(product)
- Each Portfolio can have its performance calculated based on Failed to parse (Can't write to or create math temp directory): ShareValue(Portfolio)*OustandingShares(Portfolio)
