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.