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/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)