report-writer-agent

Report Writer Agent - 자동 리포트 생성기

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "report-writer-agent" with this command: npx skills add psh355q-ui/szdi57465yt/psh355q-ui-szdi57465yt-report-writer-agent

Report Writer Agent - 자동 리포트 생성기

Role

일일/주간/월간 거래 성과, 방어 실적, Agent 정확도, 헌법 준수율을 자동으로 분석하여 마크다운 리포트를 생성합니다.

Core Capabilities

  1. Report Types

Daily Report

  • 오늘의 거래 요약

  • 승/패 거래

  • 주요 Signal 성과

Weekly Report

  • 주간 수익률

  • Agent별 정확도

  • Shadow Trade 방어 실적

  • Top Performers

Monthly Report

  • 월간 총정산

  • 목표 대비 실적

  • Sharpe Ratio, Max Drawdown

  • 헌법 준수율

  • AI 자기 개선 제안

  1. Performance Metrics

Trading Performance

total_trades: int winning_trades: int losing_trades: int win_rate: float # winning_trades / total_trades average_return: float sharpe_ratio: float max_drawdown: float

Defensive Performance

total_rejections: int defensive_wins: int # 거부한 제안이 실제 손실이었던 경우 defensive_win_rate: float avoided_loss_usd: float

Agent Accuracy

agent_accuracies: Dict[str, float] # {agent_name: accuracy} best_performing_agent: str worst_performing_agent: str

Constitutional Compliance

total_proposals: int constitutional_violations: int compliance_rate: float # (total - violations) / total

  1. Report Generation

def generate_daily_report(date: str) -> str: """Generate daily markdown report"""

# Fetch data
signals = get_signals_for_date(date)
shadows = get_shadow_trades_for_date(date)

# Calculate metrics
metrics = calculate_metrics(signals, shadows)

# Generate markdown
report = format_report(metrics, template='daily')

return report

Output Format

Daily Report Example

일일 거래 리포트 - 2025-12-21

📊 거래 요약

  • 총 Signal 수: 5개
  • 실행된 거래: 3개
  • 거부된 제안: 2개 (헌법 위반)

🎯 Signal 성과

Signal IDTickerActionSourceStatusReturn
SIG-001AAPLBUYwar_roomEXECUTED+2.3%
SIG-002NVDABUYdeep_reasoningEXECUTED+5.1%
SIG-003TSLASELLmanual_analysisEXECUTED+1.5%
SIG-004XYZBUYnews_analysisREJECTED-
SIG-005ABCBUYceo_analysisREJECTED-

일일 수익률: +3.0%

🛡️ 방어 실적

Shadow Trades (거부된 제안 추적)

TickerRejected ReasonVirtual P&LResult
XYZ포지션 20% 초과-$1,200DEFENSIVE_WIN ✅
ABCStop Loss 미설정+$300MISSED_OPPORTUNITY

방어 성공: 1건
회피한 손실: $1,200

📈 Agent 성과

AgentSignalsAccuracyContribution
War Room1100%Excellent
Deep Reasoning1100%Excellent
Manual Analysis1100%Good

⚖️ 헌법 준수

  • 총 제안: 5개
  • 위반 건수: 2개
  • 준수율: 60%
  • 주요 위반: Article 4 (포지션 한도)

💡 인사이트

  1. 모든 실행된 거래가 수익 (Win Rate 100%)
  2. Shadow Trade 방어 성공으로 $1,200 손실 회피
  3. 헌법 제4조 위반 주의 필요

Generated by Report Writer Agent v1.0

Weekly Report Example

주간 거래 리포트 - Week 51, 2025

📊 주간 요약

  • 기간: 2025-12-15 ~ 2025-12-21
  • 총 Signal: 23개
  • 실행 거래: 15개
  • 거부 제안: 8개

🎯 성과 지표

MetricValueTargetStatus
주간 수익률+4.5%+2%✅ 초과 달성
Win Rate73%>55%
Sharpe Ratio1.45>1.0
Max Drawdown-3.2%<-5%

🏆 Top Performers

Best Signals

  1. NVDA (deep_reasoning): +12.5%
  2. AAPL (war_room): +8.3%
  3. MSFT (ceo_analysis): +5.7%

Worst Signals

  1. XYZ (news_analysis): -2.1%
  2. ABC (manual_analysis): -1.5%

🛡️ 방어 실적

  • 총 거부: 8건
  • Defensive Wins: 6건 (75%)
  • 회피한 손실: $5,400
  • Missed Opportunities: 2건 (+$800)

순 방어 가치: $4,600

🤖 Agent 정확도

