Documentation

Market Data

Where OptionsPro gets quotes, Greeks, and implied volatility, how fresh those numbers are, and what to do when a price is missing.

Every number in OptionsPro comes from one of two places: your trade records, which move only when you edit them, your broker restates a fill, or a contract settles at expiration, and market data, which is fetched from a third-party provider and refreshed in the background on a schedule. Knowing which is which explains most "why does this number look off?" questions.

What runs on market data

These are computed from live (or recently fetched) quotes, so they move during the trading day and can be blank while data is still arriving:

  • Unrealized P&L, Market Value, and Current price on Positions, Stocks, and the Dashboard. Stock holdings synced from a brokerage are the exception - see Broker-priced stock holdings below.
  • Greeks, implied volatility, volume, and open interest in position details and the Portfolio Greeks card on Risk & Insights.
  • Moneyness (ITM / ATM / OTM), underlying price and day change, and the market-state badge.
  • The Profit Calculator's pre-filled underlying price, IV, and days-to-expiration, plus probability of profit and expected move.
  • The options chain behind Manual Trade Entry and the contract validation in Trade Import.

What does not

These are derived from your trade records alone. They are unaffected by a delayed quote, a missing mark, or a market data outage:

  • Realized P&L, fees, and trade counts.
  • Win rate, avg win, avg loss, and the equity curve.
  • The Calendar, Trends, and the Key Risk Indicators and Win/Loss sections of Risk & Insights.
  • Strategy detection and portfolio assignment.

They can still move, just not because of a quote. A broker restating a fill on a later sync, a contract settling at expiration, a fee override, or an edit you saved all change the underlying records, and the figures above are recomputed from them.

Where the data comes from

  • Options quotes, Greeks, and implied volatility come from a third-party options market data service. Which one is active is a server-side setting, so the exact provider - and its refresh behavior - can differ between deployments. Settings → Data Sources always names the provider your account is currently reading from, along with its freshness notice.
  • Risk-free rate comes from the Federal Reserve Bank of St. Louis FRED® API, refreshed daily. It feeds the Black-Scholes fallback used when the provider doesn't return Greeks for a contract - see Greeks.

How fresh the numbers are

OptionsPro is a journal, not a trading terminal. Nothing streams tick by tick - quotes are fetched, cached, and re-fetched on a schedule.

Typical behavior, depending on the configured provider:

ProviderUnderlying spot pricesOptions quotes and Greeks
OptionomicsDelayed roughly 15 minutes.Delayed roughly 15 minutes.
MassiveRefreshed about every 60 seconds in market hours.Refreshed about every 2 minutes.

A few consequences of the caching:

  • Contracts you currently hold are refreshed on a much shorter cycle than positions you've already closed. A closed position's price can sit on a cached value for hours - that's deliberate, since a closed row's mark doesn't change your P&L.
  • Refreshes are staggered across tickers rather than fired all at once, so two positions on the same page can carry timestamps a few minutes apart.
  • Outside regular market hours nothing new is published, so prices hold at the last value fetched during the session.

If your account is configured to show the OPRA disclosure, a small OPRA data delayed 15 minutes notice is pinned to the bottom of every page as a standing reminder that option prices are not real time.

Broker-priced stock holdings

One set of prices doesn't follow the table above. A stock holding that came from a connected brokerage is priced from your broker's own holdings snapshot when the broker reports a price, and only falls back to the market data provider's quote when it doesn't. Brokers are usually fresher on cash-equivalents and unusual tickers, which is why they win.

The practical consequence: for a synced holding, the Current price, Market value, and Unrealized P&L on Stocks move on your brokerage sync cadence, not on the provider's refresh cycle - so a price that looks stale there is a sync question, not a market-data one. Manually-entered stock holdings, and every option position regardless of source, are priced from the provider as described above.

Reading the timestamp

Expand a position on the Positions page (or open the position details modal from the Calendar or Trades) and the bottom of the panel shows when that contract's data was last fetched, plus a market-state badge - Market Open, Pre-Market, After Hours, or Market Closed. If the price on file is from a previous trading day, an orange note says so rather than passing a stale number off as current.

When a price is missing

A dash instead of a market value, or a Greek that won't populate, almost always means one of these:

  • Data hasn't arrived yet. New positions are queued for their first fetch. Summary cards show a small "pending" indicator, and Portfolio Greeks shows a spinner, while that's happening. This usually clears within minutes.
  • The contract is stale or its symbol didn't resolve. Badges beside the Portfolio Greeks heading count positions with stale data (orange) or invalid symbols (red).
  • The trade is unverified. A contract we could never match on the options chain has no mark to fetch. If the contract is real and still trading, it's retried on every refresh and marks start flowing on their own.
  • The contract has expired. Expired contracts are never re-fetched. They settle at expiration instead of ever getting a live mark, which is why an expired row shows a dash for unrealized P&L and Greeks.

Realized P&L, fees, and trade counts are unaffected in every one of these cases.

What market data is not

  • Not your broker's marks. Your broker prices positions off its own feed, usually the mid of its own book. OptionsPro's unrealized P&L will differ, sometimes by a lot on wide-spread contracts.
  • Not an execution price. A quote here is a reference for journaling and analytics. It is not a price you can trade at, and OptionsPro cannot place orders - see Brokerages.
  • Not investment advice. Greeks, probabilities, and expected moves are model outputs built on the inputs above. See the Profit Calculator limitations for what the models do and don't account for.
  • Greeks - where per-leg Greeks come from and how they roll up.
  • Settings - the live provider attribution and freshness notice for your account.
  • Positions - the page where market data is most visible.

On this page