Use QuoteMedia functions by platform
Choose QuoteMedia streaming, snapshot, history, and option functions in the Windows and Microsoft 365 add-ins.
QuoteMedia-backed functions fall into several families. The Windows desktop add-in uses unprefixed Excel function names. The Microsoft 365 add-in requires the mxls. namespace on a Mac, on Windows, and in Excel for the web.
Compare common streaming functions
These functions update when streaming is on and QuoteMedia sends a new value.
| Result | Windows desktop | Mac or Excel for the web |
|---|---|---|
| Last price | =QM_Stream_Last("MSFT") | =mxls.QM_Stream_Last("MSFT") |
| Bid price | =QM_Stream_Bid("MSFT") | =mxls.QM_Stream_Bid("MSFT") |
| Ask price | =QM_Stream_Ask("MSFT") | =mxls.QM_Stream_Ask("MSFT") |
| Change | =QM_Stream_Change("MSFT") | =mxls.QM_Stream_Change("MSFT") |
| Percentage change | =QM_Stream_PercentageChange("MSFT") | =mxls.QM_Stream_PercentageChange("MSFT") |
| Open | =QM_Stream_Open("MSFT") | =mxls.QM_Stream_Open("MSFT") |
| High | =QM_Stream_High("MSFT") | =mxls.QM_Stream_High("MSFT") |
| Low | =QM_Stream_Low("MSFT") | =mxls.QM_Stream_Low("MSFT") |
| Volume | =QM_Stream_Volume("MSFT") | =mxls.QM_Stream_Volume("MSFT") |
| Pre-market last | =QM_Stream_PreMarketLast("MSFT") | =mxls.QM_Stream_PreMarketLast("MSFT") |
| Post-market last | =QM_Stream_PostMarketLast("MSFT") | =mxls.QM_Stream_PostMarketLast("MSFT") |
For new Microsoft 365 workbooks, use mxls.QM_Stream_*. This form matches the Windows function name and adds only the Microsoft 365 mxls. namespace.
The Microsoft 365 add-in also registers the older mxls.Stream_* aliases. For example, =mxls.Stream_last("MSFT"), =mxls.Stream_bidPrice("MSFT"), and =mxls.Stream_askPrice("MSFT") still work. Keep those names in an existing workbook if they work, but use the mxls.QM_Stream_* family in new formulas and documentation.
Function names aren't case-sensitive in Excel, but spelling and the Microsoft 365 namespace matter.
Capture formula autocomplete with several current mxls functions visible.
/images/docs/shared/formula-autocomplete.webp
Use pre-market and post-market values
Use the extended-hours function name for the session and metric that you need. A shortened name such as qm_premarket_VOLUME isn't a registered MarketXLS function and can return #NAME?.
| Result | Windows desktop | Mac or Excel for the web |
|---|---|---|
| Pre-market last | =QM_Stream_PreMarketLast("MSFT") | =mxls.QM_Stream_PreMarketLast("MSFT") |
| Pre-market change | =QM_Stream_PreMarketChange("MSFT") | =mxls.QM_Stream_PreMarketChange("MSFT") |
| Pre-market percentage change | =QM_Stream_PreMarketPercentChange("MSFT") | =mxls.QM_Stream_PreMarketPercentChange("MSFT") |
| Pre-market volume | =QM_Stream_PreMarketVolume("MSFT") | =mxls.QM_Stream_PreMarketVolume("MSFT") |
| Pre-market trade time | =QM_Stream_PreMarketTradeTime("MSFT") | =mxls.QM_Stream_PreMarketTradeTime("MSFT") |
| Post-market last | =QM_Stream_PostMarketLast("MSFT") | =mxls.QM_Stream_PostMarketLast("MSFT") |
| Post-market change | =QM_Stream_PostMarketChange("MSFT") | =mxls.QM_Stream_PostMarketChange("MSFT") |
| Post-market percentage change | =QM_Stream_PostMarketPercentChange("MSFT") | =mxls.QM_Stream_PostMarketPercentChange("MSFT") |
| Post-market volume | =QM_Stream_PostMarketVolume("MSFT") | =mxls.QM_Stream_PostMarketVolume("MSFT") |
| Post-market trade time | =QM_Stream_PostMarketLastTradeTime("MSFT") | =mxls.QM_Stream_PostMarketLastTradeTime("MSFT") |
These formulas update only when streaming is on and QuoteMedia provides an eligible event for the symbol and session. A value can remain unchanged when no extended-hours trade occurs. Check the plan, exchange access, and security type if the regular-session stream works but an extended-hours metric doesn't return a value.
The Microsoft 365 add-in also supports legacy mxls.Stream_preMarket* and mxls.Stream_postMarket* aliases. Use the mxls.QM_Stream_* form in new workbooks so that the function name matches Windows apart from the required namespace.
Use option streaming metrics
Both add-ins include streaming option metrics such as delta, gamma, vega, theta, rho, implied volatility, mark, and open interest. For example:
| Result | Windows desktop | Mac or Excel for the web |
|---|---|---|
| Delta | =QM_Stream_Delta(option_symbol) | =mxls.QM_Stream_Delta(option_symbol) |
| Gamma | =QM_Stream_Gamma(option_symbol) | =mxls.QM_Stream_Gamma(option_symbol) |
| Implied volatility | =QM_Stream_ImpliedVolatility(option_symbol) | =mxls.QM_Stream_ImpliedVolatility(option_symbol) |
| Open interest | =QM_Stream_OpenInterest(option_symbol) | =mxls.QM_Stream_OpenInterest(option_symbol) |
The Microsoft 365 add-in converts recognized option-symbol formats to the QuoteMedia subscription format before it opens the stream. An expired option can return Expired; an invalid format can return Invalid Option Symbol or Conversion Error.
Read Create and convert option symbols to build an exact contract or convert a broker symbol.
Use on-demand QuoteMedia values
On-demand functions return a value from a QuoteMedia request. They don't continuously update merely because their name starts with QM_.
| Result | Windows desktop | Mac or Excel for the web |
|---|---|---|
| Last price | =QM_Last("MSFT") | =mxls.QM_Last("MSFT") |
| Bid | =QM_Bid("MSFT") | =mxls.QM_Bid("MSFT") |
| Ask | =QM_Ask("MSFT") | =mxls.QM_Ask("MSFT") |
| Open interest | =QM_OpenInterest(option_symbol) | =mxls.QM_OpenInterest(option_symbol) |
| Named QuoteMedia field | =QM_Value(metric,"MSFT") | =mxls.QM_Value(metric,"MSFT") |
Refresh the cell or workbook when you need a new on-demand result.
Return tables and historical data
Use these families when one formula must return several rows or columns:
QM_Listcalls a QuoteMedia list method with name-value parameters.QM_GetHistoryreturns historical prices.QM_GetOptionChainand its filtered variants return option chains.QM_GetOptionQuotesAndGreeksreturns option quotes with Greeks.QM_GetIntradayDataOneMinutes,QM_GetIntradayDataFiveMinutes,QM_GetIntradayDataFifteenMinutes,QM_GetIntradayDataOneHour, andQM_GetIntradayDataFourHourreturn intraday bars.
On Microsoft 365, add mxls. to the function name. For example, use =mxls.QM_GetOptionChain("MSFT"). Dynamic variants are also available for supported list and option-chain requests.
QM_GetOptionChainActive excludes contracts with zero volume. Use the full QM_GetOptionChain result when a valid but inactive contract is missing. Read Use current and historical options data for filtered chains, historical contracts, and historical Greeks.
Find complete function details
Use the formula reference to check parameters, return shapes, and platform availability. Use Turn real-time streaming on or off when a streaming function doesn't update.