AgentSignalsWin RateAvg ReturnRank
Deep Reasoning580%+6.2%1
War Room683%+5.1%2
CEO Analysis367%+3.8%3
Manual Analysis450%+2.0%4
News Analysis560%+1.5%5

⚖️ 헌법 준수

  • 총 제안: 23개
  • 위반 건수: 8개
  • 준수율: 65%

위반 내역:

  • Article 4 (Risk Management): 6건
  • Article 2 (Explainability): 2건

💰 자본 보존

  • 시작 자본: $100,000
  • 종료 자본: $104,500
  • 자본 보존율: 104.5%
  • 헌법이 방어한 손실: $5,400 (5.4%)

📝 권장 사항

  1. Article 4 위반 감소: Risk Agent 가중치 증대
  2. News Analysis 정확도 개선: 신뢰도 낮은 소스 필터링
  3. Deep Reasoning 활용 확대: 가장 높은 승률

Generated on 2025-12-21

Decision Framework

Step 1: Determine Report Type

  • Daily: 당일 데이터
  • Weekly: 최근 7일
  • Monthly: 최근 30일

Step 2: Fetch Data

  • trading_signals
  • shadow_trades
  • proposals
  • agent_votes

Step 3: Calculate Metrics

  • Performance: Win rate, returns, Sharpe
  • Defensive: Shadow trades, avoided loss
  • Agent: Individual accuracy
  • Constitutional: Violation rate

Step 4: Generate Insights

  • Best/worst performers
  • Trend analysis
  • Recommendations

Step 5: Format as Markdown

  • Tables for data
  • Alerts for important findings
  • Charts (optional, via mermaid)

Step 6: Distribute

  • Save to file
  • Send to Telegram
  • Display on dashboard

Guidelines

Do's ✅

  • 객관적 데이터: 숫자로 말하기

  • 실행 가능한 인사이트: 구체적 개선 방안 제시

  • 시각적 구성: 표, 그래프 활용

  • 트렌드 강조: 개선/악화 추세 표시

Don'ts ❌

  • 과도한 칭찬/비난 금지 (객관성 유지)

  • 데이터 조작 절대 금지

  • 불필요한 복잡성 지양

  • 결론 없는 나열 금지

Integration

Data Sources

from backend.database.models import TradingSignal, ShadowTrade, Proposal from sqlalchemy import func from datetime import datetime, timedelta

def get_weekly_performance(start_date: datetime) -> Dict: """Get weekly performance metrics"""

end_date = start_date + timedelta(days=7)

# Fetch signals
signals = db.query(TradingSignal).filter(
    TradingSignal.created_at >= start_date,
    TradingSignal.created_at &#x3C; end_date
).all()

# Calculate metrics
total_signals = len(signals)
executed = [s for s in signals if s.status == 'EXECUTED']

returns = [s.actual_return for s in executed if s.actual_return is not None]
win_rate = sum(1 for r in returns if r > 0) / len(returns) if returns else 0

avg_return = sum(returns) / len(returns) if returns else 0

# Shadow trades
shadows = db.query(ShadowTrade).filter(
    ShadowTrade.created_at >= start_date,
    ShadowTrade.created_at &#x3C; end_date
).all()

defensive_wins = sum(1 for s in shadows if s.status == 'DEFENSIVE_WIN')

return {
    'total_signals': total_signals,
    'executed': len(executed),
    'win_rate': win_rate,
    'avg_return': avg_return,
    'defensive_wins': defensive_wins,
    'shadows': len(shadows)
}

Report Distribution

from backend.notifications.telegram_commander_bot import TelegramCommanderBot

async def send_daily_report(report_markdown: str): """Send report via Telegram"""

telegram = TelegramCommanderBot()

await telegram.send_message(
    chat_id=os.getenv('TELEGRAM_COMMANDER_CHAT_ID'),
    text=report_markdown,
    parse_mode='Markdown'
)

Performance Metrics

  • Report Generation Time: 목표 < 5초

  • Data Accuracy: 100% (DB에서 직접 계산)

  • Delivery Success: > 99% (Telegram)

  • User Satisfaction: 리포트 유용성 피드백

Mermaid Charts Example

주간 수익률 추이

line chart
    title "Daily P&#x26;L - Week 51"
    x-axis [Mon, Tue, Wed, Thu, Fri]
    y-axis "Return %" -2 --> 6
    line [1.2, 2.5, -0.8, 3.1, 4.5]

## Version History

- **v1.0** (2025-12-21): Initial release with daily/weekly/monthly reports

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

notification-agent

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

debugging-agent

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

backtest-analyzer-agent

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

signal-generator-agent

No summary provided by upstream source.

Repository SourceNeeds Review