Claude Code Plugins

Community-maintained marketplace

Feedback

quick-analyzer-agent

@psh355q-ui/szdi57465yt
0
0

Fast ticker analysis for /analysis page. Provides quick BUY/SELL/HOLD recommendations based on technical indicators, recent news, and basic fundamentals within seconds. Optimized for speed over depth.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name quick-analyzer-agent
description Fast ticker analysis for /analysis page. Provides quick BUY/SELL/HOLD recommendations based on technical indicators, recent news, and basic fundamentals within seconds. Optimized for speed over depth.
license Proprietary
compatibility Requires market data (OHLCV), news_articles table, basic financial data
metadata [object Object]

Quick Analyzer Agent - 빠른 티커 분석

Role

/analysis 페이지에서 사용자가 티커를 입력하면 5초 이내에 BUY/SELL/HOLD 추천을 제공합니다. 속도를 위해 핵심 지표만 분석합니다.

Core Capabilities

1. Fast Technical Analysis

Price Action

  • Moving Averages: MA20, MA50 교차 확인
  • Trend: 상승/하락/횡보 판단
  • Support/Resistance: 주요 가격대

Momentum Indicators

  • RSI (14일): 과매수(>70), 과매도(<30)
  • MACD: 골든크로스/데드크로스
  • Volume: 거래량 증가/감소 패턴

2. Recent News Scan (Last 7 Days)

# News sentiment aggregation
news_articles = get_recent_news(ticker, days=7)

avg_sentiment = sum(a.sentiment_score for a in news_articles) / len(news_articles)

positive_ratio = len([a for a in news_articles if a.sentiment_score > 0.3]) / len(news_articles)

News Signals

  • Very Positive (avg > 0.6): 강한 호재
  • Positive (avg > 0.3): 긍정적
  • Neutral (avg -0.3 to 0.3): 중립
  • Negative (avg < -0.3): 부정적
  • Very Negative (avg < -0.6): 강한 악재

3. Basic Fundamental Check

Valuation

  • P/E Ratio: 현재 vs 업종 평균
  • P/B Ratio: 자산 가치 대비
  • Quick Check: 과대/적정/저평가

Recent Earnings

  • Beat/Miss: 최근 분기 실적
  • Surprise %: 컨센서스 대비

Decision Framework

Step 1: Technical Analysis
  score_technical = 0
  
  IF MA20 > MA50:
    score_technical += 2
  
  IF RSI in [30, 70]:
    score_technical += 1
  ELIF RSI < 30:
    score_technical += 3  # Oversold
  ELIF RSI > 70:
    score_technical -= 3  # Overbought
  
  IF Volume > avg_volume * 1.5:
    score_technical += 1

Step 2: News Analysis
  score_news = 0
  
  IF avg_sentiment > 0.6:
    score_news += 3
  ELIF avg_sentiment > 0.3:
    score_news += 2
  ELIF avg_sentiment < -0.3:
    score_news -= 2
  ELIF avg_sentiment < -0.6:
    score_news -= 3

Step 3: Fundamental Check
  score_fundamental = 0
  
  IF P/E < industry_avg * 0.8:
    score_fundamental += 2  # Undervalued
  ELIF P/E > industry_avg * 1.2:
    score_fundamental -= 2  # Overvalued
  
  IF recent_earnings == 'BEAT':
    score_fundamental += 2

Step 4: Final Decision
  total_score = score_technical + score_news + score_fundamental
  
  IF total_score >= 5:
    action = "BUY"
    confidence = min(0.9, 0.6 + total_score * 0.05)
  
  ELIF total_score <= -5:
    action = "SELL"
    confidence = min(0.9, 0.6 + abs(total_score) * 0.05)
  
  ELSE:
    action = "HOLD"
    confidence = 0.5 + abs(total_score) * 0.03

Output Format

{
  "ticker": "AAPL",
  "action": "BUY",
  "confidence": 0.75,
  "reasoning": "기술적 골든크로스 (MA20 > MA50), 최근 뉴스 긍정적 (sentiment +0.6), 업종 대비 저평가 (P/E 25 vs 28)",
  "analysis_time_ms": 3200,
  "price_info": {
    "current": 197.50,
    "change_1d_pct": 0.024,
    "change_1w_pct": 0.058,
    "ma20": 195.00,
    "ma50": 192.00,
    "ma200": 185.00,
    "support_level": 190.00,
    "resistance_level": 205.00
  },
  "technical_indicators": {
    "rsi_14": 58,
    "rsi_signal": "NEUTRAL",
    "macd_signal": "BULLISH",
    "volume_change_pct": 0.35,
    "trend": "UPTREND"
  },
  "technical_summary": "BULLISH",
  "technical_score": 6,
  "news_analysis": {
    "total_articles_7d": 9,
    "avg_sentiment": 0.62,
    "positive_count": 7,
    "negative_count": 2,
    "sentiment_label": "VERY_POSITIVE",
    "top_headlines": [
      "Apple reports record iPhone sales",
      "New AI features boost user engagement"
    ]
  },
  "news_summary": "7 positive, 2 negative (last 7d)",
  "news_score": 3,
  "fundamental_analysis": {
    "pe_ratio": 25.3,
    "industry_avg_pe": 28.0,
    "pe_relative": 0.904,
    "valuation": "UNDERVALUED",
    "pb_ratio": 42.5,
    "recent_earnings": "BEAT",
    "earnings_surprise_pct": 0.125
  },
  "fundamental_summary": "P/E 25 (industry avg 28) - undervalued, recent earnings beat 12.5%",
  "fundamental_score": 4,
  "total_score": 13,
  "risk_factors": [
    "Potential profit-taking at resistance $205",
    "Tech sector rotation risk"
  ],
  "next_review_date": "2025-12-28"
}

