Daily Stock Screener
Use this skill to turn a watchlist into a ranked shortlist of daily trade candidates.
It is designed for lightweight daily screening, not execution-grade alpha research.
When to use
- User asks to screen a stock list for today's opportunities.
- User wants a ranked shortlist based on trend, valuation, volume, and sentiment.
- A recurring job needs a repeatable daily watchlist brief.
Inputs
Confirm these when the user provides them. If they do not, use the defaults below and state that you did.
watchlist: list of equities to screenmarket_index: benchmark for contextpe_range: default5-25rsi_range: default30-70volume_multiplier: default1.5sentiment_threshold: default0.2report_format: defaultmarkdown
Safe defaults by market:
US: benchmarkSPYgrowth / tech-heavy: benchmarkQQQA-share: benchmarkCSI 300Hong Kong: benchmarkHSI
Tools to use
Primary tools:
market_snapshotfor price, change, volume, average volume, flow hints, and momentum proxymarket_fundamentalsfor valuation fields such as PE when availablemarket_newsfor recent headlinesmarket_social_sentimentfor crowd tone when relevantmarket_brieffor final market summary and scenario framing
Optional enrichment:
- If the user explicitly requires exact
RSI,20MA, or50MA, loadstock-info-explorerand use its local Yahoo-based script. - If exact indicator coverage is unavailable for a symbol or market, do not invent values. Mark them as
unavailableand continue with the remaining filters.
Read references/screening-playbook.md when you need:
- the default scoring breakdown
- explicit downgrade behavior for missing indicators
- a reusable rejected / borderline classification pattern
Processing pipeline
Run this pipeline in order:
- Normalize the watchlist and identify the market lane.
- Fetch snapshot and fundamentals data for every symbol.
- Apply hard filters:
- PE inside range, if PE exists
- volume spike above
volume_multiplier - trend / momentum proxies are not clearly bearish
- Fetch recent headlines for the remaining names.
- Score sentiment from headlines and social context.
- Rank surviving names.
- Generate a short market brief plus top candidates.
Screening rules
Use the user's exact thresholds when provided. Otherwise use the defaults below.
Hard filters
P/E Ratio: keep names inside5-25when PE is availableVolume Spike: prefer names withvolume / avgVolume > 1.5Trend Filter: prefer names with positive momentum or clear inflow hintsSentiment Filter: prefer names with sentiment score above0.2
Technical rules
If exact technical indicators are available:
RSI: keep30-70Trend Filter: price above50MAMomentum:20MA > 50MA
If exact technical indicators are not available:
- use
market_snapshotmomentum + flow hints as a proxy - explicitly label technical precision as limited
Ranking
Use a transparent score. A simple default is:
score =
0.30 * trend_score
+ 0.25 * volume_score
+ 0.25 * sentiment_score
+ 0.20 * valuation_score
Interpretation:
trend_score: price structure, momentum, inflow hintvolume_score: volume spike vs average volumesentiment_score: headlines plus optional social tonevaluation_score: PE inside range and not obviously stretched
If a factor is unavailable, reduce its weight and say so.
The more detailed scoring and downgrade notes live in references/screening-playbook.md.
Pairings
- Use
market-reportif the user wants a full write-up after the screener. - Use
news-intelligenceif one candidate has a complex catalyst that needs deeper event analysis. - Use
sentiment-analysisif the user asks for a fuller sentiment breakdown. - Use
stock-data-sourcingif source coverage is uncertain for the target market. - Use
catalyst-trackerfor earnings dates and known upcoming catalysts.
Output format
Default to Markdown:
# Daily Stock Screener Report
## Market Context
- Benchmark:
- Session:
- Screening assumptions:
## Top Candidates
### 1. <SYMBOL>
- Score:
- Price:
- PE:
- RSI:
- Volume vs Avg:
- Sentiment:
- Why it passed:
- Risk flags:
### 2. <SYMBOL>
- Score:
- Price:
- PE:
- RSI:
- Volume vs Avg:
- Sentiment:
- Why it passed:
- Risk flags:
## Rejected / Borderline
- <SYMBOL>: reason
## Market Summary
- Breadth / tone:
- Best setups:
- Main risks:
> Disclaimer: MarketBot provides research and analysis only, not financial advice.
If the user asks for JSON, return:
{
"top_candidates": [],
"sentiment_scores": {},
"technical_metrics": {},
"risk_flags": {},
"market_summary": ""
}
Rules
- Do not fabricate PE, RSI, moving averages, insider activity, or earnings dates.
- Separate hard facts from model judgment.
- If fewer than two names survive, say that the screen is sparse instead of padding the list.
- When sentiment is mixed or stale, downgrade confidence.
- Keep the final brief concise and ranking-oriented.
扫码联系在线客服