finviz-screener
npx skills add https://github.com/tradermonty/claude-trading-skills --skill finviz-screener
Agent 安装分布
Skill 文档
FinViz Screener
Overview
Translate natural-language stock screening requests into FinViz screener filter codes, build the URL, and open it in Chrome. No API key required for public screener; FINVIZ Elite is auto-detected from $FINVIZ_API_KEY for enhanced functionality.
Key Features:
- Natural language â filter code mapping (Japanese + English)
- URL construction with view type and sort order selection
- Elite/Public auto-detection (environment variable or explicit flag)
- Chrome-first browser opening with OS-appropriate fallbacks
- Strict filter validation to prevent URL injection
When to Use This Skill
Explicit Triggers:
- “é«é å½ã§æé·ãã¦ããå°åæ ªãæ¢ããã”
- “Find oversold large caps near 52-week lows”
- “ãã¯ããã¸ã¼ã»ã¯ã¿ã¼ã®å²å®æ ªãã¹ã¯ãªã¼ãã³ã°ããã”
- “Screen for stocks with insider buying”
- “FinVizã§ãã¬ã¤ã¯ã¢ã¦ãåè£ã表示ã㦔
- “Show me high-growth small caps on FinViz”
- “é å½å©åã5%以ä¸ã§ROE15%以ä¸ã®éæãæ¢ã㦔
Implicit Triggers:
- User describes stock screening criteria using fundamental or technical terms
- User mentions FinViz screener or stock filtering
- User asks to find stocks matching specific financial characteristics
When NOT to Use:
- Deep fundamental analysis of a specific stock (use us-stock-analysis)
- Portfolio review with holdings (use portfolio-manager)
- Chart pattern analysis on images (use technical-analyst)
- Earnings-based screening (use earnings-trade-analyzer or pead-screener)
Workflow
Step 1: Load Filter Reference
Read the filter knowledge base:
cat references/finviz_screener_filters.md
Step 2: Interpret User Request
Map the user’s natural-language request to FinViz filter codes. Use the Common Concept Mapping table below for quick translation, and reference the full filter list for precise code selection.
Common Concept Mapping:
| User Concept (EN) | User Concept (JP) | Filter Codes |
|---|---|---|
| High dividend | é«é å½ | fa_div_o3 or fa_div_o5 |
| Small cap | å°åæ ª | cap_small |
| Mid cap | ä¸åæ ª | cap_mid |
| Large cap | å¤§åæ ª | cap_large |
| Mega cap | è¶ å¤§åæ ª | cap_mega |
| Value / cheap | å²å® | fa_pe_u20,fa_pb_u2 |
| Growth stock | æé·æ ª | fa_epsqoq_o25,fa_salesqoq_o15 |
| Oversold | 売ãããã | ta_rsi_os30 |
| Overbought | è²·ãããã | ta_rsi_ob70 |
| Near 52W high | 52é±é«å¤ä»è¿ | ta_highlow52w_b0to5h |
| Near 52W low | 52é±å®å¤ä»è¿ | ta_highlow52w_a0to5l |
| Breakout | ãã¬ã¤ã¯ã¢ã¦ã | ta_highlow52w_b0to5h,sh_relvol_o1.5 |
| Technology | ãã¯ããã¸ã¼ | sec_technology |
| Healthcare | ãã«ã¹ã±ã¢ | sec_healthcare |
| Energy | ã¨ãã«ã®ã¼ | sec_energy |
| Financial | éè | sec_financial |
| Semiconductors | åå°ä½ | ind_semiconductors |
| Biotechnology | ãã¤ãªã㯠| ind_biotechnology |
| US stocks | ç±³å½æ ª | geo_usa |
| Profitable | é»å | fa_pe_profitable |
| High ROE | é«ROE | fa_roe_o15 or fa_roe_o20 |
| Low debt | ä½è² åµ | fa_debteq_u0.5 |
| Insider buying | ã¤ã³ãµã¤ãã¼è²·ã | sh_insidertrans_verypos |
| Short squeeze | ã·ã§ã¼ãã¹ã¯ã¤ã¼ãº | sh_short_o20,sh_relvol_o2 |
| Dividend growth | å¢é | fa_divgrowth_3yo10 |
| Deep value | ãã£ã¼ãããªã¥ã¼ | fa_pb_u1,fa_pe_u10 |
| Momentum | ã¢ã¡ã³ã¿ã | ta_perf_13wup,ta_sma50_pa,ta_sma200_pa |
| Defensive | ãã£ãã§ã³ã·ã | ta_beta_u0.5 or sec_utilities,sec_consumerdefensive |
| Liquid / high volume | é«åºæ¥é« | sh_avgvol_o500 or sh_avgvol_o1000 |
| Fallen angel | æ¥è½å¾åçº | ta_highlow52w_b20to30h,ta_rsi_os40 |
| AI theme | AIãã¼ã | theme_artificialintelligence |
| Cybersecurity theme | ãµã¤ãã¼ã»ãã¥ãªã㣠| theme_cybersecurity |
| EV undervalued | EVå²å® | fa_evebitda_u10 |
| Earnings next week | æ¥é±æ±ºç® | earningsdate_nextweek |
| IPO recent | ç´è¿IPO | ipodate_thismonth |
| Target price above | ç®æ¨æ ªä¾¡ä»¥ä¸ | targetprice_a20 |
| Recent news | ææ°ãã¥ã¼ã¹ãã | news_date_today |
| High institutional | æ©é¢ä¿æçé« | sh_instown_o60 |
| Low float | æµ®åæ ªå° | sh_float_u20 |
| Near all-time high | å²ä¸æé«å¤ä»è¿ | ta_alltime_b0to5h |
| High ATR | é«ãã©ãã£ãªã㣠| ta_averagetruerange_o1.5 |
Step 3: Present Filter Selection
Before executing, present the selected filters in a table for user confirmation:
| Filter Code | Meaning |
|---|---|
| cap_small | Small Cap ($300Mâ$2B) |
| fa_div_o3 | Dividend Yield > 3% |
| fa_pe_u20 | P/E < 20 |
| geo_usa | USA |
View: Overview (v=111)
Mode: Public / Elite (auto-detected)
Ask the user to confirm or adjust before proceeding.
Step 4: Execute Script
Run the screener script to build the URL and open Chrome:
python3 scripts/open_finviz_screener.py \
--filters "cap_small,fa_div_o3,fa_pe_u20,geo_usa" \
--view overview
Script arguments:
--filters(required): Comma-separated filter codes--elite: Force Elite mode (auto-detected from$FINVIZ_API_KEYif not set)--view: View type â overview, valuation, financial, technical, ownership, performance, custom--order: Sort order (e.g.,-marketcap,dividendyield,-change)--url-only: Print URL without opening browser
Step 5: Report Results
After opening the screener, report:
- The constructed URL
- Elite or Public mode used
- Summary of applied filters
- Suggested next steps (e.g., “Sort by dividend yield”, “Switch to Financial view for detailed ratios”)
Resources
references/finviz_screener_filters.mdâ Complete filter code reference with natural language keywords (includes industry code examples; full 142-code list is in the Industry Codes section)scripts/open_finviz_screener.pyâ URL builder and Chrome opener