Read-only PostgreSQL SELECT over financial / market / alt-data tables — returns structured rows.
Hard rules (query fails otherwise):
- SELECT only, no CTE (`WITH ... AS`) — use subqueries.
- Date/period columns are TEXT — compare as strings (`period_end >= '2024-01'`). No `::date` cast, no `INTERVAL` math.
- No `ROUND(float8, int)` — use `CAST(x AS DECIMAL(10,2))` when rounding.
- Filter structured tables by ticker (`WHERE ticker IN ('AAPL','MSFT')`; screening: add `ticker NOT LIKE '%-%'` to drop preferred stock). Alt-data is macro/industry — no ticker filter.
Before querying a table, call `get_table_schema(table)` — it returns that table's columns PLUS its required filters, gotchas, and ticker formats. For alt-data tables call `list_tables(categories=[...])` to discover them.
Sibling tools: SEC filing narrative → sec_report_search; qualitative company discovery → company_search; recent news / market events → signal_list.
Tables by domain (call get_table_schema for detail):
- Market: price_volume_history (OHLCV history; MUST filter ticker + time_frame), index_price, equity_extended_rt (pre/after/overnight quotes)
- Fundamentals: financial_statements (GAAP income/balance/cashflow), company_snapshot (ratios, per-share, growth)
- Earnings: earning_call_summary, earning_call_calendar
- Analyst: analyst_ratings, analyst_ratings_consensus
- Ownership: insider_and_institution_activities
- 8-K events: executive_change, company_deal_events, debt_issuance, securities_offering
- Executives: executive_profile, executive_compensation
- Alt-data: macro / industry / trade / AI-supply-chain — call list_tables(categories=[...])
Connector