Commands
Commands
Section titled “Commands”This page is generated from the Finance CLI command registry.
Run python scripts/generate_cli_docs.py after changing command metadata.
Agent-facing schemas are available as tools.json and openapi.json.
backtest.*
Section titled “backtest.*”backtest.describe
Section titled “backtest.describe”Describe a backtest strategy and its parameters
Usage
finance backtest.describe STRATEGYExamples
finance backtest.describe sma_crossfinance backtest.describe custombacktest.factor.payload
Section titled “backtest.factor.payload”Build a normalized factor backtest payload
Usage
finance backtest.factor.payload FACTOR_NAME SYMBOLS START_DATE END_DATE [timeframe=1d top_pct=0.2 bottom_pct=0.2]Examples
finance backtest.factor.payload rsi_14 AAPL,MSFT,NVDA 2024-01-01 2024-12-31backtest.factor.weights
Section titled “backtest.factor.weights”Preview quantile factor target weights
Usage
finance backtest.factor.weights FACTOR_NAME scores='{"AAPL":1.2,"MSFT":0.4}' [top_pct=0.2 bottom_pct=0.2]Examples
finance backtest.factor.weights rsi_14 scores='{"AAPL":1.1,"MSFT":0.3,"NVDA":2.0}'backtest.run
Section titled “backtest.run”Run a VectorBT strategy backtest
Usage
finance backtest.run STRATEGY SYMBOLS START_DATE END_DATE [params='{}' strategy_file=./rule.py]Examples
finance backtest.run sma_cross AAPL 2020-01-01 2024-12-31 fast=20 slow=100finance backtest.run custom AAPL 2020-01-01 2024-12-31 strategy_file=./rule.py params='{}'backtest.strategies
Section titled “backtest.strategies”List VectorBT-backed strategy presets
Usage
finance backtest.strategiesExamples
finance backtest.strategiesbacktest.strategy.payload
Section titled “backtest.strategy.payload”Build a normalized strategy backtest payload
Usage
finance backtest.strategy.payload STRATEGY_ID START_DATE END_DATE [initial_cash=100000 parameters='{}']Examples
finance backtest.strategy.payload mean_reversion 2024-01-01 2024-12-31backtest.tune
Section titled “backtest.tune”Run a bounded VectorBT parameter grid
Usage
finance backtest.tune STRATEGY SYMBOLS START_DATE END_DATE grid='{}' [metric=sharpe_ratio max_runs=100]Examples
finance backtest.tune sma_cross AAPL 2020-01-01 2024-12-31 grid='{"fast":[10,20],"slow":[50,100]}'calendar.*
Section titled “calendar.*”calendar.company
Section titled “calendar.company”Fetch company earnings/dividend calendar fields
Usage
finance calendar.company SYMBOLExamples
finance calendar.company AAPLcalendar.earnings
Section titled “calendar.earnings”Fetch earnings-date rows for a company
Usage
finance calendar.earnings SYMBOL [limit=12]Examples
finance calendar.earnings AAPL limit=8document.*
Section titled “document.*”document.ocr
Section titled “document.ocr”Run PaddleOCR/PP-StructureV3 OCR fallback on a local or remote document
Usage
finance document.ocr SOURCE|source=PATH_OR_URL [max_chars=12000 max_pages=5]Examples
finance document.ocr ./deck.pdf max_pages=3finance document.ocr ./deck.pdf max_chars=4000Details
- Prefer document.read or document.scan for text-based PDFs.
- Uses the default Finance CLI OCR stack.
- Use as fallback for scanned or image-heavy documents.
document.read
Section titled “document.read”Extract native PDF or HTML text and layout/search blocks
Usage
finance document.read SOURCE|source=PATH_OR_URL [format=pdf|html max_chars=12000 max_pages=5]Examples
finance document.read ./deck.pdf max_pages=3finance document.read ./deck.pdf max_chars=4000finance document.read ./filing.html format=html max_chars=4000Details
- Lightweight first-pass parser for text-based PDFs and HTML filings; does not run OCR.
- Returns page text plus positioned or offset-bearing blocks for downstream matching and analysis.
document.scan
Section titled “document.scan”Scan document text/layout for configured topics or literal queries with RapidFuzz
Usage
finance document.scan SOURCE|source=PATH_OR_URL [query=TEXT topics=risk,disclosure format=pdf|html match=fuzzy|all_terms threshold=80 max_chars=12000 max_pages=5 limit=50 window=0 start_char=0 end_char=0]Examples
finance document.scan ./report.pdf topics=risk,financial_reportingfinance document.scan ./deck.pdf topics=guidance threshold=75 max_pages=10finance document.scan ./filing.html format=html query='Operating lease costs' max_chars=0 window=1200finance document.scan ./filing.html format=html match=all_terms threshold=100 query='Receivables net Total current assets' max_chars=0finance document.scan ./filing.html format=html start_char=122000 query='Accounts payable'Details
- Uses PyMuPDF for native PDF layout, BeautifulSoup for HTML text, and RapidFuzz for deterministic fuzzy matching.
- Known topics include disclosure, risk, financial_reporting, portfolio, and guidance.
- Unknown topics are treated as literal fuzzy queries.
- Use match=all_terms threshold=100 for table-style queries where every meaningful query word should appear.
- Use start_char/end_char to restrict a follow-up scan to a known section or window.
- HTML matches include char offsets and match IDs that can be passed to document.window.
document.tables
Section titled “document.tables”Extract compact table previews from text-based PDFs with Camelot
Usage
finance document.tables SOURCE|source=PATH_OR_URL [pages=1-end flavor=stream|lattice max_tables=20 max_rows=25]Examples
finance document.tables ./report.pdf pages=10-12 flavor=streamfinance document.tables ./filing.pdf pages=all max_tables=5 max_rows=10Details
- Uses the default Finance CLI table extraction stack.
- Use flavor=stream for whitespace-separated tables and flavor=lattice for ruled-line tables.
- Returns compact row previews with page, shape, accuracy, and truncation metadata.
document.window
Section titled “document.window”Read a bounded text window around a document offset or scan match ID
Usage
finance document.window SOURCE|source=PATH_OR_URL [format=pdf|html start_char=0|match_id=char_START_END chars=4000 direction=around|next|previous]Examples
finance document.window ./filing.html format=html start_char=52000 chars=4000finance document.window ./filing.html format=html match_id=char_52000_52200 direction=next chars=4000Details
- Designed for follow-up reading after document.scan.
- Use direction=next or direction=previous to move through a table or section without re-scanning.
estimates.*
Section titled “estimates.*”estimates.compare
Section titled “estimates.compare”Compare user assumptions against explicit consensus inputs
Usage
finance estimates.compare [SYMBOL] revenue=2.2B consensus_revenue=2.0B eps=0.50 consensus_eps=0.45 fiscal_year=2027Examples
finance estimates.compare IOT revenue=2.2B consensus_revenue=2.0B eps=0.50 consensus_eps=0.45 fiscal_year=2027Details
- No network calls. Compares only values explicitly supplied by the caller.
estimates.consensus
Section titled “estimates.consensus”Fetch FMP analyst consensus estimates when configured
Usage
finance estimates.consensus SYMBOL [period=annual|quarter limit=10 page=0]Examples
finance estimates.consensus IOT period=annual limit=5Details
- Requires FMP_API_KEY. Makes one short FMP request and returns a structured configuration error when unconfigured.
filings.*
Section titled “filings.*”filings.read
Section titled “filings.read”Read a canonical 10-K section with edgartools
Usage
finance filings.read [SYMBOL] [accession=ACCESSION|url=URL] [form=10-K section=business|risk_factors|mda|segments max_chars=8000]Examples
finance filings.read IOT section=business max_chars=3000finance filings.read accession=0001628280-26-018167 section=risk_factors max_chars=3000finance filings.read url=https://www.sec.gov/Archives/edgar/data/1642896/000162828026018167/iot-20260131.htm section=mdaDetails
- Uses edgartools for filing retrieval, then returns bounded text for downstream use.
filings.recent
Section titled “filings.recent”Fetch recent SEC filings, optionally classified
Usage
finance filings.recent SYMBOL [forms=8-K,10-Q limit=20 classify=false]Examples
finance filings.recent NVDA forms=10-Q,8-K limit=5finance filings.recent NVDA forms=8-K limit=10 classify=truefilings.report
Section titled “filings.report”Read an edgartools filing summary report
Usage
finance filings.report [SYMBOL] [accession=ACCESSION|url=URL] name='Report Short Name' [form=10-K query=TEXT max_rows=25 (0=unlimited) max_chars=8000]Examples
finance filings.report COST name='Consolidated Balance Sheets (Parenthetical)'finance filings.report COST name='Leases, Supplemental Balance Sheet Information' query='operating lease liabilities'finance filings.report url=https://www.sec.gov/Archives/edgar/data/909832/000090983224000049/cost-20240901.htm name='Debt'filings.reports
Section titled “filings.reports”List edgartools filing summary reports
Usage
finance filings.reports [SYMBOL] [accession=ACCESSION|url=URL] [form=10-K query=lease]Examples
finance filings.reports COST form=10-Kfinance filings.reports COST form=10-K query=leasefinance filings.reports url=https://www.sec.gov/Archives/edgar/data/909832/000090983224000049/cost-20240901.htmfilings.sections
Section titled “filings.sections”List supported and discovered filing sections
Usage
finance filings.sections [SYMBOL] [accession=ACCESSION|url=URL] [form=10-K]Examples
finance filings.sections IOT form=10-Kfinance filings.sections accession=0001628280-26-018167filings.statement
Section titled “filings.statement”Read structured XBRL statement rows with edgartools
Usage
finance filings.statement [SYMBOL] [accession=ACCESSION|url=URL] [form=10-K statement=income|balance|cashflow query=TEXT max_rows=0]Examples
finance filings.statement COST statement=balance query='Common Stock'finance filings.statement url=https://www.sec.gov/Archives/edgar/data/909832/000090983224000049/cost-20240901.htm statement=income max_rows=20Details
- Returns raw XBRL values plus reported values scaled by XBRL decimals.
formula.*
Section titled “formula.*”formula.adjusted_ebitda
Section titled “formula.adjusted_ebitda”Calculate adjusted EBITDA from explicit addbacks
Usage
finance formula.adjusted_ebitda ebit=9285 d_and_a=2237 addbacks=284,163Examples
finance formula.adjusted_ebitda ebit=9285 d_and_a=2237 addbacks=284,163formula.cagr
Section titled “formula.cagr”Calculate compound annual growth rate
Usage
finance formula.cagr start=100 end=150 periods=3Examples
finance formula.cagr start=100 end=150 periods=3formula.capm
Section titled “formula.capm”Calculate CAPM cost of equity
Usage
finance formula.capm risk_free=4.617% beta=0.79 market_return=11%Examples
finance formula.capm risk_free=4.617% beta=0.79 market_return=11%formula.days
Section titled “formula.days”Calculate average-balance days
Usage
finance formula.days current=2721 prior=2285 denominator=254453 [days=365]Examples
finance formula.days current=2721 prior=2285 denominator=254453formula.ebitda
Section titled “formula.ebitda”Calculate EBITDA from explicit EBIT and D&A inputs
Usage
finance formula.ebitda ebit=9285 d_and_a=2237Examples
finance formula.ebitda ebit=9285 d_and_a=2237formula.enterprise_value
Section titled “formula.enterprise_value”Calculate enterprise value with explicit operating cash
Usage
finance formula.enterprise_value market_equity=418856 debt=11415 cash=11144 operating_cash=5089Examples
finance formula.enterprise_value market_equity=418856 debt=11415 cash=11144 operating_cash=5089formula.lease_equivalent
Section titled “formula.lease_equivalent”Estimate lease equivalent from cost ratio
Usage
finance formula.lease_equivalent base_liability=2554 variable_cost=163 operating_cost=284Examples
finance formula.lease_equivalent base_liability=2554 variable_cost=163 operating_cost=284formula.margin
Section titled “formula.margin”Calculate numerator / denominator
Usage
finance formula.margin numerator=11969 denominator=254453Examples
finance formula.margin numerator=11969 denominator=254453formula.net_debt
Section titled “formula.net_debt”Calculate net debt with explicit operating cash
Usage
finance formula.net_debt debt=11415 cash=11144 [operating_cash=5089]Examples
finance formula.net_debt debt=11415 cash=11144 operating_cash=5089formula.operating_cash
Section titled “formula.operating_cash”Calculate operating cash as min(percent of revenue, cash-like assets)
Usage
finance formula.operating_cash revenue=254453 cash_like_assets=11144 [percent_revenue=2%]Examples
finance formula.operating_cash revenue=254453 cash_like_assets=11144 percent_revenue=2%formula.operating_current_assets
Section titled “formula.operating_current_assets”Calculate operating current assets
Usage
finance formula.operating_current_assets current_assets=34246 [cash_like_assets=11144 operating_cash=5089]Examples
finance formula.operating_current_assets current_assets=34246 cash_like_assets=11144 operating_cash=5089formula.operating_current_liabilities
Section titled “formula.operating_current_liabilities”Calculate operating current liabilities
Usage
finance formula.operating_current_liabilities current_liabilities=35464 [interest_bearing_current_debt=103]Examples
finance formula.operating_current_liabilities current_liabilities=35464 interest_bearing_current_debt=103formula.roic
Section titled “formula.roic”Calculate ROIC from NOPAT and invested capital
Usage
finance formula.roic nopat=7113 invested_capital=28077Examples
finance formula.roic nopat=7113 invested_capital=28077formula.turnover
Section titled “formula.turnover”Calculate turnover using average balance
Usage
finance formula.turnover numerator=222358 current=18647 prior=16651Examples
finance formula.turnover numerator=222358 current=18647 prior=16651formula.wacc
Section titled “formula.wacc”Calculate WACC with explicit debt tax convention
Usage
finance formula.wacc equity_value=418856 debt_value=11415 cost_of_equity=9.66% cost_of_debt=6% tax_rate=24% debt_tax=pretax|after_taxExamples
finance formula.wacc equity_value=418856 debt_value=11415 cost_of_equity=9.66% cost_of_debt=6% tax_rate=24% debt_tax=pretaxformula.working_capital
Section titled “formula.working_capital”Calculate operating working capital
Usage
finance formula.working_capital operating_current_assets=28191 operating_current_liabilities=35035Examples
finance formula.working_capital operating_current_assets=28191 operating_current_liabilities=35035fundamentals.*
Section titled “fundamentals.*”fundamentals.statement
Section titled “fundamentals.statement”Fetch income/balance/cashflow statement data
Usage
finance fundamentals.statement SYMBOL [statement=income|balance|cashflow period=annual|quarterly]Examples
finance fundamentals.statement NVDA statement=income period=quarterlyindustry.*
Section titled “industry.*”industry.keys
Section titled “industry.keys”List Yahoo industry keys, optionally filtered by sector
Usage
finance industry.keys [sector=SECTOR_KEY]Examples
finance industry.keys sector=technologyindustry.overview
Section titled “industry.overview”Fetch industry overview metadata
Usage
finance industry.overview KEYExamples
finance industry.overview software-infrastructureindustry.table
Section titled “industry.table”Fetch industry top companies or reports
Usage
finance industry.table KEY [table=top_companies|top_growth_companies|top_performing_companies|research_reports limit=25]Examples
finance industry.table software-infrastructure table=top_companies limit=10finance industry.table software-infrastructure table=top_growth_companies limit=10ir.presentations
Section titled “ir.presentations”Discover IR and investor day presentations from SEC 8-K Exhibit 99 filings
Usage
finance ir.presentations SYMBOL [limit=20 source=auto|sec|company_ir|all]Examples
finance ir.presentations IOTfinance ir.presentations IOT limit=10 source=allfinance ir.presentations NVDA limit=5 source=secDetails
- Scans recent 8-K filings for Exhibit 99 files with presentation or slides keywords.
- source=auto uses SEC first, then company IR fallback when SEC finds no candidates.
- source=all combines SEC and company IR candidates.
- Press releases and earnings releases are filtered unless a distinct deck/slides signal is present.
- confidence: high = strong presentation signal, medium = weaker or conflicting signal.
- kind: investor_day | earnings_presentation | ir_presentation | exhibit_99
- Use ir.read url=URL to extract text from a candidate.
ir.read
Section titled “ir.read”Extract text from an IR presentation exhibit URL
Usage
finance ir.read url=URL [max_chars=12000 ocr=off|auto|force]Examples
finance ir.read url=https://www.sec.gov/Archives/edgar/data/320193/000032019326000013/aapl-20260328.htmfinance ir.read url=https://www.sec.gov/Archives/edgar/data/320193/000032019326000013/aapl-20260328.htm ocr=off max_chars=4000Details
- HTML exhibits/pages are fetched and parsed to plain text.
- PDF extraction uses pypdf and returns page-level text when possible.
- ocr=auto or ocr=force uses the default PaddleOCR/PP-StructureV3 stack.
- Pass the url from ir.presentations output.
kpi.extract
Section titled “kpi.extract”Extract KPI evidence from filings or transcripts
Usage
finance kpi.extract SYMBOL [source=transcripts|filings|both metrics=arr,nrr limit=30 quarter=latest form=10-K]Examples
finance kpi.extract IOT source=transcripts metrics=arr,net_new_arr,large_customers,nrrfinance kpi.extract IOT source=both metrics=arr,emerging_products,rpo limit=20Details
- Returns evidence rows, not investment conclusions.
kpi.history
Section titled “kpi.history”Extract KPI evidence across recent transcripts
Usage
finance kpi.history SYMBOL [source=transcripts metrics=arr,nrr limit=4 per_document_limit=20]Examples
finance kpi.history IOT metrics=arr,large_customers,emerging_products limit=4market.*
Section titled “market.*”market.ohlcv
Section titled “market.ohlcv”Fetch normalized OHLCV records for one or more symbols
Usage
finance market.ohlcv SYMBOL[,SYMBOL...] [timeframe=1d start_date=YYYY-MM-DD end_date=YYYY-MM-DD limit=200 provider=auto include_attempts=false]Examples
finance market.ohlcv NVDA timeframe=1d limit=20finance market.ohlcv AAPL,MSFT,NVDA timeframe=1d limit=5 provider=autoDetails
- Arguments use key=value syntax for script-friendly CLI calls.
market.quote
Section titled “market.quote”Fetch quote via the best available provider
Usage
finance market.quote SYMBOLExamples
finance market.quote NVDADetails
- Uses Alpha Vantage when configured, with Yahoo fallback.
market.regime
Section titled “market.regime”Show market regime context
Usage
finance market.regime [MARKET=US] [TIMEFRAME=swing]Examples
finance market.regime US swingmarket.sector_heat
Section titled “market.sector_heat”Show sector heat rankings
Usage
finance market.sector_heat [MARKET=US] [LOOKBACK_DAYS=20] [GROUP_BY=sector]Examples
finance market.sector_heat US 20 sectormarket.status
Section titled “market.status”Show Yahoo market open/close status and index summary
Usage
finance market.status [MARKET=US]Examples
finance market.status USnews.*
Section titled “news.*”news.analyze
Section titled “news.analyze”Analyze news volume, tone, context, or geography
Usage
finance news.analyze analysis=timeline|tone|context|geo|doc [query=TEXT | symbol=SYMBOL | sector=SECTOR] [mode=MODE max_records=50 timespan=30D|1W|1M|24H date=YYYY-MM-DD start_date=YYYY-MM-DD end_date=YYYY-MM-DD start_datetime=YYYYMMDDHHMMSS end_datetime=YYYYMMDDHHMMSS]Examples
finance news.analyze symbol=NVDA analysis=timeline timespan=1dfinance news.analyze symbol=NVDA analysis=timeline timespan=1Mfinance news.analyze query='NVIDIA export controls' analysis=context max_records=5 timespan=24hfinance news.analyze symbol=IOT analysis=timeline start_date=2026-03-03 end_date=2026-03-09finance news.analyze query=FOOD_SECURITY analysis=geo max_records=3 timespan=1hDetails
- Use this only when you need trend, tone, context, geo, or raw DOC analysis.
- Use timespan for relative lookback from now, such as 30D, 1W, 1M, 24H, or 90min.
- date/start_date/end_date are preferred for routine use; datetime inputs provide precision controls.
news.search
Section titled “news.search”Search finance news through GDELT
Usage
finance news.search [query=TEXT | symbol=SYMBOL | sector=SECTOR] [max_records=50 timespan=30D|1W|1M|24H date=YYYY-MM-DD start_date=YYYY-MM-DD end_date=YYYY-MM-DD start_datetime=YYYYMMDDHHMMSS end_datetime=YYYYMMDDHHMMSS]Examples
finance news.search symbol=NVDA max_records=5finance news.search symbol=NVDA timespan=30D max_records=10finance news.search symbol=NVDA timespan=1W max_records=10finance news.search query='NVIDIA export controls' timespan=24hfinance news.search symbol=IOT date=2026-03-06 max_records=5finance news.search symbol=IOT start_date=2026-03-03 end_date=2026-03-09 max_records=5Details
- Use date for one full day, or start_date/end_date for a full-day range.
- Use timespan for relative lookback from now, such as 30D, 1W, 1M, 24H, or 90min.
- Use start_datetime/end_datetime only when you need second-level precision.
- Use either timespan or fixed date/date-time inputs, not both.
price.*
Section titled “price.*”price.context
Section titled “price.context”Return a source-linked evidence timeline around a date
Usage
finance price.context SYMBOL date=YYYY-MM-DD [lookback=3D news_limit=5 filing_limit=80 transcript_limit=12]Examples
finance price.context IOT date=2026-03-06 lookback=3Dfinance price.context NVDA date=2025-01-27 lookback=2D news_limit=5finance price.context IOT date=2026-03-06 lookback=1W news_limit=5Details
- lookback is calendar time around date: 3D=3 calendar days before and after, 1W=7 calendar days, 1M=30 calendar days.
- Timeline roles are temporal only: before_move, same_day, after_move.
- Event/publication dates are explicit to avoid implied causal claims.
price.moves
Section titled “price.moves”Find large deterministic close-to-close stock moves
Usage
finance price.moves SYMBOL [window=1d|3d|1w|1m years=3 threshold=8|8% limit=20 provider=auto]Examples
finance price.moves IOT years=3 threshold=8% limit=10finance price.moves NVDA window=3d years=2 threshold=12%finance price.moves NVDA window=1w years=2 threshold=15 limit=10Details
- window is a trading-day window: 1d=1 trading day, 1w=5 trading days, 1m=21 trading days.
- threshold accepts decimal or percentage-point inputs: 0.08, 8, and 8% all mean 8%.
- Uses one OHLCV fetch and deterministic close-to-close math.
- Returns move dates and magnitude only; it does not infer causality.
research.*
Section titled “research.*”research.plan
Section titled “research.plan”Return a deterministic research command checklist
Usage
finance research.plan SYMBOL [style=fundamental]Examples
finance research.plan IOT style=fundamentalDetails
- This returns suggested commands only; it does not execute research or form conclusions.
- Use this as a navigation layer for repeatable research workflows.
screen.*
Section titled “screen.*”screen.predefined
Section titled “screen.predefined”List predefined Yahoo equity screens
Usage
finance screen.predefinedExamples
finance screen.predefinedscreen.run
Section titled “screen.run”Run a predefined Yahoo equity screen
Usage
finance screen.run QUERY [count=25 offset=0 sort_field=FIELD sort_asc=false]Examples
finance screen.run day_gainers count=10Details
- Use screen.predefined to list available query keys.
- count is the maximum number of quotes requested.
sector.*
Section titled “sector.*”sector.industries
Section titled “sector.industries”List industries in a sector
Usage
finance sector.industries KEYExamples
finance sector.industries technologysector.keys
Section titled “sector.keys”List Yahoo sector keys
Usage
finance sector.keysExamples
finance sector.keyssector.overview
Section titled “sector.overview”Fetch sector overview metadata
Usage
finance sector.overview KEYExamples
finance sector.overview technologysector.table
Section titled “sector.table”Fetch sector top companies, funds, or reports
Usage
finance sector.table KEY [table=top_companies|top_etfs|top_mutual_funds|research_reports limit=25]Examples
finance sector.table technology table=top_companies limit=10finance sector.table technology table=top_etfs limit=5sources.*
Section titled “sources.*”sources.list
Section titled “sources.list”List finance data sources and capabilities
Usage
finance sources.listExamples
finance sources.listDetails
- No network calls; reports known providers and capabilities.
sources.status
Section titled “sources.status”Show package and environment configuration for data sources
Usage
finance sources.statusExamples
finance sources.statusDetails
- No network calls; use sources.test for connectivity checks.
sources.test
Section titled “sources.test”Run small connectivity checks against one or all data sources
Usage
finance sources.test [SOURCE|source=SOURCE] [symbol=AAPL timeout=30]Examples
finance sources.test yfinance symbol=AAPLfinance sources.test sec symbol=AAPLfinance sources.test source=all symbol=AAPL timeout=30Details
- Returns pass/fail plus latency for configured providers.
symbol.*
Section titled “symbol.*”symbol.profile
Section titled “symbol.profile”Show real quote and SEC company metadata for a symbol
Usage
finance symbol.profile SYMBOLExamples
finance symbol.profile IOTDetails
- Uses yfinance for market metadata and SEC ticker metadata for CIK/company identity.
symbol.snapshot
Section titled “symbol.snapshot”Show real quote and company metadata for a symbol
Usage
finance symbol.snapshot SYMBOLExamples
finance symbol.snapshot NVDAtranscripts.*
Section titled “transcripts.*”transcripts.qa
Section titled “transcripts.qa”Extract analyst Q&A pairs from a transcript
Usage
finance transcripts.qa [SYMBOL] [url=URL] [quarter=latest limit=10]Examples
finance transcripts.qa IOT quarter=latest limit=5transcripts.read
Section titled “transcripts.read”Read a transcript and split prepared remarks / Q&A
Usage
finance transcripts.read [SYMBOL] [url=URL] [quarter=latest max_chars=12000 include_turns=false]Examples
finance transcripts.read IOT quarter=latest max_chars=4000finance transcripts.read IOT include_turns=true max_chars=2000finance transcripts.read url=https://www.fool.com/earnings/call-transcripts/2026/03/05/samsara-iot-q4-2026-earnings-call-transcript/transcripts.search
Section titled “transcripts.search”Search public earnings-call transcripts
Usage
finance transcripts.search SYMBOL [limit=4 debug=false]Examples
finance transcripts.search IOT limit=4finance transcripts.search IOT debug=trueDetails
- Uses public Motley Fool transcript pages when available.
valuation.*
Section titled “valuation.*”valuation.dcf
Section titled “valuation.dcf”Calculate DCF enterprise value from forecast cash flows
Usage
finance valuation.dcf cashflows=100M,120M,140M discount_rate=10% [terminal_growth=3%|exit_multiple=15]Examples
finance valuation.dcf cashflows=100M,120M,140M discount_rate=10% terminal_growth=3%finance valuation.dcf cashflows=100M,120M,140M discount_rate=10% exit_multiple=15Details
- Pass forecast FCF only; do not include an initial t=0 investment cash flow.
- Forecast cash flows are discounted from t=1.
- Use either terminal_growth or exit_multiple, not both.
valuation.irr
Section titled “valuation.irr”Calculate IRR for periodic cash flows
Usage
finance valuation.irr cashflows=-100M,30M,40M,50MExamples
finance valuation.irr cashflows=-100M,30M,40M,50MDetails
- Cash flows are periodic; returns null with a warning when no IRR solution is bracketed.
valuation.multiples
Section titled “valuation.multiples”Calculate current sales multiples from market cap and revenue
Usage
finance valuation.multiples SYMBOLExamples
finance valuation.multiples IOTDetails
- Deterministic math only; does not judge whether the multiple is fair.
valuation.npv
Section titled “valuation.npv”Calculate NPV for periodic cash flows
Usage
finance valuation.npv cashflows=-100M,30M,40M,50M discount_rate=10%Examples
finance valuation.npv cashflows=-100M,30M,40M,50M discount_rate=10%Details
- First cash flow is treated as t=0. Use this for project-level NPV including initial investment.
valuation.scenario
Section titled “valuation.scenario”Build a simple bull/base/bear sales-multiple scenario table
Usage
finance valuation.scenario SYMBOL revenue=2.2B bear_multiple=7 base_multiple=10 bull_multiple=13 [shares=580M]Examples
finance valuation.scenario IOT revenue=2.2B bear_multiple=7 base_multiple=10 bull_multiple=13 shares=580Mfinance valuation.scenario IOT revenue=2200000000 bear_multiple=7 base_multiple=10 bull_multiple=13Details
- Uses current quote for price/share count when available; assumptions remain user-supplied.
- Revenue and shares accept raw numbers or K/M/B suffixes.
valuation.wacc
Section titled “valuation.wacc”Calculate weighted average cost of capital
Usage
finance valuation.wacc equity_value=10B debt_value=1B cost_of_equity=10% cost_of_debt=5% tax_rate=21%Examples
finance valuation.wacc equity_value=10B debt_value=1B cost_of_equity=10% cost_of_debt=5% tax_rate=21%Details
- Formula: E/(D+E)*Re + D/(D+E)Rd(1-tax). Inputs are user-supplied.