Screener Tools
These tools answer questions like:
- "Find profitable small-cap US tech stocks with growing revenue"
- "Which stocks just had a golden cross this week?"
- "Show me high-yield dividend stocks in Japan"
- "Which biotech stocks is the options crowd getting scared of?"
- "Which Asian stocks are in the most AI-related news?"
Tools at a glanceβ
| Tool | What it does |
|---|---|
screen_unified | Universe Γ fundamental Γ technical Γ options β the full screener |
screen_stocks | News-driven screen: which names are appearing in a theme/country/sector |
screen_dividends | Income screen by yield, dividend streak, and growth |
find_tasignal | Resolve a plain-language TA phrase to a screener token |
The resolver tools (find_fsconcept, find_fspattern, find_oppattern) used to build screen_unified conditions are documented in Financials and Options.
screen_unified β The full screenerβ
The most powerful tool. Screens the full universe (~25,000 names) using any combination of three independent legs β all optional, AND-ed:
Fundamental legβ
Financial conditions like roe > 20%, revenue growing consecutively for 3 years, net debt is negative. Build each condition from:
find_fsconcept("gross margin")β field keygross_marginfind_fspattern("above 40%")β patternabove,threshold: 0.40
Technical legβ
Chart pattern conditions like a golden cross, RSI below 30, price at new highs. Build each signal from:
find_tasignal("golden cross")βcrossover_up, operandsema50/ema200
Supports multi-timeframe: mix daily/weekly/monthly in one screen by setting each signal's timeframe (1=daily, 2=weekly, 3=monthly).
Options legβ
Options-market behavior across the ~557 US optionable names. Resolve the pattern first:
find_oppattern("fear building")β pattern tokenfear_building
Universe filtersβ
Narrow the candidate universe before applying legs:
| Filter | Example |
|---|---|
gics | GICS code prefix: 45 (IT sector), 352010 (biotech industry) |
country | ISO-2 list: ["US"], ["JP","KR","TW"] |
size | Relative tier: large, mid, small, micro |
asset_type | Common Stock, ETF, Crypto, REIT, etc. |
theme | Megatrend node id(s) from find_megatrend |
min_market_cap_usd / max_market_cap_usd | Absolute USD band |
exclude_gics | GICS codes to exclude (e.g. "4010" = no banks) |
Example screensβ
| User asks | How it's built |
|---|---|
| "Profitable small-cap US tech stocks" | gics='45' + country=['US'] + size=['small'] + fund: net_income > 0 |
| "Stocks with a golden cross this week" | TA: crossover_up(ema50/ema200), window_bars=5 |
| "High-margin stocks where options crowd is bullish" | Fund: gross_margin > 0.4 + options: positioning_building_bull |
| "Biotech stocks under $5bn market cap" | gics='352010' + max_market_cap_usd=5000000000 |
Resolver workflowβ
All resolver tools are free (0 credits). The screen itself uses standard credits.
find_fsconcept("gross margin") β concept: "gross_margin"
find_fspattern("above 40%") β pattern: "above", threshold: 0.40
find_tasignal("golden cross") β pattern: "crossover_up", a: "ema50", b: "ema200"
find_oppattern("fear building") β pattern: "fear_building"
find_gics("biotech") β code: "352010"
find_megatrend("AI infra") β id: 18020000
screen_stocks β News-driven screenβ
Screens by news activity β which names appear most in recent news for a scope, ordered by news count, relevance, or market cap.
Use this when the question is "which names are getting talked about in X?"
Key filters: megatrend, gics, country, order_by (news_count / relevance / market_cap).
Each result includes a top_reason explaining why that company appears, plus a fundamentals block with pe_ratio and pb_ratio β no separate financials call needed for basic valuation.
screen_dividends β Income screenβ
Finds dividend-paying stocks ranked by yield, dividend streak (consecutive years without a cut), or CAGR.
Key filters: country, gics, order_by (yield / streak / cagr).
:::warning Yield alone is not enough A high yield from a falling price plus a recent dividend cut is a trap, not a value opportunity. Always check yield + streak + recent news together.
The tracked no-cut streak window is ~10 years. Say "clean for 10+ years (the tracked window)" β never claim a multi-decade aristocrat label from this data. :::
For dividend screens combined with TA or fundamental conditions, use screen_unified with a dividend concept in the fundamental leg.
find_tasignal β Resolve a TA pattern phraseβ
Translates plain-language technical analysis descriptions into the exact pattern tokens that screen_unified's TA leg expects.
Example inputs β what comes back:
| Input | Pattern token | Operands |
|---|---|---|
"golden cross" | crossover_up | a=ema50, b=ema200 |
"RSI oversold" | rsi_below_threshold | threshold=30 |
"price at new highs" | breakout_high | β |
"Bollinger Band squeeze" | bb_squeeze | β |
"bearish divergence" | divergence_bearish | a=close, b=rsi14 |
The response is a ranked candidate list β the AI picks the best match and feeds it into screen_unified.
This resolver is free (0 credits).
Routing guideβ
| You want to⦠| Use |
|---|---|
| Screen by TA + fundamentals + options combined | screen_unified |
| Find which names are in the news for a theme | screen_stocks |
| Find income stocks ranked by yield/streak | screen_dividends |
| Resolve a TA pattern phrase to a token | find_tasignal |
| Resolve a financial concept (e.g. "gross margin") | find_fsconcept β Financials |
| Resolve an options behavior ("fear building") | find_oppattern β Options |