''' strategy_engine/selector.py risk_filtered_result.csv에서 tradable 종목만 선택하고, 추가적인 전략 조건(예: 상승 확률, 리스크 점수 기준)에 따라 최종 전략 대상 종목을 선별합니다. ''' import pandas as pd def select_candidates(risk_filtered_path: str, min_probability: float = 0.7, min_risk_score: int = 70) -> pd.DataFrame: """ 전략 실행 대상 종목을 선별하는 함수 Parameters: risk_filtered_path (str): risk_filtered_result.csv 파일 경로 min_probability (float): 최소 상승 확률 기준 (기본 0.7) min_risk_score (int): 최소 리스크 점수 기준 (기본 70) Returns: pd.DataFrame: 전략 조건을 만족하는 종목들 """ df = pd.read_csv(risk_filtered_path) # tradable 종목 중 전략 조건 만족하는 종목만 선별 filtered = df[ (df['tradable'] == True) & (df['predicted_score'] >= min_probability) & (df['risk_score'] >= min_risk_score) ].copy() return filtered.reset_index(drop=True)