Search filings and announcements
search_filingsSemantic search over MOPS filings and announcements — ⚠️ NOT YET AVAILABLE (語意檢索尚未提供/建置中).
★ STATUS, READ FIRST: the semantic index has not been built. Every call currently returns NO
rows, with `corpus.index_is_empty: true` and `corpus.service_status: "not_yet_available"`.
Tell the user this capability is not available yet. Do NOT present it as a working feature,
and do NOT read the empty result as "the company disclosed nothing" — it is a service state,
not a fact about any company.
Once built, it matches on MEANING rather than keywords. The declared corpus is MOPS 重大訊息
subject lines plus a small MOPS full-text set; financial-statement notes do not exist in this
database and company news is refused — `corpus` in every response says exactly what is indexed.
★ POINT-IN-TIME: pass `as_of` (YYYY-MM-DD). Chunks are filtered `published_at <= as_of` in SQL
BEFORE ranking, so a backtest cannot retrieve a filing that did not exist yet. `meta.as_of_applied`
echoes the cutoff that actually ran — check it. **Without `as_of` the results include the most
recent filings and are look-ahead UNSAFE for backtesting**; the response says so in `meta.warnings`.
★ REFERENCE CONTEXT, NOT AUTHORITY. Every hit carries `source`, `source_tier`
("official" = MOPS/exchange, "third_party" = press) and a `url`. Read the chunk and judge it
yourself; the ranking is similarity, not importance, and similarity is not evidence.
**Nothing here is investment advice** (`not_investment_advice: true`).
★ A ticker you asked about that returns nothing appears in `coverage.missing` with a reason.
That means NOTHING IS INDEXED for it under those filters — it does NOT mean the company
disclosed nothing. Do not fill the gap.
Args:
query: what to look for, in Chinese or English (e.g. '匯率風險', 'CoWoS capacity').
tickers: restrict to these codes, e.g. ['2330','2317'].
doc_type: 'mops_major_event' or 'mops_announcement_fulltext' (the only declared types).
as_of: knowledge-time cutoff 'YYYY-MM-DD' — use it for anything backtest-shaped.
source_tier: 'official' to exclude third-party press.
limit: <= 100.
Returns: {data:[{ticker,doc_type,published_at,source,source_tier,url,chunk_text,similarity}],
meta:{as_of_applied,point_in_time_safe,embedding_model,warnings,query_id},
provenance:{...}, coverage:{requested,returned,missing,reason}, freshness:{...}}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | ||
| limit | No | ||
| query | Yes | ||
| tickers | No | ||
| doc_type | No | ||
| source_tier | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||