Marty Schwartz 10-EMA + MACD Screener — approximation (FinBridge DB)
screen_schwartzScreen KR, US and/or TW stocks for a Marty Schwartz short-term momentum setup, evaluated on the nightly indicators_latest snapshot (daily corporate-action-adjusted KR prices).
APPROXIMATION: Marty Schwartz is a discretionary short-term trader; this screener only proxies his "10-day EMA green light + MACD momentum" principle. It is not his full method (which includes intraday timing, tape reading, and risk discretion). Expect false positives and misses.
Conditions (all required):
close > 10-day EMA (Schwartz's "green light")
if require_macd_bull: MACD histogram > 0 (momentum bullish)
RS percentile >= 'rs_min'
price <= 'max_ext_pct'% above the 10-day EMA (not over-extended)
Args:
market: 'kr', 'us', or 'all' (default)
rs_min: minimum RS percentile 1-99 (default 60)
require_macd_bull: require MACD histogram > 0 (default true)
max_ext_pct: max % above the 10-day EMA before over-extended (default 12)
min_vol_avg20: optional minimum 20-day average volume (liquidity filter)
min_price: optional minimum close price (avoid low-priced stocks; e.g. 10 for US$, 5000 for KRW)
sort_by: rs_pctile|pct_from_ema10|ret_20d|ret_5d|macd_hist|close (default rs_pctile)
order: 'asc'|'desc' (default 'desc'); limit: 1-50 (default 20); response_format: 'markdown'|'json'
Returns: {count, market, criteria:{rs_min, require_macd_bull, max_ext_pct}, rows:[{name, source, ticker|stock_code, as_of, close, ema10, ema20, pct_from_ema10, macd_hist, rs_pctile, ret_20d}]}.
Examples:
US short-term momentum, liquid: {market:'us', min_vol_avg20: 500000}
KR names on a fresh 10EMA green light, tight: {market:'kr', rs_min: 70, max_ext_pct: 6}
Use when: shortlisting short-term momentum names on a 10-EMA green light (Schwartz style, approximate). Don't treat a pass as a Schwartz buy — his method is discretionary. For the trend template use screen_minervini; for EMA-support leaders use screen_kell. Notes: KR/US/TW prices are adjusted for corporate actions but not dividends (indicators around dividend events may be slightly distorted); US history starts 2023-03-28 (volume from 2024-07-01) so long-window figures are shallower there. This is an approximation of a discretionary method, not a faithful reproduction. Market data, not investment advice. Errors: an empty result is not an error (count 0 = nothing passed today); 'database has not been built yet' -> ingest/indicators has not run.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows, 1-50 (default 20) | |
| order | No | Sort direction (default desc) | desc |
| market | No | Market: 'kr' (default), 'us', 'tw', or 'all'. Japan has no redistributable price source, so it is not screenable. | kr |
| rs_min | No | Minimum RS percentile (default 60) | |
| sort_by | No | Sort column (default rs_pctile) | rs_pctile |
| min_price | No | Minimum close price (avoid low-priced stocks; e.g. 10 for US$, 5000 for KRW) | |
| max_ext_pct | No | Max % above the 10-day EMA before over-extended (default 12) | |
| min_vol_avg20 | No | Minimum 20-day average volume (liquidity filter) | |
| response_format | No | 'markdown' for a table, 'json' for compact machine-readable output | markdown |
| require_macd_bull | No | Require MACD histogram > 0 (default true) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | ||
| count | Yes | ||
| notes | No | ||
| order | No | ||
| market | Yes | ||
| signals | No | ||
| sort_by | No | ||
| us_note | No | ||
| criteria | No |