퍼플렉시티(Perplexity) WICS 업종별 종목 추천

tbacking

2025년 5월 14일

Perplexity 를 이용한 인공지능 종목 추천 2탄입니다. (1탄은 여기)

이번에는 WICS라는 업종 정보를 주면서 종목 추천을 문의했습니다. 업종마다의 특색이 있는데 그러한 정보들을 담아내는지 궁금해서 시작한 작업입니다. 재미로 봐주시기 바랍니다. 어느 정도는 의미가 있어 보입니다.

Perplexity 제공 정보

WICS 업종 정보 그리고 아래 정보들
name, price, per, ma5, ma20, frn, ins, rsi, roe

업종별 의미를 부여할 수 있도록 코드 생성을 요청했더니 아래와 같은 소스 코드를 생성했습니다.

def calculate_sector_score(row):
    sector = row['sector']
    score = 0

    # 기본 점수 계산
    if 0 < row['per'] < 20:
        score += 1
    if row['pbr'] < 2:
        score += 1
    if row['price'] > row['ma20']:
        score += 1
    if row['frn'] > 0:
        score += 1
    if row['ins'] > 0:
        score += 1
    if 30 < row['rsi'] < 70:
        score += 1
    if row['roe'] > 10:
        score += 1

    # 업종별 특화 점수
    if sector == '에너지':
        if row['pbr'] < 1.5:
            score += 2
    elif sector == '소재':
        if row['per'] < sector_avg_per['소재']:
            score += 2
    elif sector == '산업재':
        if row['roe'] > sector_avg_roe['산업재']:
            score += 2
    elif sector == '자유소비재':
        if row['ma5_slp'] > 0 and row['frn'] > 0:
            score += 2
    elif sector == '필수소비재':
        if row['per'] < sector_avg_per['필수소비재'] and row['pbr'] < sector_avg_pbr['필수소비재']:
            score += 2
    elif sector == '건강관리':
        if row['mktcap'] > df[df['sector'] == '건강관리']['mktcap'].median():
            score += 2
    elif sector == '금융':
        if row['roe'] > 15:
            score += 2
    elif sector == 'IT':
        if row['ma5_slp'] > 0 and row['rsi'] < 65:
            score += 2
    elif sector == '통신서비스':
        if row['per'] < sector_avg_per['통신서비스']:
            score += 2
    elif sector == '유틸리티':
        if row['pbr'] < sector_avg_pbr['유틸리티']:
            score += 2
    else:
        # 기타 업종 또는 분류되지 않은 업종
        pass  # skip

return score

아래는 위 코드로 업종별 1등 종목만 정렬한 결과입니다.


종목업종현재가점수
AP시스템IT17,8609
HMM산업재20,8009
NPC소재4,2459
GS에너지39,3008
대성에너지유틸리티7,7208
오리온필수소비재122,6009