This repository has been archived on 2025-06-07. You can view files and clone it, but cannot push or open issues or pull requests.
2025-05-06 21:23:04 +09:00

32 lines
1.1 KiB
Python

'''
strategy_engine/templates/basic_strategy.py
기본 전략 템플릿:
- 매수 신호가 있는 tradable 종목에 대해 TP(목표가), SL(손절가)를 자동 계산
- 단순 비율 방식으로 설정 (예: +5%, -3%)
- Buy 여부 결정 포함
'''
import pandas as pd
def apply_basic_strategy(df: pd.DataFrame, tp_ratio: float = 0.05, sl_ratio: float = 0.03) -> pd.DataFrame:
"""
전략 종목에 대해 TP/SL 조건 및 액션(Buy) 설정
Parameters:
df (pd.DataFrame): selector에서 필터링된 종목 DataFrame (최소: symbol, close 컬럼 포함)
tp_ratio (float): 목표 수익률 비율 (기본 5%)
sl_ratio (float): 손절 비율 (기본 3%)
Returns:
pd.DataFrame: 전략 조건이 부여된 종목 테이블
"""
df = df.copy()
df['entry_price'] = df['close'] # 현재 종가를 진입가로 가정
df['target_price'] = df['entry_price'] * (1 + tp_ratio)
df['stop_loss'] = df['entry_price'] * (1 - sl_ratio)
df['action'] = 'Buy' # 현재는 모두 매수 대상으로 판단
return df[['symbol', 'entry_price', 'target_price', 'stop_loss', 'action']]