This document explains methodology of calculation for the Canopy website.
Market Data
Our philosophy is to use the last available price on or before the date being valued.
In most cases we use pricing data as provided by Bloomberg. Currently we take a single snapshot every business day at around 5.30am Singapore time (just after the last US exchanges closes). In future we intend to use streaming data.
For most of the securities we price, price data is available from Bloomberg. For securities where a price is not provided by Bloomberg (e.g. most privately owned securities, a lot of hedge funds, real estate and other non financial assets, most OTC derivatives etc.) we use the last available price from the relevant statement (from the bank, and for non financial assets like real estate and art collections, from the user). We are working on a feature where users will be able to switch exclusively to statement as a price source, even if Bloomberg data is available (as some users have requested this ease of reconciliation with their accounting statements which usually run on bank valuations).
In case of bonds, we take both clean price and dirty price (which is clean price + accrued interest) from the data feed. Therefore, by implication, the accrued interest on a bond is calculated only till the last available price date (i.e. we do not manually calculate and keep adding accrued interest to bonds that are illiquid and there no price data)
Unless otherwise specified, we value off trade date (and not settlement date). In the menu Portfolio->Holdings there is a toggle to switch between Trade Date and Settlement Date snapshots.
All end of day calculations are done after the pricing data has been downloaded.
Portfolio > Allocation
This screen is showing the allocation of assets in the portfolio.
This is based on the latest available price for the chosen date. The standard date setting is today.
All values are converted to base currency of the user.
All percentages in the donut charts are relative to the Total Assets, not the Net Worth, as Liabilities are excluded.
Portfolio > Performance > Profit / Loss
This chart shows the historical performance of two data points: The total amount invested and profit.
Total Amount Invested
This is intended to be a measure of risk and only shows the 'risky assets', i.e. assets where the price is expected to move (this includes all traded securities and all non financial assets).
All risky assets are counted at the market value as of the relevant date. The intention of this graph is to show whether risky assets were being added or reduced over the time period in question. This measure is somewhat crude because it does not attempt to give a 'risk weight' to each asset (e.g. US Treasuries and a High Yield Junk Bond will get a weight equal to their market value in this graph)
Total Amount Invested ignores assets which are not considered 'risky' i.e. all cash and all deposits. It also ignores all loans.
Profit
is the absolute gain (or loss) in the account at current market values. This includes realized as well as unrealized items.
Profit = Market Value - Net Fund Flow
where
Market Value = sum of all assets at latest price converted at latest FX rate into Base Currency
Net Fund Flow= sum of all Money Inflows or Outflows (or when security transfer, the monetary equivalent) converted to Base Currency at the timing of such flow.
Portfolio > Performance > Portfolio
Each stacked item represents the market value of each category at the latest price and converted at the latest FX rate into Base Currency.
The Money Flow line here represents the same as Net Fund Flow mentioned earlier.
When all stacks are selected they will total up to the Net Worth of the Account.
All stacks less the Money Flow line are equal to the Profit line in the earlier page.
Portfolio > Performance > NAV
NAV is the Net Asset Value of the account expressed on a base of 100.
Net Asset Value
NAV0 = 100
NAVt =NAVt-1 * (1 + Net Worth Percent changet)
Net Worth Percent changet = (absolute change in Net Wortht - Net Fund Flowt) / Net Wortht-1
Net Wortht = market value of all assets and liabilities at latest price on t, converted to Base Currency on t
Net Wortht-1 = market value of all assets and liabilities at latest price on t-1, converted to Base Currency on t-1
absolute change in Net Wortht = Net Wortht - Net Wortht-1
Net Fund Flow = Sum of all money inflow, money outflow or security transfer free of payment in/out on t, converted to Base Currency on t
Security transfers free of payment will be marked at prevailing market price on the price of the transfer if no price has been supplied at the transaction level. If a price has been provided, such price will be used.
Portfolio > Holdings
Base Value
Base Value is related to the term Base Currency, which is used for accounting purposes to refer to the currency in which an investor maintains his accounting book. Base Value is the value of your holdings in your base currency.
Profit Till Date
The change in the market value of the position compared to the settlement amount paid for it. In most cases this is
Profit Till Date for all securities except bonds = Quantity x (current_price - average_purchase_price)
In the case of bonds where we consider accrued interest, the formula becomes
Profit Till Date for bonds = Quantity x (current_dirty_price - average_purchase_dirty_price)
All coupon flows are excluded. This only covers the current positions relative to its average purchase price.
Security Screen
Profit Till Now
The total life to date realized and unrealized profits or loss on this position.
Actual settled amounts are used for purchase and sale transactions.
Coupons and dividends are included on the basis of actual entry in the relevant bank account (i.e. in case there was a tax deduction and a smaller amount was paid into the account, we only consider that smaller amount which was actually credited)
Current market value includes accrued interest for bonds, i.e. dirty price is used.
All items are added up in contract currency (i.e. currency of the money flow) and converted to base currency at the current fx rate.
Explainer > Realized Earnings
Coupons received
Sum of all payments marked as Coupon for which trade date of such payment is in the relevant period, converted to base currency at the fx rate on the last day of the period.
Dividends received
Sum of all payments marked as Dividend for which trade date of such payment is in the relevant period, converted to base currency at the fx rate on the last day of the period.
Profit from trades closed out
Realized monies for transactions fully closing out a position where the trade date of such closing out is in the relevant period. Currently we do not calculate partial close of position in this amount.
The starting value will be assumed as the average purchase price of such position - not the price at the beginning of the relevant period.
Deposit Interest
Sum of all payments marked as Interest or DepositInterest for which trade date of such payment is in the relevant period, converted to base currency at the fx rate on the last day of the period.
Loan costs
Sum of all payments marked as LoanInterest for which trade date of such payment is in the relevant period, converted to base currency at the fx rate on the last day of the period.
Miscellaneous income
Sum of all payments marked as MiscIncome or MiscExpense for which trade date of such payment is in the relevant period, converted to base currency at the fx rate on the last day of the period.
Explainer > Unrealized Earnings
Coupons accrued but not received
For all current Bond positions this is the current outstanding accrual amount on the last day of the relevant period, converted to base currency at the fx rate on the last day of the period.
Profit on outstanding positions
The market value change for a position during the relevant period, converted to base currency at the fx rate on the last day of the period.
Forex impact on cash items
This is the balancing figure of the calculations and includes the net unexplained amount. Since we have considered all other factors, it usually represents the forex impact on cash items.
Explainer > Net Fund Flow
Inflow
Sum of all money inflow (MoneyIn) or security transfer free of payment in (TransferFOPIn) during the relevant period, converted to base currency at the fx rate on the last day of the period.
Security transfers free of payment will be marked at prevailing market price on the price of the transfer if no price has been supplied at the transaction level. If a price has been provided, such price will be used.
Outflow
Sum of all money outflow (MoneyOut) or security transfer free of payment out (TransferFOPOut) during the relevant period, converted to base currency at the fx rate on the last day of the period.
Security transfers free of payment will be marked at prevailing market price on the price of the transfer if no price has been supplied at the transaction level. If a price has been provided, such price will be used.
Forex Impact on Fund Flow
This captures the translation effect of Money In and Money Out of the account in a currency which is not the base currency of the account. e.g. Fx translation loss due to funds brought into the account in SGD, when the base currency is USD, will be captured here.