Skip to main content
Glama
backtesting_guide.py9.93 kB
def backtesting_guide() -> str: """ 백테스팅 요청을 위한 프롬프트 가이드를 생성합니다. 사용자의 자연어 요청을 백테스팅 툴 파라미터로 변환하는 방법을 제공합니다. """ return """ 암호화폐 백테스팅 전략 분석 가이드 사용자가 거래 전략의 백테스팅을 요청할 때, 다음 가이드를 따라 backtesting 툴을 사용하세요. ## 📊 지원되는 전략 타입 1. **SMA 교차 전략** ("sma_crossover") - 키워드: "이동평균", "골든크로스", "데드크로스", "SMA", "교차" - 파라미터: {"fast_period": 단기기간, "slow_period": 장기기간} - 예시: "20일선과 50일선 교차" → fast_period: 20, slow_period: 50 2. **RSI 과매도/과매수 전략** ("rsi_oversold") - 키워드: "RSI", "과매도", "과매수", "상대강도지수" - 파라미터: {"rsi_period": 14, "oversold_threshold": 30, "overbought_threshold": 70} - 예시: "RSI 14일 과매도 25 과매수 75" → rsi_period: 14, oversold_threshold: 25, overbought_threshold: 75 3. **볼린저 밴드 전략** ("bollinger_bands") - 키워드: "볼린저밴드", "볼린저", "밴드", "표준편차" - 파라미터: {"period": 20, "std_dev": 2, "buy_threshold": 0.1, "sell_threshold": 0.9} - 예시: "볼린저밴드 20일 2표준편차" → period: 20, std_dev: 2 4. **MACD 신호선 전략** ("macd_signal") - 키워드: "MACD", "신호선", "히스토그램", "골든크로스", "데드크로스" - 파라미터: {"fast_period": 12, "slow_period": 26, "signal_period": 9} - 예시: "MACD 12-26-9" → fast_period: 12, slow_period: 26, signal_period: 9 5. **브레이크아웃 전략** ("breakout") - 키워드: "브레이크아웃", "돌파", "채널", "터틀", "추세추종", "신고가", "신저가" - 파라미터: {"lookback": 55, "exit_lookback": 20, "atr_period": 14, "atr_filter": False} - 예시: "55일 브레이크아웃" → lookback: 55, exit_lookback: 20 ## 🎯 자연어 → 파라미터 변환 가이드 ### 자산명 → 마켓 코드 변환 - "비트코인" → "KRW-BTC" - "이더리움" → "KRW-ETH" - "리플" → "KRW-XRP" - "도지코인" → "KRW-DOGE" - "에이다" → "KRW-ADA" - "솔라나" → "KRW-SOL" - "폴리곤" → "KRW-MATIC" - "체인링크" → "KRW-LINK" - "아발란체" → "KRW-AVAX" ### 기간 표현 → 날짜 변환 - "2023년" → start_date: "2023-01-01", end_date: "2023-12-31" - "2023년 상반기" → start_date: "2023-01-01", end_date: "2023-06-30" - "2023년 하반기" → start_date: "2023-07-01", end_date: "2023-12-31" - "최근 1년" → 현재 날짜에서 1년 전부터 현재까지 - "2023년 6월~12월" → start_date: "2023-06-01", end_date: "2023-12-31" ### 금액 표현 → 숫자 변환 - "100만원" → 1000000 - "50만원" → 500000 - "1천만원" → 10000000 - "500만원" → 5000000 ### 캔들 간격 표현 - "일봉", "일단위" → "day" - "시간봉", "1시간" → "minute60" - "4시간봉" → "minute240" - "주봉" → "week" - "월봉" → "month" ## 📝 사용 예시 **사용자 요청 1:** "비트코인에서 20일선과 50일선 교차 전략을 2023년 한 해 동안 백테스팅해줘. 초기 자본은 100만원으로." **변환된 툴 호출:** ``` backtesting( market="KRW-BTC", strategy_type="sma_crossover", start_date="2023-01-01", end_date="2023-12-31", initial_capital=1000000, interval="day", strategy_params={"fast_period": 20, "slow_period": 50} ) ``` **사용자 요청 2:** "이더리움 골든크로스 전략 5일선 20일선으로 2023년 6월부터 12월까지 500만원으로 테스트" **변환된 툴 호출:** ``` backtesting( market="KRW-ETH", strategy_type="sma_crossover", start_date="2023-06-01", end_date="2023-12-31", initial_capital=5000000, strategy_params={"fast_period": 5, "slow_period": 20} ) ``` **사용자 요청 3:** "도지코인 10일선 30일선 교차 전략 1시간봉으로 2023년 하반기 백테스트" **변환된 툴 호출:** ``` backtesting( market="KRW-DOGE", strategy_type="sma_crossover", start_date="2023-07-01", end_date="2023-12-31", interval="minute60", strategy_params={"fast_period": 10, "slow_period": 30} ) ``` **사용자 요청 4:** "이더리움 RSI 14일 과매도 25, 과매수 75 전략, 2023년 6월~12월, 1시간봉" **변환된 툴 호출:** ``` backtesting( market="KRW-ETH", strategy_type="rsi_oversold", start_date="2023-06-01", end_date="2023-12-31", interval="minute60", strategy_params={"rsi_period": 14, "oversold_threshold": 25, "overbought_threshold": 75} ) ``` **사용자 요청 5:** "비트코인 볼린저밴드 20일 2표준편차 전략 2023년 상반기" **변환된 툴 호출:** ``` backtesting( market="KRW-BTC", strategy_type="bollinger_bands", start_date="2023-01-01", end_date="2023-06-30", strategy_params={"period": 20, "std_dev": 2} ) ``` **사용자 요청 6:** "리플 MACD 12-26-9 신호선 교차 전략 2023년 전체" **변환된 툴 호출:** ``` backtesting( market="KRW-XRP", strategy_type="macd_signal", start_date="2023-01-01", end_date="2023-12-31", strategy_params={"fast_period": 12, "slow_period": 26, "signal_period": 9} ) ``` **사용자 요청 7:** "비트코인 55일 브레이크아웃 전략 2023년 백테스트" **변환된 툴 호출:** ``` backtesting( market="KRW-BTC", strategy_type="breakout", start_date="2023-01-01", end_date="2023-12-31", strategy_params={"lookback": 55, "exit_lookback": 20} ) ``` **사용자 요청 8:** "이더리움 20일 돌파 전략, 10일 청산, 2023년 하반기" **변환된 툴 호출:** ``` backtesting( market="KRW-ETH", strategy_type="breakout", start_date="2023-07-01", end_date="2023-12-31", strategy_params={"lookback": 20, "exit_lookback": 10} ) ``` **사용자 요청 9:** "도지코인 터틀 트레이딩 전략 ATR 필터 적용 2023년 전체" **변환된 툴 호출:** ``` backtesting( market="KRW-DOGE", strategy_type="breakout", start_date="2023-01-01", end_date="2023-12-31", strategy_params={"lookback": 55, "exit_lookback": 20, "atr_filter": True} ) ``` ## ⚠️ 주의사항 1. **지원 전략**: SMA 교차, RSI 과매도/과매수, 볼린저 밴드, MACD 신호선, 브레이크아웃 전략을 지원합니다. 2. **데이터 제한**: Upbit API 제한으로 긴 기간 백테스트 시 시간이 소요될 수 있습니다. 3. **수수료**: 기본 0.05% 수수료가 적용됩니다. 4. **결과 해석**: 과거 성과가 미래 수익을 보장하지 않습니다. 5. **전략별 특징**: - RSI: 과매도/과매수 구간 진입 시 한 번만 매매 - 볼린저 밴드: 밴드 내 상대적 위치 기반 매매 - MACD: 신호선 교차 시점에 매매 - 브레이크아웃: 신고가 돌파 시 매수, 신저가 하향 돌파 시 매도 ## 📈 결과 분석 및 설명 백테스팅 결과를 받은 후, 다음 항목들을 사용자에게 친화적으로 설명하세요: 1. **수익률 지표** - total_return: 총 수익률 (%) - annualized_return: 연평균 수익률 (%) - max_drawdown: 최대 낙폭 (%) 2. **위험 지표** - volatility: 변동성 (연율화) - sharpe_ratio: 샤프 지수 (위험 대비 수익) 3. **거래 성과** - win_rate: 승률 (%) - total_trades: 총 거래 횟수 - profit_factor: 프로핏 팩터 4. **결과 요약 예시** "SMA 20/50 교차 전략으로 비트코인을 2023년 동안 백테스팅한 결과: - 총 수익률: +15.3% - 연평균 수익률: +15.3% - 최대 낙폭: -12.8% - 샤프 지수: 1.2 (우수) - 승률: 60% (10회 거래 중 6회 수익) 이 전략은 안정적인 수익을 보여주었으나, 12.8%의 최대 낙폭이 있어 위험 관리가 필요합니다." 사용자의 자연어 요청을 위 가이드에 따라 정확히 파싱하여 backtesting 툴을 호출하고, 결과를 이해하기 쉽게 해석하여 제공하세요. """ def format_backtesting_result() -> str: """ 백테스팅 결과 포맷팅을 위한 프롬프트를 제공합니다. """ return """ 백테스팅 결과를 사용자 친화적으로 포맷팅하세요. ## 필수 포함 사항: 1. **초기 자본금 안내**: user_guidance의 capital_notice를 반드시 포함 2. **핵심 지표 강조**: capital_independent_metrics의 지표들을 백분율로 표시 3. **포트폴리오 상태**: portfolio_summary의 정보를 명확히 설명 4. **실용적 조언**: 전략의 강약점과 개선 방향 제시 ## 톤앤매너: - 친근하고 이해하기 쉬운 언어 사용 - 이모지를 활용한 시각적 구분 - 투자 위험성에 대한 적절한 경고 - 건설적인 개선 방향 제시 """

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/restful3/upbit-mcp-sse'

If you have feedback or need assistance with the MCP directory API, please join our Discord server