The Portfolio and Dividend income pages work from the transactions you record and from stored market data. This page explains each calculation and where the data stops.
What you can hold
A portfolio holds US and ASX shares and exchange-traded funds (ETFs), such as AAPL, BHP.AX, VOO or VAS.AX. A share's latest price is its stored quote; an ETF's is the fund's last traded price stored from Yahoo Finance for the ETF pages. Each is priced in its listing's currency: US dollars for US listings, Australian dollars for ASX listings.
If a symbol is both in the stock directory and in the ETF list, it is recorded as the stock listing, as it always was. Once a portfolio holds a symbol, later transactions for that symbol stay with the same holding.
Holdings and gains
Holdings use the average-cost method.
- A buy adds its cost (shares × price + brokerage) to the holding's cost base. The average cost is the cost base divided by the shares held.
- A sell removes the average cost of the shares sold from the cost base. The realised gain is the sale proceeds after brokerage, less that cost.
- A split changes the number of shares, not the cost base. A 2:1 split doubles your shares and halves the average cost.
- A dividend is the cash you received. A fee is any other charge, on a holding or on the whole account.
The unrealised gain is today's market value (shares × the latest stored price) less the cost base. Total return adds unrealised and realised gains and dividends received, and subtracts fees that aren't already part of a purchase or sale. Its percentage is of the total amount spent on purchases, including brokerage.
Average cost is one way to measure cost. Tax rules can require a different method, such as identifying the parcel sold, so these figures aren't a tax calculation.
Money-weighted return
The money-weighted return (XIRR) is the yearly rate at which everything you put in (purchases and fees) grows into everything you took out (sale proceeds and dividends) plus what the holdings are worth today. It allows for when money went in and out, so it's the rate you actually earned. Over less than a year, an annual rate exaggerates, so the page says when that applies. It's unavailable until every holding has a price and every transaction has an exchange rate.
Benchmark comparison
The comparison asks what would have happened if the same cash flows had gone into the benchmark instead. Each amount put into the portfolio buys benchmark units at that day's close (or the previous close on a weekend or holiday); each amount taken out, including dividends received, sells units at that day's close. The units left are valued at the latest close, and the benchmark's money-weighted return is worked out from the same dates and amounts.
You can choose:
- S&P/ASX 200 and S&P 500: price indices. They leave dividends out, so they understate what an investor in the index earned, and the page says so.
- S&P/ASX 200 Gross Total Return and S&P 500 Total Return: dividends reinvested, before tax. Yahoo Finance history for the ASX total-return index starts in April 2019.
- FTSE 100, Nikkei 225 and S&P/TSX Composite: regional price indices, in pounds, yen and Canadian dollars. Only the price versions are offered, because a total-return history isn't available from the same free source, so they understate what an investor in the index earned.
Daily closes come from Yahoo Finance. If the benchmark is in a different currency from your portfolio, each amount is converted at that date's reference rate. If the benchmark has no close near a transaction date, the comparison is shown as unavailable rather than estimated.
Currencies
Each portfolio reports in its base currency: any of the 30 currencies with a daily reference rate (the European Central Bank's set, such as AUD, USD, NZD, GBP, EUR, CAD, JPY or SGD). Buys, sells and splits are in the listing's currency; a dividend or fee can be in any of those currencies. A transaction in a currency other than the base is converted at:
- the FX rate you entered (base-currency units per one unit of the transaction currency, for example 1.52 AUD per USD), or
- if you left it blank, the stored reference rate for the trade date from Frankfurter, which republishes central bank reference rates, or
- for a trade in the last few days whose reference rate isn't published yet, the latest stored rate.
Reference rates are stored as Australian dollars against each other currency. A pair without the Australian dollar, such as US dollars into New Zealand dollars, is the cross of that day's two rates, so each transaction still uses its own date's published rates. The page marks every transaction that uses a stored rate, with the rate's date. Your broker's rate will differ a little, so enter it for exact figures.
Market values use today's stored rate: the Yahoo Finance rate where the pair (or its inverse) is stored, such as AUD/USD or NZD/USD, otherwise the latest reference rate. The page says which it used, with its source and date. The totals on My investments across portfolios, in your saved currency, are converted the same way.
For a holding in the other currency, the currency effect is the part of the gain in your base currency that came from the exchange rate: the holding's cost in its own currency valued at today's rate (or the sale's rate), less what it cost in your base currency. Dividends are converted when received and aren't split this way.
Exposure and concentration
Weights are shares of the portfolio's market value in the base currency, by holding, sector, market and currency. Sectors are as each listing's source classifies them, so US and ASX labels can differ. ETFs are grouped together as exchange-traded funds; what each fund holds is on its own page. The effective number of holdings is 1 divided by the sum of the squared weights: ten equal holdings give 10, while one holding at 90% with nine small ones gives about 1.2. A holding above 20% of the portfolio is pointed out because its price moves have a large effect on the whole portfolio. That is a description, not a judgement.
Value history
The value chart uses stored daily closing prices for US and ASX shares and ETFs. Coverage depends on the history available for each holding. The shares held at the end of each day are adjusted for recorded splits and valued at that day's close and reference exchange rate. On an exchange holiday, the last available close within a week is used; a trading day with a missing close or exchange rate is left out.
Holdings without usable daily history are named on the page and left out of the chart. Missing ETF history is refreshed in the background. After a recorded ETF split changes, its history stays unavailable until a complete refresh confirms a compatible price history; a failed refresh preserves the stored prices without using them for incompatible valuations. Dividends are accounted for separately from the closing prices.
Importing and exporting
Download the template from the import page. The first row names the columns, in any order: date, type, symbol, quantity, price, fees, amount, split_ratio, currency, fx_rate and notes. date, type and symbol are required.
- date: YYYY-MM-DD.
- type: buy, sell, dividend, fee or split.
- symbol: a US ticker such as AAPL or VOO, or an ASX code ending in .AX such as BHP.AX or VAS.AX, for a share or an ETF. Leave it empty for an account fee.
- quantity and price: for buys and sells, in the listing's currency. fees is the brokerage.
- amount: the cash received for a dividend, or a fee's amount.
- split_ratio: new shares to old, such as 2:1 or 1:10.
- currency: a three-letter code such as AUD, USD or NZD; empty means the listing's currency. fx_rate is optional.
Files can be up to 512 KB and 1,000 transactions. Every row is checked exactly as if it were typed into the form, and the preview shows each row's result. A sale can't be for more shares than were held on its date. A row matching a saved transaction (same date, type, listing, quantity, price, amount and currency) is flagged as a possible duplicate and skipped unless you choose to import it. Nothing is saved until you confirm. The export uses the same columns, so it can be imported again; cells that could run as a spreadsheet formula are prefixed with an apostrophe.
Announced and estimated dividends
The income plan covers the next twelve months and keeps two kinds of payment apart.
- Announced: declared by the company, with the amount per share, ex-dividend date and payment date as published. US declarations come from the Nasdaq dividend calendar, checked every few hours for the window from five weeks ago to two months ahead. ASX declarations come from ASX's company key statistics, which give the latest declared dividend and its franking percentage.
- Estimated: a projection, never a declaration. The schedule (monthly, quarterly, half-yearly or yearly) is inferred from the gaps between recent ex-dates, and the most recent amount is repeated after the latest known ex-date. A payment more than twice the usual size is treated as a one-off special dividend and not repeated. The payment date is estimated from the usual delay between ex-date and payment where a declared payment shows it. A history that is irregular, too short or has stopped gets no estimate, and the reason is shown.
For an ETF, distributions come from the fund's own record, stored from Yahoo Finance for the ETF pages. A distribution the record lists before its ex-date is shown as announced, without a payment date because the record doesn't publish one. Past distributions are the history that estimates are projected from, in the same way and with the same labels as dividends. A fund has no payout ratio: it passes on the income of what it holds.
Payments are the amount per share (or unit) times your holding: the shares held the day before the ex-dividend date when it has passed, otherwise today's shares. Totals for announced and estimated payments are shown separately and never added together. Amounts in another currency are converted at the latest stored rate, and the rate is stated.
Dividend history and payout coverage
Dividend history comes from Yahoo Finance and is adjusted by Yahoo for later share splits, so years can be compared. Each year is the sum of dividends with an ex-date in that calendar year. The current year is year to date and the first year in the source may be partial, so neither is compared. A fall of more than half a per cent on the year before is flagged as a cut. A company that changes when it pays can move a payment across a year end and look like a cut or a jump.
The payout ratio is dividends per share divided by earnings per share. For US companies both come from the latest annual report in the SEC's company facts; if the filing doesn't tag dividends per share, the last twelve months of payments are used and labelled. For SEC filers the page also compares dividends paid with free cash flow (operating cash flow less capital expenditure) for the same year. For ASX companies, EPS comes from ASX's key statistics and dividends from the last twelve months of payments; cash-flow figures aren't available from a free structured source, so cash coverage is shown as unavailable.
Data limitations
- Prices are the latest stored observation for each listing and may be delayed. Each shows when it was observed.
- Franking is shown only where ASX publishes it for a declared dividend. Amounts are cash dividends and distributions, without franking credits, the tax components of a fund's distribution or withholding tax.
- New holdings have their dividend history fetched when you open the income plan. Announced US dividends and SEC figures arrive with the next scheduled check.
- Delisted listings can't be added, and only US and ASX shares and ETFs (in AUD or USD) can be held. Indices and bond yields can be watched and alerted on, but not held.
- Everything here is general information, not personal advice.