Skip to main content

Debugging

HOODLEFINANCE includes a few debugging helpers for troubleshooting coverage, inspecting planned routes, and forcing a specific source when you need to compare behavior.

These features are mainly for validation and diagnosis rather than for normal sheet usage.

Source Suffixes​

Identifiers support a few debugging suffixes:

  • IDENTIFIER@SOURCE: force a specific source and disable fallback.
  • IDENTIFIER@?: return the planned route for that identifier.
  • IDENTIFIER@ or IDENTIFIER@anything-unknown: return the supported source list, including grouped sub-sources when a family exposes individual forceable providers.

Examples:

=HOODLEFINANCE("EURUSD@GOOGLE", "price") // force GOOGLE for the quote
=HOODLEFINANCE("BTCUSD@?") // show the planned route
=HOODLEFINANCE("BTCUSD@") // list supported sources
=HOODLEFINANCE("PSE:BDO@PSE-FRAMES") // force the PSE frames provider

Grouped source list example:

=HOODLEFINANCE("PSE:BDO@")

This now returns a grouped list such as:

ARIVA, GOOGLE, IBKR, LON, PSE (PSE-FRAMES, PSE-EDGE), TRADINGVIEW, YAHOO

Any listed item can be used as an @SOURCE override when that route supports the identifier.

ISIN Source Overrides​

Some source labels are specifically for the isin attribute. These are useful when you want to compare ISIN resolver paths or check whether a particular source covers a listing.

Available isin-oriented labels include:

  • @TRADINGVIEW: Use TradingView's symbol pages to resolve an ISIN. This is often the broadest fallback for non-U.S. listings.
  • @LON: Use the London Stock Exchange route for London listings.
  • @PSE: Use the dedicated PSE route for Philippine listings.
  • @ARIVA: Use the ARIVA route for supported German/Xetra-style listings.
  • @IBKR: Use Interactive Brokers contract search as the ISIN source.

These labels are only valid with the isin attribute.

Examples:

=HOODLEFINANCE("ZPRX.DE@TRADINGVIEW", "isin")
=HOODLEFINANCE("LON:SJPA@LON", "isin")
=HOODLEFINANCE("PSE:BDO@PSE", "isin")
=HOODLEFINANCE("ZPRV.DE@ARIVA", "isin")
=HOODLEFINANCE("ISJP.L@IBKR", "isin")

If you try to use one of these isin-specific labels with a quote attribute such as price, HoodleFinance returns an error instead of silently treating it as a quote source.

Route Introspection​

HOODLEFINANCE_ROUTES() is a troubleshooting helper for inspecting planned routing behavior.

TODO: expose full runtime trace directly from HOODLEFINANCE in Sheets. Today the sheet-side helpers expose planned routes, while the richer runtime trace remains available through the CLI tooling.

=HOODLEFINANCE_ROUTES([identifier])

HOODLEFINANCE_ROUTES() returns a spilled routing table with the current classifications and planned routes.

HOODLEFINANCE_ROUTES(identifier) returns the planned route for one identifier, using the same static route introspection as IDENTIFIER@?.

Version Helper​

HOODLEFINANCE_VERSION() returns the version string embedded in the installed script.

=HOODLEFINANCE_VERSION()