Perplexity 를 이용한 인공지능 종목 추천입니다.

질의 내용

상대적으로 타 업종 대비 저평가된 PER, PBR 종목 선택

Perplexity 제공 정보

정보들은 tbacking에서 집계한 자료들입니다.

'price', 'per', 'pbr', 'status', 'mktcap', 'rsi', 'roe', 'debtr', 'ins', 'frn', 'mktype', 'ma5', 'ma5r',
'ma20', 'sector', 'lowr', 'roeYr', 'roeQr'**

관련 소스

    # 기본 필터링
    df = df[
        (df['status'] == 'normal') &
        (df['roe'] > 5) &  # ROE 5% 이상
        (df['debtr'] < 200) &  # 부채비율 200% 미만
        (df['per'] > 0) &  # PER 양수
        (df['pbr'] > 0)  # PBR 양수
    ]

    # 업종별 평균 PER, PBR 계산
    sector_avg = df.groupby('sector')[['per', 'pbr']].mean()
    df = pd.merge(df, sector_avg, on='sector', suffixes=('', '_sector_avg'))

    # 업종 평균 대비 PER, PBR 비율 계산
    df['per_ratio'] = df['per'] / df['per_sector_avg']
    df['pbr_ratio'] = df['pbr'] / df['pbr_sector_avg']

    # 스코어링
    df['value_score'] = (2 - df['per_ratio'] - df['pbr_ratio']) * 50
    df['growth_score'] = (df['roeYr'] + df['roeQr']) * 5
    df['momentum_score'] = (
        df['ins'] * 10 +
        df['frn'] * 10 +
        (df['ma5'] > df['ma20']).astype(int) * 5 +
        (df['ma5r'] > 0).astype(int) * 5 +
        ((40 <= df['rsi']) & (df['rsi'] <= 60)).astype(int) * 5
    )

    df['total_score'] = df['value_score'] + df['growth_score'] + df['momentum_score']
    print(df)

종목

Error: Tag 'tbdf' does not provide a valid DataFrame.