Examples

Example 1: Strong BUY Signal

Input:
- Ticker: NVDA
- Price: $520
- MA20: $510, MA50: $490 (골든크로스)
- RSI: 55
- News: 8 positive, 1 negative (avg +0.7)
- P/E: 45 (industry 52) - 저평가
- Recent Earnings: Beat 15%

Calculation:
- Technical Score: +6 (MA골든+2, RSI중립+1, Volume+1, Trend+2)
- News Score: +3 (매우 긍정)
- Fundamental Score: +4 (저평가+2, Beat+2)
- Total: 13

Output:
- Action: BUY
- Confidence: 0.85
- Reasoning: "강한 기술적 신호 + 긍정적 뉴스 + 저평가"

Example 2: SELL Signal

Input:
- Ticker: XYZ
- MA20 < MA50 (데드크로스)
- RSI: 78 (과매수)
- News: 2 positive, 7 negative (avg -0.5)
- P/E: 85 (industry 40) - 고평가

Calculation:
- Technical Score: -4 (데드크로스-2, 과매수-3, 정상볼륨+1)
- News Score: -2 (부정)
- Fundamental Score: -2 (고평가)
- Total: -8

Output:
- Action: SELL
- Confidence: 0.80
- Reasoning: "기술적 약세 + 부정 뉴스 + 고평가"

Example 3: HOLD Signal

Input:
- Ticker: MSFT
- MA20 ≈ MA50 (횡보)
- RSI: 52
- News: 4 positive, 3 negative (avg +0.1)
- P/E: 30 (industry 30) - 적정

Calculation:
- Technical Score: +1
- News Score: 0
- Fundamental Score: 0
- Total: 1

Output:
- Action: HOLD
- Confidence: 0.55
- Reasoning: "명확한 방향성 부재, 관망 추천"

Guidelines

Do's ✅

  • Speed First: 5초 이내 응답 (복잡한 분석 지양)
  • 핵심 지표만: RSI, MA, P/E, News Sentiment
  • 명확한 신호: 강한 BUY/SELL만, 애매하면 HOLD
  • Risk Factors 포함: 주요 리스크 1-2개 언급

Don'ts ❌

  • 과도한 분석 금지 (Deep Reasoning Agent 역할 아님)
  • 복잡한 모델 사용 금지 (속도 저하)
  • 모호한 표현 금지 ("maybe", "possibly")
  • 100% 확신 금지 (confidence 최대 0.90)

Integration

API Endpoint

from fastapi import APIRouter, HTTPException
from backend.ai.skills.base_agent import AnalysisSkillAgent

router = APIRouter()

@router.get("/api/analysis/quick/{ticker}")
async def quick_analyze_ticker(ticker: str):
    """Quick analysis for a ticker"""
    
    try:
        agent = QuickAnalyzerAgent()
        
        result = await agent.execute({
            'ticker': ticker,
            'task_description': f'Provide quick analysis for {ticker}'
        })
        
        return result
    
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))

Data Sources

from backend.data.yahoo_client import YahooClient
from backend.database.models import NewsArticle
from sqlalchemy.orm import Session

async def gather_quick_data(ticker: str, db: Session) -> Dict:
    """Gather data for quick analysis"""
    
    yahoo = YahooClient()
    
    # Price data
    price_data = yahoo.get_current_price(ticker)
    
    # Technical indicators
    tech_data = yahoo.get_technical_indicators(ticker)
    
    # News (last 7 days)
    news = db.query(NewsArticle).filter(
        NewsArticle.ticker == ticker,
        NewsArticle.created_at >= datetime.now() - timedelta(days=7)
    ).all()
    
    # Basic fundamentals
    fundamentals = yahoo.get_key_stats(ticker)
    
    return {
        'price': price_data,
        'technical': tech_data,
        'news': news,
        'fundamentals': fundamentals
    }

Performance Metrics

  • Response Time: 목표 < 5초 (평균 3초)
  • Accuracy: > 60% (빠른 분석이므로 Deep Reasoning보다 낮음)
  • User Satisfaction: > 4/5 (속도 중요)
  • Cache Hit Rate: > 70% (동일 ticker 5분 내 재조회 시)

Caching Strategy

from functools import lru_cache
from time import time

# 5분 TTL cache
@lru_cache(maxsize=100)
def cached_quick_analysis(ticker: str, timestamp: int) -> Dict:
    """Cache analysis for 5 minutes"""
    # timestamp rounded to 5 minutes
    return perform_quick_analysis(ticker)

# Usage
current_5min_slot = int(time() // 300)
result = cached_quick_analysis(ticker, current_5min_slot)

Comparison with Other Agents

Agent Speed Depth Use Case
Quick Analyzer ⭐⭐⭐ 5s ⭐ Basic 빠른 확인
Deep Reasoning ⭐ 30s ⭐⭐⭐ Deep 중요한 결정
War Room ⭐⭐ 15s ⭐⭐ Medium 합의 기반

Version History

  • v1.0 (2025-12-21): Initial release with 5-second target response time