AllMarkets Trading

Holdings Valuation, FX and Allocation Methodology

Inspect the exact snapshot schema, validation, rounding, target allocation and limitations behind the free holdings analyzer.

Schema and identity

Canonical columns are positionId, account, symbol, assetClass, currency, units, price, fxToBase, remainingCostBase, priceDate, fxDate, in that order. Use unique IDs and one aggregated position per exact account/symbol/currency combination. Labels are case-sensitive and are not resolved to a verified issuer or exchange security. IDs, account and symbol are bounded single-line text.

Snapshot and dated inputs

Choose a base currency and YYYY-MM-DD snapshot date. Every price date must be valid and no later than that snapshot. Foreign FX means base-currency units per one quote-currency unit, must be positive and requires its own date no later than the snapshot. Base-currency FX is 1 or blank, with an optional valid nonfuture FX date. No rates or prices are fetched.

Amounts, zero and cost

Units and price use up to six decimals; FX up to eight; remaining base-currency cost up to two. Values must be nonnegative plain decimals. Zero price is a deliberate entered zero, not missing data. Zero units require zero remaining cost. Missing required amounts are invalid. Each units × price × FX product rounds half-up to base cents once, using exact integer arithmetic. Totals outside the exact supported range are rejected.

Allocation and concentration

Asset classes are Equity, Bonds, Cash, RealEstate, Commodity, Crypto and Other. Holdings are grouped by exact account, quoted currency, class and symbol/currency label. Largest-security weight combines matching symbol/currency labels across accounts but does not identify common underlying holdings inside funds. If selected value is zero, weights are unavailable.

Optional class targets

Enable targets only with all seven percentages between 0 and 100 and a total of exactly 100. Target values apply to the currently filtered selection. Largest-remainder cent allocation makes target totals equal selected value; equal remainders use the listed class order. Gap is target minus current value. Costs, taxes, minimum lots and liquidity are not modelled; gaps are not an executable order list.

Files and interpretation

UTF-8 CSV is limited to 2 MB and 5,000 positions. JSON allows 8 MB and recalculates source positions on restore; every accepted dataset must fit its own backup. CSV prefixes spreadsheet-formula-like text with an apostrophe; JSON is the lossless backup. No automatic persistence, live prices, broker connections, income ledger, realized-gain matching, tax advice or investment recommendation.

Use the local holdings analyzer · Compare selected software