Global asset analysis — VN stocks, US equities, Forex, Commodities, Crypto, ETF — real-time technical + fundamental + valuation + return estimation.
Historical CAGR ≠ expectation from current price.
Always ask: "If buying TODAY at this price, what is the P/E? Is it still cheap?"
Example: MCH CAGR 73%/year from the 30k bottom → but at current price 161k, P/E ~37x is expensive.
Sharpe 2.19 is historical from low price zone — does not apply to buyers today.
Before analyzing any asset, always check:
Current macro context (updated 23/03/2026):
Portfolio impact:
See details: references/macro-update-2026-03.md, references/crypto-analysis.md, references/gold-analysis.md.
Determine:
TradingView scanner works WITHOUT auth:
# Scan all HOSE for oversold stocks
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/scan_market.py --rsi 40 --exchange HOSE
# Deep technical analysis for a single VN stock
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/analyze_stock.py FPT HOSE
# Scan NASDAQ oversold (large-cap > $2B)
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/scan_market.py --rsi 40 --exchange NASDAQ
# Scan NYSE
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/scan_market.py --rsi 35 --exchange NYSE
# Scan US equities (large-cap > $10B)
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/scan_global.py --market us --rsi 40
# Scan crypto
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/scan_global.py --market crypto --rsi 35
# Scan forex major pairs
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/scan_global.py --market forex
# Scan commodities (gold, oil, silver)
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/scan_global.py --market commodities
# Scan all markets
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/scan_global.py --market all --rsi 40
Manually fetch multiple tickers (any market):
import urllib.request, json
# VN stocks
payload = {
"symbols": {"tickers": ["HOSE:MBB","HOSE:TCB","HOSE:FPT"]},
"columns": ["name","close","change","volume","RSI","EMA20","EMA50","EMA200",
"MACD.macd","MACD.signal","BB.upper","BB.lower",
"price_52_week_high","price_52_week_low","Stoch.K","Stoch.D"]
}
req = urllib.request.Request(
"https://scanner.tradingview.com/vietnam/scan",
data=json.dumps(payload).encode(),
headers={"Content-Type": "application/json", "User-Agent": "Mozilla/5.0"},
method="POST"
)
# US stocks → "https://scanner.tradingview.com/america/scan"
# Crypto → "https://scanner.tradingview.com/crypto/scan"
# Forex → "https://scanner.tradingview.com/forex/scan"
# Commodities → "https://scanner.tradingview.com/cfd/scan"
Read each indicator in priority order:
close > EMA200 ✅ → Long-term uptrend intact → consider buyingclose < EMA200 ❌ → Long-term downtrend → be cautious, buy only with a clear catalyst⚠️ Do NOT buy oversold assets below EMA200 (unless there is a clear catalyst)
| RSI | Signal | Action |
|---|---|---|
| --- | --- | --- |
| < 30 | 🟢🟢 Extreme oversold | Consider strong buy if above EMA200 |
| 30–40 | 🟢 Oversold | DCA if above EMA200 |
| 40–60 | 🟡 Neutral | Hold / wait |
| 60–70 | 🔴 Near overbought | Do not add positions |
| > 70 | 🔴🔴 Overbought | Consider taking profit |
macd > signal → 🟢 Bullish momentummacd < signal → 🔴 Bearish momentumclose ≤ BB.lower → Near lower band → potential bouncepos52 = (close - low52w) / (high52w - low52w) × 100
score = 0
if rsi < 30: score += 3
elif rsi < 40: score += 2
if close > ema200: score += 2
if pe_discount > 20%: score += 3 # P/E < Fair P/E - 20%
elif pe_discount > 0: score += 2
if pos52 < 20: score += 2
elif pos52 < 40: score += 1
if close <= bb_lower * 1.02: score += 2
if macd > macd_signal: score += 1
# Max: 15 điểm
# ≥ 10: Mua mạnh | 7-9: DCA | 4-6: Theo dõi | < 4: Bỏ qua
Do NOT recommend BUY without checking valuation.
Upside = (Fair P/E - Current P/E) / Fair P/E × 100%
| Upside | Assessment |
|---|---|
| --- | --- |
| > 25% | 🟢 Very cheap — buy |
| 10–25% | 🟡 Slightly cheap — accumulate |
| 0–10% | 🟡 Fair — OK |
| < 0% | 🔴 Expensive — wait for correction |
| < -15% | 🔴🔴 Very expensive — avoid |
Fair P/E by VN sector:
Fair P/E by US sector: (Xem chi tiết references/us-equities.md)
See details in references/sector-fundamentals.md (VN) và references/us-equities.md (US)
See full framework in references/financial-analysis-knowledge.md
Reference references/sector-fundamentals.md và references/sector-update-2026.md.
Catalyst VN 2026-2028:
Reference references/us-equities.md.
Catalyst US 2026-2028:
Always answer:
When user asks about US stocks (AAPL, NVDA, TSLA, MSFT, GOOG, META, AMZN, v.v.):
scan_global.py --market us hoặc fetch trực tiếpSee details: references/us-equities.md
When user asks about forex (EUR/USD, USD/JPY, GBP/USD, v.v.):
scan_global.py --market forex| Cặp | Key Factors |
|---|---|
| ----- | -------------- |
| EUR/USD | FED vs ECB rates, trade balance EU-US |
| USD/JPY | FED vs BOJ, risk sentiment, carry trade |
| GBP/USD | BOE rate, Brexit effects, UK economy |
| AUD/USD | RBA rate, commodities (iron ore), China demand |
| USD/VND | SBV policy, trade balance VN, FDI flows |
See details: references/forex-guide.md
When user asks about gold (XAUUSD), oil (WTI/Brent), silver (XAGUSD):
scan_global.py --market commoditiesreferences/gold-analysis.mdWhen user asks about ETF (VOO, QQQ, VNM, v.v.):
| Purpose | ETF | Expense | Notes |
|---|---|---|---|
| ---------- | ----- | --------- | --------- |
| Core US | VOO / IVV | 0.03% | S&P 500, portfolio foundation |
| Tech/Growth | QQQ / QQQM | 0.15-0.20% | NASDAQ 100, AI exposure |
| VN Exposure | VNM | 0.66% | VanEck Vietnam ETF |
| Emerging Markets | VWO / IEMG | 0.08-0.09% | Broad EM |
| Bonds | BND / AGG | 0.03% | US total bond |
| Gold | GLD / IAU | 0.25-0.40% | Physical gold ETF |
| All-World | VT | 0.07% | Toàn cầu, lazy portfolio |
Conservative: VOO 40% + BND 30% + VWO 15% + GLD 15%
Balanced: VOO 45% + QQQ 20% + VWO 15% + BND 10% + GLD 10%
Aggressive: QQQ 35% + VOO 25% + VWO/VNM 20% + ARKK/SOXX 10% + GLD 10%
See details: references/global-etf.md
When user asks about portfolio management, rebalancing, asset allocation, or building a new portfolio:
# Analyze & recommend rebalancing for current portfolio
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/portfolio_optimizer.py \
--portfolio "MBB:30,FPT:25,GOLD:20,BNB:15,CASH:10" \
--capital 500000000 \
--risk balanced
Input:
--portfolio : Current portfolio dạng "MÃ:tỷ_trọng%,..." --capital : Total capital (VND)--risk : conservative | balanced | aggressiveOutput:
Supported asset classes: VN stocks, US stocks, ETF, crypto (BTC/ETH/BNB/SOL...), gold (GOLD/XAUUSD), forex, bonds (BOND), cash (CASH)
# Scan & recommend new optimal portfolio
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/portfolio_screener.py \
--capital 500000000 \
--risk balanced \
--markets vn,us,crypto,gold \
--horizon medium
Input:
--capital : Total capital (VND)--risk : conservative | balanced | aggressive--markets : vn,us,crypto,gold (chọn thị trường)--horizon : short (< 3 tháng) | medium (3-12 tháng) | long (> 1 năm)Output:
| Profile | Max single | Max equity | Max crypto | Min safe assets | Target Vol |
|---|---|---|---|---|---|
| --------- | ----------- | ----------- | ----------- | ---------------- | ----------- |
| Conservative | 25% | 40% | 5% | 35% | 12% |
| Balanced | 30% | 60% | 15% | 20% | 18% |
| Aggressive | 35% | 80% | 25% | 5% | 25% |
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/estimate_returns.py [TICKER] [--capital X] [--years N]
Script calculates from historical data:
⚠️ Always remind user:
See full methodology in references/return-estimation.md
When user asks how to allocate capital:
| Sharpe | Max allocation |
|---|---|
| --- | --- |
| > 1.5 | 35% |
| 1.0–1.5 | 25% |
| 0.5–1.0 | 15% |
| < 0.5 | 10% |
| Max DD | Max allocation |
|---|---|
| --- | --- |
| < 30% | 30% |
| 30–50% | 20% |
| 50–70% | 10% |
| > 70% | 5% |
| Asset Class | Conservative | Balanced | Aggressive |
|---|---|---|---|
| ------------- | ------------- | ---------- | ------------ |
| VN Stocks | 20% | 25% | 30% |
| US Stocks/ETF | 30% | 35% | 35% |
| Bonds/Cash | 25% | 10% | 5% |
| Gold | 15% | 15% | 10% |
| Crypto | 0% | 5% | 10% |
| Forex/Commodities | 0% | 5% | 10% |
| EM ETF | 10% | 5% | 0% |
## 📊 [TICKER] — [Tên công ty]
Price: X,XXX VND | Today: +/-X.XX% | Volume: XM
### Technical
- RSI: XX.X [tín hiệu]
- EMA200: X,XXX [▲ Trên / ▼ Dưới] — [Uptrend / Downtrend]
- MACD: [🟢 Bullish / 🔴 Bearish]
- Bollinger: [vị trí]
- 52W: High X,XXX | Low X,XXX | Vị trí: XX%
- Score: X/15
### Valuation
- P/E hiện tại: XX.Xx (Fair: XX-XXx)
- Upside định giá: +/-XX%
- ROE: XX% | D/E: XX
### Conclusion
[🟢 MUA / 🟡 THEO DÕI / ⏳ CHỜ / 🔴 TRÁNH]
Reason: [1-2 câu]
Ideal buy zone: [X,XXX – X,XXX VND]
## 🇺🇸 [TICKER] — [Company Name]
Price: $XXX.XX | Today: +/-X.XX% | Volume: XM | Market Cap: $X.XB
### Technical
- RSI: XX.X [signal]
- EMA200: $XXX [▲ Above / ▼ Below]
- MACD: [🟢 Bullish / 🔴 Bearish]
- 52W: High $XXX | Low $XXX | Position: XX%
### Valuation
- Forward P/E: XX.Xx (Sector avg: XX-XXx)
- PEG Ratio: X.XX
- FCF Yield: X.X%
- Next Earnings: [Date]
### Conclusion
[🟢 MUA / 🟡 THEO DÕI / ⏳ CHỜ / 🔴 TRÁNH]
Reason: [1-2 câu]
Entry zone: $XXX – $XXX
## 💱 [PAIR] — Forex Analysis
Price: X.XXXX | Today: +/-X.XX% | Session: [Asian/European/US]
### Technical
- RSI: XX.X | EMA200: X.XXXX [▲/▼]
- MACD: [🟢/🔴] | Fibonacci: [key level]
- Support: X.XXXX | Resistance: X.XXXX
### Macro
- Rate differential: [FED X.XX% vs ECB/BOJ X.XX%]
- DXY: XXX.X [trend]
- Key data upcoming: [event + date]
### Trade Setup
Direction: [🟢 LONG / 🔴 SHORT / 🟡 NEUTRAL]
Entry: X.XXXX | SL: X.XXXX (-XX pips) | TP: X.XXXX (+XX pips)
R:R: 1:X | Lot size (2% risk, $5K account): X.XX lots
## 🏆 [COMMODITY] — Analysis
Price: $X,XXX | Today: +/-X.XX%
### Technical
- RSI: XX.X | EMA200: $X,XXX [▲/▼]
- Key S/R: $X,XXX / $X,XXX
### Drivers
- [Factor 1: impact]
- [Factor 2: impact]
### Conclusion
[🟢 MUA / 🟡 TRUNG LẬP / 🔴 TRÁNH]
Buy zone: $X,XXX – $X,XXX
## 📈 [ETF] — [Name]
Price: $XXX.XX | YTD: +/-X.XX% | Expense: X.XX% | Yield: X.X%
### Technical
- RSI: XX.X | EMA200: $XXX [▲/▼]
- Drawdown từ ATH: -X.X%
### So sánh
- vs S&P 500: [outperform/underperform] XX%
- vs category: [ranking]
### DCA Estimate ($XXX/tháng)
- 5 năm: ~$XX,XXX (gốc $XX,XXX, lãi ~$XX,XXX)
- 10 năm: ~$XX,XXX
### Conclusion
[🟢 DCA / 🟡 CHỜ / 🔴 TRÁNH]
When user asks about swing trading, scalping, day trading, or short-term trading (2-10 days):
Full reference: references/swing-trading-vn.md
```bash
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/scan_market.py --rsi 45 --exchange HOSE
```
## 🏄 [TICKER] — Swing Analysis
Setup: [RSI Divergence / BB Squeeze / MACD Cross / ...]
Entry: X,XXX VND | Stop Loss: X,XXX (-X%) | Target: X,XXX (+X%)
R:R: 1:X | Position Size: X% vốn (XX CP)
Timeframe: X-X ngày
⚡ Confidence: [Cao/Trung bình/Thấp]
references/sector-fundamentals.md — Standard P/E, catalyst, risk per VN sectorreferences/sector-update-2026.md — Sector update Q1/2026references/swing-trading-vn.md — Swing trading, scalping VNreferences/us-equities.md — Top 20 S&P 500, US sector breakdown, P/E benchmarks, ADR/OTCreferences/forex-guide.md — Major/cross pairs, factors, sessions, swap ratesreferences/global-etf.md — VOO/QQQ/SPY comparison, VNM ETF, EM ETFs, Bond ETFs, DCA strategyreferences/macro-update-2026-03.md — Macro context 03/2026: FED, VN-Index, Iran Warreferences/crypto-analysis.md — Crypto/BNB analysis frameworkreferences/gold-analysis.md — Gold XAUUSD analysis frameworkreferences/financial-analysis-knowledge.md — RSI, MACD, P/E, Sharpe, DCA, Global portfolioreferences/advanced-ta.md — Fibonacci, Elliott Wave, Volume Profilereferences/return-estimation.md — Return estimation methodologyscripts/scan_market.py — Scan VN + US exchanges (HOSE, HNX, NASDAQ, NYSE)scripts/scan_global.py — Scan global markets (US, crypto, forex, commodities)scripts/analyze_stock.py — Deep technical analysis for a single tickerscripts/estimate_returns.py — Estimate returns from historical datascripts/dca_calculator.py — Calculate monthly DCA accumulationscripts/portfolio_optimizer.py — Analyze existing portfolio → rebalance recommendation (Markowitz)scripts/portfolio_screener.py — Scan market → recommend new optimal portfolioDCA Calculator:
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/dca_calculator.py [monthly_vnd] [years]
# Example: 2 million VND/month, 10 years
python3 ~/.openclaw/workspace/skills/market-analyst/scripts/dca_calculator.py 2000000 10
⚠️ Analysis is for reference only, not investment advice. DYOR.
共 1 个版本