Home MarketXLS
Dashboard MarketXLS
Screener MarketXLS
Options Profit Calculator MarketXLS
Stock Ranks MarketXLS
Spreadsheet Builder MarketXLS
Documentation MarketXLS
Logout MarketXLS

How to Dynamically Retrieve Market Data Using QM_ListDynamic

The QM_ListDynamic function is a versatile MarketXLS formula that lets you retrieve a wide array of real-time or delayed market data directly in Excel. From standard pricing and fundamentals to option chain breakdowns and specialized subsets such as expiration dates only or strikes only, QM_ListDynamic makes it simple to refresh and display data through formulas in a dynamic range—no manual intervention needed.

Why Use This Function?

  • Efficient Data Refresh: Automatically refresh market data even if you’re not actively selecting the cell.
  • Flexible Data Retrieval: Pass different parameters to retrieve various types of information—options, greeks, strikes, or expiration dates.
  • Complex Option Chains: Retrieve and format option chains (calls and puts) in one table with relevant greeks and open interest.
  • Customizable Queries: Build custom data sets by specifying method names, symbols, and additional argument-value pairs.
  • Streamlined Workflow: No need to switch platforms or manually copy data. All info is automatically pulled into your Excel spreadsheet.

How to Use in Excel

Below is the general syntax for QM_ListDynamic. You can adjust argument pairs as needed:

=QM_ListDynamic(Method, 
                [Arg1], [ArgVal1], 
                [Arg2], [ArgVal2], 
                [Arg3], [ArgVal3], 
                ...,
                [Arg15], [ArgVal15])
  1. In any cell, type =QM_ListDynamic(.
  2. Provide a Method (for instance, "getOptionQuotes").
  3. Then provide argument name-value pairs, such as "symbol" and "AAPL" or "structured" and "True".
  4. Press Enter, and MarketXLS will fetch and populate results based on the requested parameters.

For example, you can query a standard data list by specifying a recognized method name, or fetch only strikes for a particular option chain by passing "onlyStrikes" as one of your arguments.

Parameters Explained

Below is a representative breakdown. You can include anywhere from 0 to 15 argument pairs. Each Arg is the parameter name, and each ArgVal is its corresponding value:

Parameter Description Example Values Notes
Method The data retrieval method to use (e.g., "getOptionQuotes", "HELP") "getOptionQuotes" Must be a valid method recognized by the data provider, or you'll get an invalid method message.
Arg1 First parameter name. Often "symbol", "symbols", "structured", "onlyExpirations", "onlyStrikes" "symbol" If Arg1 is "symbol", then ArgVal1 is typically a ticker like "AAPL".
ArgVal1 Value for Arg1 "AAPL" Can be multiple symbols if Arg1 = "symbols" (e.g., "AAPL,MSFT").
Arg2 Second parameter name "money" Could be "money", "callput", "expire", etc.
ArgVal2 Value for Arg2 "all" or "calls" or "puts" Depending on the parameter name, changes the returned data set.
Additional argument and value pairs ... You can define up to 15 pairs, depending on the method.
Arg15 15th parameter name "structured" If included, triggers advanced structures (like a formatted option chain).
ArgVal15 Value for Arg15 "True" Use carefully to specify advanced or niche retrieval commands.

Note: If you include “structured” in one of the Arg/ArgVal pairs, the function may return a formatted option chain with both calls and puts side by side, plus greeks. Passing “onlyExpirations” or “onlyStrikes” can limit results to expiration dates or strike prices only.

Example Usage

Basic Examples

  1. Retrieve a simple quote for a single symbol:

    =QM_ListDynamic("getOptionQuotes", "symbol", "AAPL")

    This returns data (like price, change, bid, ask, and more) for Apple.

  2. Retrieve multiple symbols with default data:

    =QM_ListDynamic("getOptionQuotes", "symbols", "AAPL,MSFT")

    This populates a table of quotes for both Apple and Microsoft.

  3. Check help or confirm method validity:

    =QM_ListDynamic("HELP")

    If the method isn’t recognized, you may see a message that “Method 'XYZ' is not valid.”

Advanced Scenarios

  1. Get a structured (“all-in-one”) option chain:

    =QM_ListDynamic("getOptionChainStructured", "symbol", "AAPL", "structured", "True")

    • This argument arrangement displays calls and puts in a neatly formatted table.
    • The function includes columns like last price, open interest, greeks (delta, gamma, theta, vega, rho), and implied volatility.

  2. Return only available expiration dates for an option chain:

    =QM_ListDynamic("getOptionChainStructured", "symbol", "AAPL", "onlyExpirations", "True")

    • Instead of a full table, you’ll see just the distinct expiration dates.

  3. List available strike prices:

    =QM_ListDynamic("getOptionChainStructured", "symbol", "AAPL", "onlyStrikes", "True")

    • This variant displays strike prices in ascending order, perfect for further calculations or referencing in other formulas.

  4. Combining additional parameters:

    =QM_ListDynamic("getOptionChainStructured", "symbol", "AAPL", "money", "All", "callput", "All", "structured", "True")

    • This yields a fully expanded option chain including all strikes (in, at, and out of the money) for both calls and puts.

Common Questions and Troubleshooting

• Why do I see “Method ‘XYZ’ is not valid.”?

  • You might have mistyped a recognized method or used a method that doesn’t match MarketXLS data provider requirements. Double-check your spelling and consult MarketXLS documentation for a valid method name.

• My table includes too many or too few rows—how can I adjust that?

  • If you’d like to limit rows (e.g., top 10 only), you currently cannot pass a specific row limit into QM_ListDynamic. It returns all or partial results determined by the underlying method and arguments.

• Why am I only getting “No Data Retrieved”?

  • Make sure you provided valid symbols or parameters. For instance, an unusual or expired ticker might yield no results. Also confirm your MarketXLS license is valid and data subscriptions are configured.

• Can I mix standard quotes with option chain data?

  • Typically, each formula call uses a single “Method.” If you need different data sets side by side, use multiple QM_ListDynamic formulas in separate cells.

• Do I need to refresh data manually?

  • No. QM_ListDynamic is designed to automatically refresh. You still can trigger a manual recalculation via Excel if needed.

Use QM_ListDynamic to bring real-time or delayed data, drive your option strategies, or populate advanced calculations in Excel. Whether you want an entire chain or just the basics, it’s the all-in-one dynamic approach to retrieving MarketXLS data faster and more flexibly than ever.