Add SKILL.md
This commit is contained in:
@@ -0,0 +1,519 @@
|
|||||||
|
# SKILL: Indonesian Stock Analysis Using TradingView Screener MCP
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Use the TradingView Screener MCP tools to analyze Indonesian stocks (IDX: Jakarta Stock Exchange) by combining **fundamental analysis** (company financial health) and **technical analysis** (price/volume action). This skill provides structured methodologies to produce actionable stock analysis reports.
|
||||||
|
|
||||||
|
Indonesian stocks are accessed via `market_type="stocks"` and `market_country="indonesia"`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Available MCP Tools
|
||||||
|
|
||||||
|
| Tool | Purpose |
|
||||||
|
|------|---------|
|
||||||
|
| `get_stock_quotes(tickers=["IDX:SYMBOL"])` | Get real-time price & indicators for 1+ tickers |
|
||||||
|
| `screen_market(market_country="indonesia", ...)` | Screen across all IDX stocks with filters |
|
||||||
|
| `find_top_gainers(market_country="indonesia")` | Top gainers by % change |
|
||||||
|
| `find_top_losers(market_country="indonesia")` | Top losers by % change |
|
||||||
|
| `find_most_active(market_country="indonesia")` | Most active by volume |
|
||||||
|
| `technical_scan(market_country="indonesia", ...)` | Screen using technical conditions |
|
||||||
|
| `fundamental_scan(market_country="indonesia", ...)` | Screen using fundamental metrics |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Get Indonesian Stock Data
|
||||||
|
|
||||||
|
### 1.1 Quote Data for Specific Stocks
|
||||||
|
|
||||||
|
```json
|
||||||
|
get_stock_quotes({
|
||||||
|
"tickers": ["IDX:BBRI", "IDX:TLKM", "IDX:ASII"],
|
||||||
|
"columns": ["name","close","change","volume","RSI","MACD.macd","MACD.signal","SMA50","SMA200","market_cap_basic","price_earnings_ttm","price_to_book_fq","dividends_yield_current","return_on_equity","sector","industry"]
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### 1.2 Screen Indonesian Market
|
||||||
|
|
||||||
|
```json
|
||||||
|
screen_market({
|
||||||
|
"market_country": "indonesia",
|
||||||
|
"columns": ["name","close","change","volume","RSI","market_cap_basic","price_earnings_ttm"],
|
||||||
|
"order_by": "volume",
|
||||||
|
"limit": 50
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### 1.3 Fundamental Screen
|
||||||
|
|
||||||
|
```json
|
||||||
|
fundamental_scan({
|
||||||
|
"market_country": "indonesia",
|
||||||
|
"filters": [
|
||||||
|
{"field": "market_cap_basic", "operator": ">", "value": 10000000000000},
|
||||||
|
{"field": "price_earnings_ttm", "operator": "between", "value": [5, 20]},
|
||||||
|
{"field": "dividends_yield_current", "operator": ">", "value": 2},
|
||||||
|
{"field": "return_on_equity", "operator": ">", "value": 10}
|
||||||
|
],
|
||||||
|
"columns": ["name","close","market_cap_basic","price_earnings_ttm","price_to_book_fq","dividends_yield_current","return_on_equity","debt_to_equity","profit_margin","sector"]
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### 1.4 Technical Scan
|
||||||
|
|
||||||
|
```json
|
||||||
|
technical_scan({
|
||||||
|
"market_country": "indonesia",
|
||||||
|
"filters": [
|
||||||
|
{"field": "RSI", "operator": "<", "value": 35},
|
||||||
|
{"field": "close", "operator": "above_pct", "value": ["SMA200", 0.95]}
|
||||||
|
],
|
||||||
|
"columns": ["name","close","change","RSI","SMA50","SMA200","volume","relative_volume_10d_calc"]
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Fundamental Analysis Framework
|
||||||
|
|
||||||
|
### Core Metrics Table
|
||||||
|
|
||||||
|
| Metric | Field Name | What It Tells You | Healthy Range (IDX) |
|
||||||
|
|--------|-----------|-------------------|-------------------|
|
||||||
|
| **Market Cap** | `market_cap_basic` | Company size (in IDR) | Large-cap: >10T IDR |
|
||||||
|
| **P/E Ratio** | `price_earnings_ttm` | Price per unit of earnings | 8-18 (value); 18-30 (growth) |
|
||||||
|
| **P/B Ratio** | `price_to_book_fq` | Price vs book value | <2.5 for banks; <1.5 for cyclicals |
|
||||||
|
| **P/S Ratio** | `price_to_sales` | Price per unit of revenue | <3 (undervalued) >5 (premium) |
|
||||||
|
| **P/CF Ratio** | `price_to_cash_flow` | Price vs operating cash flow | <15 (reasonable) |
|
||||||
|
| **EPS (TTM)** | `earnings_per_share_diluted_ttm` | Profit per share | Positive & growing |
|
||||||
|
| **EPS Growth** | `earnings_per_share_diluted_yoy_growth_ttm` | Earnings momentum | >10% YoY |
|
||||||
|
| **Revenue Growth** | `revenue_growth` | Top-line growth | >5% (mature) >15% (growth) |
|
||||||
|
| **Earnings Growth** | `earnings_growth` | Bottom-line growth | Should track revenue growth |
|
||||||
|
| **ROE** | `return_on_equity` | Return on shareholder equity | >12% (good) >20% (excellent) |
|
||||||
|
| **ROA** | `return_on_assets` | Return on total assets | >5% (good) |
|
||||||
|
| **Profit Margin** | `profit_margin` | Net profit margin | >10% (good) |
|
||||||
|
| **Operating Margin** | `operating_margin` | Operating efficiency | >15% (good) |
|
||||||
|
| **Debt/Equity** | `debt_to_equity` | Leverage ratio | <1 (conservative) <2 (moderate) |
|
||||||
|
| **Current Ratio** | `current_ratio_fq` | Liquidity | >1.5 (safe) |
|
||||||
|
| **Dividend Yield** | `dividends_yield_current` | Dividend return | 2-6% (varies by sector) |
|
||||||
|
| **Beta** | `beta_1_year` | Volatility vs market | 0.5-1.5 (typical) |
|
||||||
|
| **Sector** | `sector` | Industry classification | — |
|
||||||
|
| **Industry** | `industry` | Sub-industry | — |
|
||||||
|
|
||||||
|
### 2.1 Valuation Analysis
|
||||||
|
|
||||||
|
Use this combo to assess if a stock is **undervalued, fair, or overvalued**:
|
||||||
|
|
||||||
|
```
|
||||||
|
P/E + P/B + P/S + Dividend Yield + EPS Growth → Valuation Picture
|
||||||
|
<10 + <1 + <1 + >4% + positive → Deep value
|
||||||
|
10-15 + 1-2 + 1-3 + 2-4% + 5-15% → Fair value
|
||||||
|
15-25 + 2-4 + 3-6 + 1-2% + 15-25% → Growth premium
|
||||||
|
>25 + >4 + >6 + <1% + >25% → Overvalued / high growth
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.2 Quality Analysis (PEG + ROE + Debt)
|
||||||
|
|
||||||
|
```
|
||||||
|
PEG Ratio = P/E ÷ EPS Growth
|
||||||
|
- <1.0 → Undervalued relative to growth
|
||||||
|
- 1.0-2.0 → Fairly valued
|
||||||
|
- >2.0 → Overvalued relative to growth
|
||||||
|
|
||||||
|
Quality Score (0-3):
|
||||||
|
- ROE > 15% → +1
|
||||||
|
- D/E < 1.0 → +1
|
||||||
|
- Profit Margin > 10% → +1
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.3 Indonesian Market-Specific Notes
|
||||||
|
|
||||||
|
- **Sector concentration**: IDX is dominated by Financials (banks: BBRI, BMRI, BBNI), Consumer (UNVR, ICBP, INDF), Telecom (TLKM), Mining/Energy (ADRO, ITMG, BUMI), and Infrastructure (JSMR, TLKM).
|
||||||
|
- **Liquidity matters**: Only stocks with daily volume > 1M shares are reliably tradeable.
|
||||||
|
- **Foreign ownership**: Sudden changes affect price — track institutional/insider ownership.
|
||||||
|
- **Regulatory influence**: Government policy (energy, mining, banking) heavily impacts IDX.
|
||||||
|
- **Rupiah (IDR) risk**: Currency depreciation hurts import-heavy sectors, benefits export/mining.
|
||||||
|
- **Dividend season**: Most IDX companies pay dividends once a year around April-June.
|
||||||
|
- **ARB / ARA limits**: IDX has daily price limits (7% down = ARB, up = ARA typically for most stocks, but can vary). Use `low`/`high` to check.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Technical Analysis Framework
|
||||||
|
|
||||||
|
### Core Indicators
|
||||||
|
|
||||||
|
| Indicator | Field | What It Does | How to Interpret |
|
||||||
|
|-----------|-------|-------------|------------------|
|
||||||
|
| **RSI (14)** | `RSI` | Momentum oscillator (0-100) | >70 overbought, <30 oversold |
|
||||||
|
| **RSI (5)** | `RSI.5` | Short-term momentum | Same, faster signals |
|
||||||
|
| **MACD** | `MACD.macd`, `MACD.signal`, `MACD.histogram` | Trend-momentum | Line > Signal → bullish, < Signal → bearish |
|
||||||
|
| **Stochastic** | `Stoch.K`, `Stoch.D` | %K & %D lines | >80 overbought, <20 oversold; K crosses D → signal |
|
||||||
|
| **Bollinger Bands** | `BB.upper`, `BB.middle`, `BB.lower` | Volatility bands | Touch upper → overextended; touch lower → potential bounce |
|
||||||
|
| **SMA 20** | `SMA20` | Short-term trend | Price > SMA20 → short-term uptrend |
|
||||||
|
| **SMA 50** | `SMA50` | Medium-term trend | Price > SMA50 → medium-term uptrend |
|
||||||
|
| **SMA 200** | `SMA200` | Long-term trend | Price > SMA200 → long-term bull market |
|
||||||
|
| **EMA 5/20/50/200** | `EMA5`, `EMA20`, `EMA50`, `EMA200` | Exponential MA (faster response) | Same as SMA but more current-price-sensitive |
|
||||||
|
| **ADX** | `ADX` | Trend strength | >25 → trending; <25 → ranging |
|
||||||
|
| **ATR** | `ATR` | Volatility measure | Higher → wider stops needed |
|
||||||
|
| **CCI (20)** | `CCI20` | Commodity Channel Index | >100 overbought, <-100 oversold |
|
||||||
|
| **OBV** | `OBV` | On-Balance Volume | Confirms price trends; divergence warns of reversal |
|
||||||
|
| **Williams %R** | `Williams %R` | Momentum (-100 to 0) | <-80 oversold, >-20 overbought |
|
||||||
|
| **Awesome Osc** | `AO` | Momentum (SMA5-SMA34) | >0 bullish momentum, <0 bearish |
|
||||||
|
| **VWAP** | `VWAP` | Volume-weighted avg price | Above VWAP → bullish intraday |
|
||||||
|
| **52W High/Low** | `52 Week High`, `52 Week Low` | Yearly range | Near 52W high → strong trend; near 52W low → weak |
|
||||||
|
| **Rel Volume** | `relative_volume_10d_calc` | Volume vs 10d avg | >1.5 → unusually active |
|
||||||
|
| **Tech Rating** | `TechRating_1D` | Aggregate daily rating | 0-6 range (6 = best) |
|
||||||
|
|
||||||
|
### 3.1 Trend Confirmation Pattern
|
||||||
|
|
||||||
|
```
|
||||||
|
Bullish Setup:
|
||||||
|
- Price > SMA50 > SMA200 (golden arrangement)
|
||||||
|
- SMA50 > SMA200 (golden cross already happened)
|
||||||
|
- RSI between 40-70 (room to run)
|
||||||
|
- MACD > Signal line (momentum up)
|
||||||
|
- ADX > 25 (trending)
|
||||||
|
|
||||||
|
Bearish Setup:
|
||||||
|
- Price < SMA50 < SMA200 (death arrangement)
|
||||||
|
- SMA50 < SMA200 (death cross)
|
||||||
|
- RSI between 30-50
|
||||||
|
- MACD < Signal line
|
||||||
|
- ADX > 25 (trending)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3.2 Reversal / Bounce Pattern
|
||||||
|
|
||||||
|
```
|
||||||
|
Potential Bottom:
|
||||||
|
- RSI < 30 (oversold)
|
||||||
|
- Price near BB.lower or below SMA200
|
||||||
|
- MACD histogram narrowing (bearish momentum fading)
|
||||||
|
- Stoch.K crossing above Stoch.D near <20
|
||||||
|
- OBV diverging bullish (price lower, OBV higher)
|
||||||
|
|
||||||
|
Potential Top:
|
||||||
|
- RSI > 70 (overbought)
|
||||||
|
- Price near BB.upper or far above SMA200
|
||||||
|
- MACD histogram narrowing (bullish momentum fading)
|
||||||
|
- Stoch.K crossing below Stoch.D near >80
|
||||||
|
- OBV diverging bearish (price higher, OBV lower)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3.3 Volume Analysis
|
||||||
|
|
||||||
|
```
|
||||||
|
relative_volume_10d_calc:
|
||||||
|
- > 2.0 → Extraordinary volume (breakout / breakdown)
|
||||||
|
- 1.5-2.0 → Above average (institutional interest)
|
||||||
|
- 1.0-1.5 → Normal activity
|
||||||
|
- < 0.5 → Low interest (illiquid)
|
||||||
|
|
||||||
|
Powerful signals:
|
||||||
|
- Price up + Volume > 1.5x → Strong accumulation
|
||||||
|
- Price up + Volume < 0.7x → Weak rally (may reverse)
|
||||||
|
- Price down + Volume > 1.5x → Strong distribution
|
||||||
|
- Price down + Volume < 0.7x → Exhaustion (may bottom)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Comprehensive Analysis Template
|
||||||
|
|
||||||
|
Use this structure when asked to analyze a specific Indonesian stock. Fetch data in a single batch call using `get_stock_quotes` with ALL relevant columns.
|
||||||
|
|
||||||
|
### Required Data Fetch
|
||||||
|
|
||||||
|
```json
|
||||||
|
get_stock_quotes({
|
||||||
|
"tickers": ["IDX:{TICKER}"],
|
||||||
|
"columns": [
|
||||||
|
"name","description","sector","industry","exchange","currency",
|
||||||
|
"close","open","high","low","volume","change","change_abs",
|
||||||
|
"market_cap_basic","price_earnings_ttm","earnings_per_share_diluted_ttm",
|
||||||
|
"earnings_per_share_diluted_yoy_growth_ttm","price_to_book_fq","price_to_sales",
|
||||||
|
"price_to_cash_flow","dividends_yield_current","dividends_payout_ratio",
|
||||||
|
"return_on_equity","return_on_assets","operating_margin","profit_margin",
|
||||||
|
"revenue_growth","earnings_growth","debt_to_equity","current_ratio_fq",
|
||||||
|
"beta_1_year","float","shares_outstanding",
|
||||||
|
"RSI","RSI.5","Stoch.K","Stoch.D","MACD.macd","MACD.signal","MACD.histogram",
|
||||||
|
"BB.upper","BB.middle","BB.lower","SMA20","SMA50","SMA200",
|
||||||
|
"ADX","ATR","CCI20","OBV","AO","Williams %R",
|
||||||
|
"VWAP","52 Week High","52 Week Low","relative_volume_10d_calc","volume_ma_10",
|
||||||
|
"TechRating_1D"
|
||||||
|
]
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.1 Analysis Report Format
|
||||||
|
|
||||||
|
```
|
||||||
|
# Stock Analysis: {NAME} ({TICKER})
|
||||||
|
|
||||||
|
## Company Overview
|
||||||
|
- Sector: {sector}
|
||||||
|
- Industry: {industry}
|
||||||
|
- Market Cap: {market_cap_basic} IDR
|
||||||
|
- Description: {description}
|
||||||
|
|
||||||
|
## Price Snapshot
|
||||||
|
- Current Price: {close}
|
||||||
|
- Daily Change: {change}% ({change_abs})
|
||||||
|
- 52W Range: {52 Week Low} - {52 Week High}
|
||||||
|
- VWAP: {VWAP}
|
||||||
|
|
||||||
|
## Fundamental Analysis
|
||||||
|
|
||||||
|
### Valuation
|
||||||
|
- P/E (TTM): {price_earnings_ttm} — [Undervalued/Fair/Overvalued — explain vs sector avg]
|
||||||
|
- P/B: {price_to_book_fq} — [Price vs book value assessment]
|
||||||
|
- P/S: {price_to_sales}
|
||||||
|
- P/CF: {price_to_cash_flow}
|
||||||
|
- Dividend Yield: {dividends_yield_current}%
|
||||||
|
|
||||||
|
### Profitability
|
||||||
|
- ROE: {return_on_equity}%
|
||||||
|
- ROA: {return_on_assets}%
|
||||||
|
- Operating Margin: {operating_margin}%
|
||||||
|
- Profit Margin: {profit_margin}%
|
||||||
|
|
||||||
|
### Growth & Momentum
|
||||||
|
- EPS (TTM): {earnings_per_share_diluted_ttm}
|
||||||
|
- EPS YoY Growth: {earnings_per_share_diluted_yoy_growth_ttm}%
|
||||||
|
- Revenue Growth: {revenue_growth}%
|
||||||
|
- Earnings Growth: {earnings_growth}%
|
||||||
|
|
||||||
|
### Financial Health
|
||||||
|
- Debt/Equity: {debt_to_equity}
|
||||||
|
- Current Ratio: {current_ratio_fq}
|
||||||
|
- Beta (1Y): {beta_1_year}
|
||||||
|
|
||||||
|
## Technical Analysis
|
||||||
|
|
||||||
|
### Trend
|
||||||
|
- Price vs SMA20: {close vs SMA20}
|
||||||
|
- Price vs SMA50: {close vs SMA50}
|
||||||
|
- Price vs SMA200: {close vs SMA200}
|
||||||
|
- ADX: {ADX} — [Trending (ADX>25) or Ranging]
|
||||||
|
- Overall Trend: [Bullish/Bearish/Neutral]
|
||||||
|
|
||||||
|
### Momentum
|
||||||
|
- RSI (14): {RSI} — [Overbought/Oversold/Neutral]
|
||||||
|
- RSI (5): {RSI.5}
|
||||||
|
- MACD: {MACD.macd} vs Signal {MACD.signal} — [Bullish/Bearish crossover? Histogram {MACD.histogram}]
|
||||||
|
- Stochastic: %K {Stoch.K} vs %D {Stoch.D}
|
||||||
|
- CCI (20): {CCI20}
|
||||||
|
- Williams %R: {Williams %R}
|
||||||
|
- Awesome Osc: {AO} — [Positive=Bearish momentum waiting / Negative=Bearish / Positive=Bulish / Negative=Bearish momentum waiting]
|
||||||
|
|
||||||
|
### Volatility
|
||||||
|
- ATR: {ATR}
|
||||||
|
- Bollinger Bands Position: {close relative to BB.upper/BB.lower}
|
||||||
|
- 52W Range Position: {(close - 52W Low) / (52W High - 52W Low) * 100}%
|
||||||
|
|
||||||
|
### Volume
|
||||||
|
- Volume: {volume}
|
||||||
|
- vs 10d Avg: {relative_volume_10d_calc}x
|
||||||
|
- OBV: {OBV}
|
||||||
|
- Vol MA(10): {volume_ma_10}
|
||||||
|
|
||||||
|
### Technical Rating
|
||||||
|
- TechRating_1D: {TechRating_1D}/6
|
||||||
|
|
||||||
|
## Summary & Verdict
|
||||||
|
|
||||||
|
### Fundamental Verdict
|
||||||
|
- [BUY / HOLD / SELL] — Based on valuation, profitability, growth, and financial health
|
||||||
|
|
||||||
|
### Technical Verdict
|
||||||
|
- [BUY / HOLD / SELL] — Based on trend, momentum, volume, and volatility
|
||||||
|
|
||||||
|
### Overall Recommendation
|
||||||
|
- [Strong Buy / Buy / Hold / Sell / Strong Sell]
|
||||||
|
- Key Catalysts/Risks:
|
||||||
|
1. ...
|
||||||
|
2. ...
|
||||||
|
3. ...
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.2 Interpretation for Specific Indonesian Sectors
|
||||||
|
|
||||||
|
**Financials / Banks (BBRI, BMRI, BBNI, BBTN)**:
|
||||||
|
- Focus on: P/B (<1.5 is cheap), ROE (>15%), NIM, D/E
|
||||||
|
- Healthy D/E is higher for banks (5-10x is normal)
|
||||||
|
- Low P/B + ROE > 15% = classic Graham-style buy for Indonesian banks
|
||||||
|
|
||||||
|
**Consumer Goods (UNVR, ICBP, INDF, HMSP, GGRM)**:
|
||||||
|
- Focus on: Profit Margin > 12%, Revenue Growth > 5%, Dividend Yield
|
||||||
|
- Low D/E expected (< 0.8)
|
||||||
|
- Stable performers during economic uncertainty
|
||||||
|
|
||||||
|
**Mining / Energy (ADRO, ITMG, PTBA, MEDC)**:
|
||||||
|
- Focus on: P/E (cyclical — buy at high P/E when earnings are low, avoid low P/E when earnings peak)
|
||||||
|
- Revenue Growth & Earnings Growth are commodity-price-driven
|
||||||
|
- High dividend yields common in coal sector
|
||||||
|
|
||||||
|
**Infrastructure / Telco (TLKM, ISAT, JSMR, EXCL)**:
|
||||||
|
- Focus on: D/E (cap-ex heavy), Profit Margin, Revenue Growth
|
||||||
|
- P/E range 10-20 is normal for TLKM
|
||||||
|
|
||||||
|
**Property / Real Estate (BSDE, PWON, CTRA, SMRA)**:
|
||||||
|
- Focus on: P/B, Current Ratio, D/E
|
||||||
|
- Highly sensitive to interest rates and BI policy
|
||||||
|
|
||||||
|
### 4.3 Rating Scale
|
||||||
|
|
||||||
|
When combining fundamental + technical into an overall verdict:
|
||||||
|
|
||||||
|
| Score | Rating | Criteria |
|
||||||
|
|-------|--------|----------|
|
||||||
|
| 4.5-5.0 | **Strong Buy** | Undervalued + Bullish technical + Strong financials |
|
||||||
|
| 3.5-4.4 | **Buy** | Fair/Undervalued + Bullish/neutral technical + Good financials |
|
||||||
|
| 2.5-3.4 | **Hold** | Fair value + mixed technical + average financials |
|
||||||
|
| 1.5-2.4 | **Sell** | Overvalued + bearish technical + weak financials |
|
||||||
|
| 1.0-1.4 | **Strong Sell** | Overvalued + bearish technical + poor financials |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Quick Screening Commands
|
||||||
|
|
||||||
|
### Find Undervalued Large-Caps in IDX
|
||||||
|
```json
|
||||||
|
fundamental_scan({
|
||||||
|
"market_country": "indonesia",
|
||||||
|
"filters": [
|
||||||
|
{"field": "market_cap_basic", "operator": ">", "value": 10000000000000},
|
||||||
|
{"field": "price_earnings_ttm", "operator": "between", "value": [5, 15]},
|
||||||
|
{"field": "price_to_book_fq", "operator": "<", "value": 2},
|
||||||
|
{"field": "return_on_equity", "operator": ">", "value": 12}
|
||||||
|
],
|
||||||
|
"columns": ["name","close","change","market_cap_basic","price_earnings_ttm","price_to_book_fq","return_on_equity","dividends_yield_current","sector"],
|
||||||
|
"order_by": "market_cap_basic",
|
||||||
|
"limit": 20
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### Find Oversold Bounce Candidates
|
||||||
|
```json
|
||||||
|
technical_scan({
|
||||||
|
"market_country": "indonesia",
|
||||||
|
"filters": [
|
||||||
|
{"field": "RSI", "operator": "<", "value": 30},
|
||||||
|
{"field": "close", "operator": "above_pct", "value": ["SMA200", 0.9]},
|
||||||
|
{"field": "relative_volume_10d_calc", "operator": ">", "value": 1.2}
|
||||||
|
],
|
||||||
|
"columns": ["name","close","change","RSI","SMA200","relative_volume_10d_calc","MACD.histogram"],
|
||||||
|
"order_by": "RSI",
|
||||||
|
"limit": 20
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### Find Breakout Candidates
|
||||||
|
```json
|
||||||
|
technical_scan({
|
||||||
|
"market_country": "indonesia",
|
||||||
|
"filters": [
|
||||||
|
{"field": "RSI", "operator": "between", "value": [50, 70]},
|
||||||
|
{"field": "close", "operator": ">", "value": "SMA50"},
|
||||||
|
{"field": "close", "operator": ">", "value": "SMA200"},
|
||||||
|
{"field": "relative_volume_10d_calc", "operator": ">", "value": 1.5},
|
||||||
|
{"field": "ADX", "operator": ">", "value": 25}
|
||||||
|
],
|
||||||
|
"columns": ["name","close","change","RSI","SMA50","SMA200","ADX","relative_volume_10d_calc"],
|
||||||
|
"order_by": "relative_volume_10d_calc",
|
||||||
|
"limit": 20
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### Find High-Dividend Stocks
|
||||||
|
```json
|
||||||
|
fundamental_scan({
|
||||||
|
"market_country": "indonesia",
|
||||||
|
"filters": [
|
||||||
|
{"field": "dividends_yield_current", "operator": ">", "value": 4},
|
||||||
|
{"field": "market_cap_basic", "operator": ">", "value": 5000000000000},
|
||||||
|
{"field": "price_earnings_ttm", "operator": "<", "value": 20},
|
||||||
|
{"field": "dividends_payout_ratio", "operator": "<", "value": 80}
|
||||||
|
],
|
||||||
|
"columns": ["name","close","dividends_yield_current","dividends_payout_ratio","price_earnings_ttm","market_cap_basic","sector"],
|
||||||
|
"order_by": "dividends_yield_current",
|
||||||
|
"limit": 20
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### Find Growth Stocks
|
||||||
|
```json
|
||||||
|
fundamental_scan({
|
||||||
|
"market_country": "indonesia",
|
||||||
|
"filters": [
|
||||||
|
{"field": "revenue_growth", "operator": ">", "value": 15},
|
||||||
|
{"field": "earnings_growth", "operator": ">", "value": 10},
|
||||||
|
{"field": "return_on_equity", "operator": ">", "value": 10},
|
||||||
|
{"field": "market_cap_basic", "operator": ">", "value": 1000000000000}
|
||||||
|
],
|
||||||
|
"columns": ["name","close","revenue_growth","earnings_growth","return_on_equity","price_earnings_ttm","market_cap_basic","sector"],
|
||||||
|
"order_by": "revenue_growth",
|
||||||
|
"limit": 20
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Workflow: How to Run Full Analysis
|
||||||
|
|
||||||
|
**Step 1** — Get company overview & fundamentals:
|
||||||
|
```
|
||||||
|
get_stock_quotes(tickers=["IDX:BBRI"], columns=[all fundamental + general fields])
|
||||||
|
```
|
||||||
|
|
||||||
|
**Step 2** — Get technical indicators:
|
||||||
|
```
|
||||||
|
get_stock_quotes(tickers=["IDX:BBRI"], columns=[all technical fields + price fields])
|
||||||
|
```
|
||||||
|
|
||||||
|
**Step 3** — Get sector context:
|
||||||
|
```
|
||||||
|
screen_market({
|
||||||
|
"market_country": "indonesia",
|
||||||
|
"filters": [{"field": "sector", "operator": "==", "value": "Financials"}],
|
||||||
|
"columns": ["name","close","change","price_earnings_ttm","return_on_equity","market_cap_basic"],
|
||||||
|
"limit": 10
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
**Step 4** — Produce report following Section 4 template.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Field Reference (for constructing queries)
|
||||||
|
|
||||||
|
### Indonesian Stock Ticker Format
|
||||||
|
- `IDX:BBRI` — Bank Rakyat Indonesia
|
||||||
|
- `IDX:TLKM` — Telkom Indonesia
|
||||||
|
- `IDX:ASII` — Astra International
|
||||||
|
- `IDX:UNVR` — Unilever Indonesia
|
||||||
|
- `IDX:ICBP` — Indofood CBP
|
||||||
|
- `IDX:INDF` — Indofood Sukses Makmur
|
||||||
|
- `IDX:BMRI` — Bank Mandiri
|
||||||
|
- `IDX:BBNI` — Bank Negara Indonesia
|
||||||
|
- `IDX:ADRO` — Adaro Energy
|
||||||
|
- `IDX:ITMG` — Indo Tambangraya Megah
|
||||||
|
- `IDX:JSMR` — Jasa Marga
|
||||||
|
- `IDX:PGAS` — Perusahaan Gas Negara
|
||||||
|
- `IDX:SMGR` — Semen Indonesia
|
||||||
|
- `IDX:CTRA` — Ciputra Development
|
||||||
|
- `IDX:PWON` — Pakuwon Jati
|
||||||
|
- `IDX:BSDE` — Bumi Serpong Damai
|
||||||
|
- `IDX:EXCL` — XL Axiata
|
||||||
|
- `IDX:ISAT` — Indosat
|
||||||
|
- `IDX:HMSP` — HM Sampoerna
|
||||||
|
- `IDX:GGRM` — Gudang Garam
|
||||||
|
|
||||||
|
### All Available Columns (for easy copy-paste)
|
||||||
|
|
||||||
|
```
|
||||||
|
General: name, description, ticker, exchange, market, sector, industry, country, currency, type, typespecs, is_primary
|
||||||
|
Price: open, high, low, close, volume, change, change_abs, premarket_change, postmarket_change, VWAP, 52 Week High, 52 Week Low
|
||||||
|
Fundamental: market_cap_basic, price_earnings_ttm, earnings_per_share_diluted_ttm, earnings_per_share_diluted_yoy_growth_ttm, dividends_yield_current, dividends_payout_ratio, price_to_book_fq, price_to_sales, price_to_cash_flow, return_on_equity, return_on_assets, operating_margin, profit_margin, revenue_growth, earnings_growth, debt_to_equity, current_ratio_fq, beta_1_year, float, shares_outstanding, insider_ownership, institutional_ownership, AnalystRating
|
||||||
|
Technical: RSI, RSI.5, Stoch.K, Stoch.D, MACD.macd, MACD.signal, MACD.histogram, BB.upper, BB.middle, BB.lower, SMA, EMA, SMA20, SMA50, SMA200, EMA5, EMA20, EMA50, EMA200, ADX, ATR, AO, OBV, CCI20, ROC, Williams %R, relative_volume_10d_calc, volume_ma_10, TechRating_1D
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user