All Articles

Portfolio visibility

A portfolio review you can trace back to the source

One review order — coverage, positions, cash and orders, one question — that never loses the account, currency or observation behind a number.

An investor working through a stack of folders in order beside her laptop.
Work through the sources in order.

The combined total is the last thing to trust

Capital rarely sits in one system. An exchange account holds cryptocurrency balances and derivative positions. A broker account holds shares and options under different rules. A third venue is connected for comparison only. A CSV export holds the history of everything that came before. Each of those reports on its own schedule, in its own units, and fails in its own way. The line that adds them together is the most-read and least-supported number on the screen.

The CVEST workspace builds that line only from accounts it has actually observed. The status beside it says which case you are in: a complete connected-account view, a partial observed subtotal, or no total yet because no account has been observed. Underneath, a plain count states how many of the sourced accounts were included. A subtotal that excludes half your capital is still shown — it is simply labeled as one.

That makes a repeatable review possible, and the order of the review matters more than the tooling. Work through coverage, then positions, then cash and orders, and finish with one question. Starting from the total instead teaches you nothing about which part of it you can rely on.

Coverage decides whether the number means anything

A source counts as current only when its last request completed, returned a successful observation, and did so within the last three minutes. Anything else is stale or partial, and an account is marked complete only when every one of its current sources passes that test and the venue is still connected. The rule is deliberately strict, because the alternative is a number that looks settled while the data behind it is an hour old.

Each account card carries its own status and, when something failed, an issue list naming the source and either the venue error or the fact that its snapshot is stale or partial. With the selector on all venues and accounts, a configured connection that is not answering produces a separate warning: coverage for that venue is not verified, and the subtotal is not the whole workspace. Read those two things before reading the total, not after it surprises you.

Refreshing is manual and explicit. The refresh button on the workspace and the one on the OKX source explorer both enqueue the same background sync, which re-reads the OKX portfolio sources and every connected account. It requires member access, and it is queued rather than immediate — the page re-reads the stored state at once, so newly collected observations appear on a later read. A scheduled job enqueues that same sync every minute, but only for the single workspace named in the service configuration; every other workspace refreshes when somebody asks for it.

One review, in a fixed order1CoverageWhich sources answered, andwhen each one last observed.2PositionsEach holding beside its venue,account and native currency.3Cash and ordersWhat is settled, what iscommitted, what is pending.4One questionA specific follow-up you cananswer from the record.
Four stages, one account or every venue.

A position keeps its account, unit and currency

The positions view lists every holding across the selected accounts with its instrument, asset class, quantity, market value, unrealized profit or loss, and the venue and account it came from. Quantity is shown in the venue’s own unit — shares, contracts, or venue units — rather than converted into a common one. Each row opens an inspector containing the untouched venue record and the time it was observed.

Market value appears only where the venue supplied it. Broker positions carry a marked value from the broker. Exchange option and swap positions carry unrealized profit or loss in the position’s own currency and no market value at all, because none was reported. A blank in that column is a blank, not a zero, and it is the clearest example of why the review works from rows rather than from a headline.

Conversion is treated the same way. A native amount is shown as the venue holds it; a converted value appears beside it only when an exchange rate was observed, and it names the source of that rate. When no rate was observed, no converted figure is invented. The account’s basis for its equity is stated in words as well — a broker net liquidation converted once from its base currency reads differently from an exchange account valuation that already counts trading, funding and earn balances by venue. Tables cap at two hundred rows; the full set stays in the source detail.

Cash and orders answer different questions

Cash balances are listed per currency with the settled or available amount beside the balance, and the name of the source record each one came from. This is the stage where a portfolio view is most often misread. Cash remains on each venue, and workspace equity cannot collateralize another broker’s trade. What an account can commit to an order is a question for that account and that venue’s rules, not for the combined view.

The orders view is separate on purpose. It lists the instrument, the side, the venue’s own status string and the order identifier, with the raw record behind each row. An order that is still listed is still listed; the status field is the only thing that says what happened to it. Beside the workspace total, a second figure shows the capital CVEST has reserved for the selected realm — pending orders and open owned exposure it is managing itself. That reservation is an internal commitment, not a market value and not a measure of exposure.

Real accounts and broker paper accounts are totaled separately and never mixed, and simulated results are excluded from both. Switching the realm switches every table underneath it, which is the intended behavior: a paper subtotal and a real subtotal are answers to different questions.

Read a surprise before acting on it

Most review surprises are reporting events, not portfolio events. The useful reflex is to find where the answer lives before deciding what the change means.

An empty source is not proof of a flat account.

What you seeWhere the answer isWhat it does not establish
A partial observed subtotalThe status and issue list on each account cardThat capital moved or fell since the last review
No total at allThe source detail: status, error, last successful observationThat the account is flat or closed
A blank market valueThe position’s raw record and the venue that supplied itThat the holding is worth nothing
A value with no converted figureWhether a rate was observed, and from which sourceThat the position is unpriced or untradeable
Cash larger than an order can useThe available or settled column, and the venue’s own rulesBuying power at any other venue in the view
An order still listedThe status field and raw record in the orders viewThat it filled, or that it will
Reserved capital above zeroThe pending order or open owned trade behind the reservationCurrent market exposure or position value

The table is a reading aid for locating the source of a discrepancy. It is not a score, a risk measure, or a ranking of your accounts.

The record stays after the view refreshes

A failed collection does not erase the last successful snapshot. Every source keeps its request path and parameters, the time it was requested, the time it was last checked, the time it last succeeded, how many pages and records it returned, and the error if there was one. That is what makes a disagreement between two reviews resolvable: you compare observation times and coverage before you compare numbers.

History is collected separately from the current snapshot. OKX order, fill and bill history is requested over a ninety-day window, while IBKR executions and Deribit history reach back seven days and paginated with a cursor, so a run that hits its page limit resumes from where it stopped rather than starting again. Venue archives reach back about three months; anything earlier exists only if it was captured locally first. Collected records are retained in the workspace database and can be read back a hundred at a time, and the research record can be exported for work outside the product.

The view also states its own boundaries rather than assuming you know them. Other subaccounts are not combined. Imported TradingView portfolios are separate portfolios and are never added to exchange equity. Liquid-staking detail can overlap token balances, so only the venue’s own reported valuation is used as the total. External holdings are monitored; only trades CVEST opened are managed or canceled by it.

First steps

  1. Open the workspace with the realm set to real accounts and read the coverage status before the total; note every account whose issue list is not empty and every configured venue that is not answering.
  2. Move through positions, then cash balances, then orders with the same account selected, opening the inspector on any row whose value would change a decision.
  3. End with one written question — a stale source, an unexplained blank, a pending order — and answer it from the source detail or the collected history before the next review.

What this review is for

Trading is paused in this release. Live execution is disabled by default in the service configuration, so the exchange connection reports monitoring and comparison only, and the broker connection has its own separate opt-in. That makes now a reasonable time to build the reading habit, because nothing in the review depends on placing an order.

The review produces a question, not an instruction. CVEST does not rate a holding, score a portfolio, or suggest that a position should be opened or closed. What it gives back is narrower and more durable: when a number changes between two reviews, you can say whether the record changed or the capital did, and point at the source that settles it.

Read the risk information and check the current product scope before evaluating a workflow.

Sign up