Retirement Policy Lab v2 · implementation engine

Retirement needs → investment policy → target exposure → instruments → feasible trades → monitoring. Educational decision support, not financial advice. Nothing you type is stored or sent; only ticker symbols and currency codes are sent when you fetch market data.

1 · About your retirement

2 · Holdings, cash and liabilities

Add one row per position. Enter everything, then mark emergency money as Protected and money you can't trade today (such as MPF) as Restricted. Those rows are shown but kept out of the trading denominator. Mark No-sale on holdings you never want sold. Use the exchange's ticker format, for example QQQ, 2800.HK or VWRA.L.

TypeSymbolQty / amountPriceCcyClassQuote timeFlagsOption details
Import from broker CSV (processed locally)

Paste rows like symbol,quantity,currency (an optional 4th column is price). Header rows are ignored. Rows import as equity securities; change the class for bond funds afterward.

FX rates (HKD per 1 unit)

3 · Market assumptions

These are your assumptions, not forecasts. Every one of them changes both the target allocation and the projections.

Live US Treasury yields

Treasury publishes daily nominal yields and TIPS (real) yields. A real yield is a reasonable, observable starting point for the "safe real return". It is in USD, though, and is not a guaranteed bond-fund return. It also doesn't measure returns against Hong Kong living costs.

4 · Investment policy

The policy holds the stable rules. Market data changes what the trades cost, not these rules.

5 · Candidate investments (existing + new)

List the instruments the planner may buy. Quick-add buttons only insert a ticker for you to research; they are not recommendations. Before you approve a weight, check the fund's factsheet for its expense ratio, domicile and withholding tax, and its trading currency. The weight is how new money for that role is split.

SymbolRoleWeightPriceCcyExpense ratio %Fractional?Your notes

6 · Optional long-call comparison

This is only used if your policy allows options and the target is above 1×. Copy longer-dated call quotes from your broker's chain: strike, expiry, bid, ask, multiplier and delta. If you leave delta blank, the app estimates it from the mid price with Black–Scholes, using the Treasury rate and no dividends. That estimate is less reliable than your broker's figure. The app never fetches or invents option quotes.

LabelStrikeExpiryBidAskMultiplierDelta (broker)Quote time

7 · Results and proposed actions

Privacy, data sources and built-in tests
  • Personal inputs live only in this tab's memory. Refreshing the page clears them. Exporting is optional and creates a file on your device that contains sensitive information.
  • Prices come from Yahoo Finance's public chart endpoint through this site's server. That endpoint is unofficial and quotes may be delayed. FX comes from Frankfurter's ECB end-of-day reference rates. Yields come from the U.S. Treasury daily par yield curves. Your browser sends only symbols and currency codes.
  • No trade is executed. Check every price with your broker before you trade.