A holding comes from trades: what the Record a trade form asks for, how the dirty price is derived, the two CSV shapes an import accepts, and how to undo one.
A holding comes from trades. Booking a buy on Record a trade is what puts a gilt into a portfolio, and every figure downstream — valuation, cash flow, taxable income, ladder sizing — is built from those bookings rather than typed in separately.
Before you book anything
Portfolios, trades and the watchlist need a free account; the market pages do not. Create one at create an account with a username and a password, typed twice — no email address is asked for — and sign in from the header.
Portfolios and the ledger
A portfolio groups your gilts into an account or a strategy, with its own name, settlement delay and tax rate. The index page values every portfolio from the latest report — market value, cost basis, unrealised and realised profit and loss, income and total gain or loss — and merges the same gilt held across portfolios into one aggregate positions card. Opening one shows the same figures per gilt with the trades behind them.
Trades is one ledger across every portfolio: each active buy or sell, with the portfolio it was booked into, the gilt, its side, the £ nominal, fees and net cash. A Portfolio filter and a search box narrow it, the headers sort, and the totals row spans only the trades on screen.
Recording one trade
- Open Record a trade.
- Pick the portfolio. A portfolio-less account gets a default one created for it.
- Find the gilt by name or ISIN in the combobox, and choose the side: Buy, Sell or Redemption.
- Enter the trade date and the quantity in £ nominal.
- Set the settlement and tax rate if they should differ from the portfolio's own.
- Enter the price from your contract note: the clean price, the accrued interest and, for an index-linked gilt, the index ratio.
- Add any fees in pounds and book the trade.
The form derives the dirty price — clean price plus accrued interest, scaled by the index ratio — and shows it as you type. That is the cash paid or received per £100 nominal, and the figure the position is priced at when it is added; the trade summary beside the form repeats the arithmetic before anything is committed.
A Use the latest market price button fills the price fields from the report rather than from your note, for a holding added as a record; for a trade actually dealt, the contract note is the figure that belongs in the form.
What a booking is, and is not
Booking a trade records a real contract-note event in your own ledger: it places no order and sends nothing to a broker. The trade becomes an active event on the ledger and a position in the portfolio.
Importing many trades at once
Import CSV books a file of trades in one go. The importer recognises two shapes and tells them apart by the header row.
The native shape
Six columns, in this order. The header row is optional and every column is required. The gilt is named by ISIN, and the rows land in the portfolio chosen on the page.
| Column | Holds |
| trade_date | The trade date. |
| isin | The gilt, by ISIN. |
| side | BUY, SELL or REDEMPTION. |
| quantity_nominal | £ nominal. |
| dirty_price | The dirty price per £100 nominal. |
| fees | Fees in pounds. |
The third-party export shape
The header row is required and the gilt is found from its broker ticker; each row is booked into the portfolio its own portfolio column names, created when it does not exist.
| Column | Holds |
| date | The trade date. |
| portfolio | The portfolio the row is booked into. |
| trade_type | Buy or Sell. |
| ticker | The broker's ticker for the gilt. |
| quantity | The quantity. |
| clean_price | The clean price per £100 nominal; price is accepted in its place. |
| accrued_interest | Optional: the total £ of accrued interest for the whole quantity, which may be negative. |
| fees | Fees in pounds. |
index_ratio is optional as well, and an accrued interest figure overrides the derivation from the clean price: the dirty price is built from what the row says.
When an import books nothing
Imports are all-or-nothing: every row is validated before anything is written, and one failing line rolls the file back with the exact line named.
Why is my imported CSV showing no trades?
Because nothing was booked. A single failing line rolls the whole file back, and the page reports which line and why. Check the header row first — an export whose header matches neither shape is rejected rather than guessed at — then the dates, the ISINs or tickers, the quantities and the prices.
Undoing a trade or deleting a portfolio
Each row on the Trades ledger has a Delete action that reverses the trade: an offsetting event is booked, so the portfolio returns to how it was before, and both events leave the ledger view. Deleting a portfolio from Portfolios purges the portfolio and its whole trade ledger, and the confirm dialog says so because there is no undo. Either action updates every report downstream.
Which price should I enter when booking a trade?
The three components from your contract note: the clean price, the accrued interest and, for an index-linked gilt, the index ratio. The form derives the dirty price from them. If a statement gives only the total cash, the dirty figure can be booked on its own; the clean price alone is never enough, because the accrued interest is part of what is paid.
The terms this page draws on are the glossary's clean-price, accrued-interest, dirty-price and index-ratio.