**📌 "챗봇 기반 투자 자문 시스템"**은 최근 급부상한 LLM(Large Language Model)을 활용하여 사용자에게 실시간 금융 조언을 제공하는 시스템입니다.
이 시스템은 단순히 정보를 조회하는 수준을 넘어, 개인 맞춤형 포트폴리오 추천, 리스크 진단, 실시간 시황 분석까지 수행할 수 있습니다.
🧠 구성 요소 설명
구성요소 | 설명 |
✅ LLM (GPT-4 등) | 투자 설명 생성, 종목 진단, 리밸런싱 해설 등 자연어 기반 응답 생성 |
✅ Chat UI | Streamlit, React, Botpress 등을 활용한 대화형 웹 인터페이스 |
✅ API 연결 | yfinance, Alpha Vantage, News API, SEC API, FRED, OpenAI API 등 |
✅ 사용자 프롬프트 엔진 | "리스크 중심으로 3개 종목을 추천해줘", "내 자산구성을 점검해줘" 같은 자연어 요청 처리 |
✅ 대시보드 통합 | 사용자 프로파일에 맞는 투자리포트, 성과 추적, 시나리오 분석까지 시각화 가능 |
💬 사용 시나리오 예시
1. 개인 포트폴리오 점검
"내 자산 중 주식 60%, 채권 30%, 금 10%인데 괜찮을까?"
→ GPT-4가 사용자의 자산 구조를 읽고, 최신 시장 상황/리스크를 반영해 재조정 조언 제공.
2. 특정 종목 분석 요청
"삼성전자에 투자할 만한 이유를 알려줘. 리스크도 설명해줘."
→ GPT가 재무 데이터, 뉴스 요약, 업황 분석을 통해 종합적인 투자 판단 자료 제공.
3. 실시간 매크로 뉴스 알림
"미국 CPI 발표에 따른 시장 반응 요약해줘"
→ News API + LLM 조합으로 경제 이벤트 요약 및 해석 제공.
🔗 주요 API 구성도 예시
↓
[LLM 처리 모듈] ←→ [재무 데이터 API (yfinance)]
←→ [뉴스 분석 API (NewsAPI, SEC, FRED)]
←→ [GPT 설명 모듈]
←→ [포트폴리오 백테스트 모듈]
📦 실제 구현 예시 기술 스택
기능 | 기술 / 도구 |
Chat UI | Streamlit Chat, Botpress, Gradio |
LLM 응답 처리 | OpenAI GPT-4, Claude, Mistral |
데이터 API | Alpha Vantage, yfinance, FRED |
백테스트/시각화 | backtrader, matplotlib, plotly |
DB 저장 | SQLite / PostgreSQL |
보안 인증 | JWT 인증, Streamlit 세션관리 등 |
✅ 기대 효과
- 📊 초보자도 GPT 챗봇을 통해 투자 리스크와 기회를 직관적으로 이해
- 🧠 전문가 수준의 실시간 종목 분석 및 포트폴리오 진단
- ⏱ 투자자의 시간과 분석 비용 절약
- 📈 실시간 정보 + 개인화 전략 제안
================
================
import streamlit as st
import openai
import yfinance as yf
import datetime
# 🔐 API 키 입력
openai.api_key = st.secrets["OPENAI_API_KEY"]
# 🔷 Streamlit 앱 제목
st.set_page_config(page_title="AI 투자 자문 챗봇", layout="wide")
st.title("🤖 AI 투자 자문 챗봇")
# 🔍 사용자 입력 받기
user_input = st.chat_input("💬 투자 관련 질문을 입력하세요...")
# 📊 주가 가져오기 함수
def get_stock_summary(ticker):
try:
stock = yf.Ticker(ticker)
hist = stock.history(period="1y")
current = stock.info['currentPrice']
pe_ratio = stock.info.get('trailingPE', 'N/A')
name = stock.info.get('shortName', ticker)
return f"{name} 현재가: ${current}, PER: {pe_ratio}, 1년 수익률: {round((hist['Close'][-1]/hist['Close'][0]-1)*100, 2)}%"
except:
return f"{ticker}에 대한 요약 정보를 가져올 수 없습니다."
# 🤖 GPT 투자 설명 생성
def generate_advice(query):
messages = [
{"role": "system", "content": "당신은 친절한 금융 투자 자문가입니다."},
{"role": "user", "content": query}
]
response = openai.ChatCompletion.create(
model="gpt-4",
messages=messages
)
return response.choices[0].message['content']
# 🧠 질문 처리
if user_input:
with st.spinner("AI 분석 중..."):
st.chat_message("user").write(user_input)
# 종목 코드 자동 추출 (예: 삼성전자 → 005930.KS)
if "삼성전자" in user_input:
summary = get_stock_summary("005930.KS")
st.info(f"📈 {summary}")
gpt_response = generate_advice(user_input)
st.chat_message("assistant").write(gpt_response)
# 🧾 샘플 질문 안내
with st.expander("💡 샘플 질문 보기"):
st.markdown("""
- 삼성전자에 투자해도 될까요?
- 오늘 미국 증시 어떤 이슈 있었나요?
- ETF 중 배당률이 높은 걸 추천해주세요
- AI 관련 종목 중 성장 가능성이 높은 종목은?
- 내 자산배분(주식 70, 채권 30) 어떤가요?
""")
Streamlit 기반 실전형 AI 투자 자문 챗봇 시스템 코드가 완성되었습니다. 이 시스템은 다음 기능을 포함합니다:
- 💬 사용자 질문 입력 + LLM 기반 응답
- 📈 yFinance API로 종목 실시간 요약 제공
- 🧠 GPT-4를 활용한 맞춤형 투자 조언 생성
- 🔐 API 키 비밀 관리 (.streamlit/secrets.toml 사용)
👉 실행 전 .streamlit/secrets.toml 파일에 다음처럼 OpenAI 키를 설정해주세요:
추가로 원하시면 다음 기능도 연동해 드릴 수 있습니다:
- 포트폴리오 점검 기능
- ETF 추천 시스템
- 시황 뉴스 연동 등
=======================
import streamlit as st
import openai
import yfinance as yf
import datetime
import requests
# 🔐 API 키 입력
openai.api_key = st.secrets["OPENAI_API_KEY"]
news_api_key = st.secrets["NEWS_API_KEY"]
# 🔷 Streamlit 앱 제목
st.set_page_config(page_title="AI 투자 자문 챗봇", layout="wide")
st.title("🤖 AI 투자 자문 챗봇")
# 🔍 사용자 입력 받기
user_input = st.chat_input("💬 투자 관련 질문을 입력하세요...")
# 📊 주가 가져오기 함수
def get_stock_summary(ticker):
try:
stock = yf.Ticker(ticker)
hist = stock.history(period="1y")
current = stock.info['currentPrice']
pe_ratio = stock.info.get('trailingPE', 'N/A')
name = stock.info.get('shortName', ticker)
return f"{name} 현재가: ${current}, PER: {pe_ratio}, 1년 수익률: {round((hist['Close'][-1]/hist['Close'][0]-1)*100, 2)}%"
except:
return f"{ticker}에 대한 요약 정보를 가져올 수 없습니다."
# 🧠 GPT 투자 설명 생성
def generate_advice(query):
messages = [
{"role": "system", "content": "당신은 친절한 금융 투자 자문가입니다."},
{"role": "user", "content": query}
]
response = openai.ChatCompletion.create(
model="gpt-4",
messages=messages
)
return response.choices[0].message['content']
# 📰 시황 뉴스 요약 함수 (NewsAPI)
def get_market_news():
url = f"https://newsapi.org/v2/top-headlines?category=business&language=ko&apiKey={news_api_key}"
r = requests.get(url).json()
articles = r.get("articles", [])
return [f"[{a['title']}]({a['url']})" for a in articles[:5]]
# 📊 ETF 추천 함수
def recommend_etfs():
return [
("VTI", "미국 전체 시장 ETF"),
("VOO", "S&P 500 추종 ETF"),
("QQQ", "나스닥 100 ETF"),
("ARKK", "혁신 기술 ETF"),
("SCHD", "고배당 ETF")
]
# 📋 포트폴리오 점검 함수
portfolio = st.sidebar.text_area("📂 내 포트폴리오 (예: AAPL 50%, TLT 30%, GLD 20%)")
if portfolio:
with st.sidebar:
if st.button("🔍 포트폴리오 점검"):
gpt_portfolio_check = generate_advice(f"내 포트폴리오는 다음과 같습니다: {portfolio}. 리스크와 보완점을 조언해줘.")
st.success(gpt_portfolio_check)
# 🧠 질문 처리
if user_input:
with st.spinner("AI 분석 중..."):
st.chat_message("user").write(user_input)
# 종목 코드 자동 추출 (예: 삼성전자 → 005930.KS)
if "삼성전자" in user_input:
summary = get_stock_summary("005930.KS")
st.info(f"📈 {summary}")
if "ETF" in user_input:
etfs = recommend_etfs()
for code, desc in etfs:
st.write(f"✅ **{code}**: {desc}")
if "뉴스" in user_input or "시황" in user_input:
st.subheader("📰 최신 경제 뉴스")
for news in get_market_news():
st.markdown(f"- {news}")
gpt_response = generate_advice(user_input)
st.chat_message("assistant").write(gpt_response)
# 🧾 샘플 질문 안내
with st.expander("💡 샘플 질문 보기"):
st.markdown("""
- 삼성전자에 투자해도 될까요?
- 오늘 미국 증시 어떤 이슈 있었나요?
- ETF 중 배당률이 높은 걸 추천해주세요
- AI 관련 종목 중 성장 가능성이 높은 종목은?
- 내 자산배분(주식 70, 채권 30) 어떤가요?
""")
Streamlit 기반 AI 투자 자문 챗봇에 다음 기능이 통합되었습니다:
- ✅ 포트폴리오 점검: 사이드바에 포트폴리오 입력 후 GPT가 리스크 및 조언 제공
- 📈 ETF 추천 시스템: VTI, QQQ, ARKK 등 주요 ETF 자동 추천
- 📰 시황 뉴스 연동: NewsAPI를 통해 최신 경제 뉴스 요약 제공
🔐 .streamlit/secrets.toml에 다음도 추가해주세요:
순위 | AI 투자 방안 이름 | 활용 기술 | 상세 바로가기 |
---|---|---|---|
1 | AI 퀀트 포트폴리오 최적화 | Markowitz, RL, MPT, AI 최적화 | 바로가기 |
2 | 감정 분석 기반 뉴스 트레이딩 | NLP, BERT, LLM | 바로가기 |
3 | AI ETF 자동 리밸런싱 | AutoML, Alpha Vantage API | 바로가기 |
4 | 머신러닝 기반 주가 예측 | XGBoost, LightGBM | 바로가기 |
5 | 딥러닝 LSTM 시계열 예측 | TensorFlow, PyTorch LSTM | 바로가기 |
6 | 강화학습 기반 자동 매매 | OpenAI Gym, PPO, DQN | 바로가기 |
7 | AI 기반 가치주 선별 (Value Factor) | AI 팩터스코어링, 계량모델 | 바로가기 |
8 | GPT 기반 재무제표 요약 투자 | GPT-4, LangChain, OCR | 바로가기 |
9 | AI 리스크 해지 전략 (VIX, 금리, 환율) | AI 헷지백테스트, 시나리오 모델 | 바로가기 |
10 | SVM 기반 종목 필터링 | SVM + 재무데이터 | 바로가기 |
11 | AI IPO 스코어링 모델 | AI 점수화 + IPO 성과예측 | 바로가기 |
12 | 챗봇 기반 투자 자문 시스템 | LLM + Chat UI + API 연결 | 바로가기 |
13 | XGBoost 기반 이벤트 드리븐 트레이딩 | XGBoost + 뉴스 이벤트 | 바로가기 |
14 | AutoML 기반 알고리즘 전략 탐색 | TPOT, H2O.ai, FeatureTools | 바로가기 |
15 | AI 기반 ESG 점수 분석 투자 | AI ESG 분석 + ETF 필터링 | 바로가기 |
16 | 옵션 가격 예측 딥러닝 모델 | DNN, OptionNet, VolNet | 바로가기 |
17 | 고빈도 트레이딩용 AI 패턴 인식 | CNN, 딥러닝 패턴 분석 | 바로가기 |
18 | AI 기반 섹터 로테이션 모델 | 순환분류 + 군집분석 | 바로가기 |
19 | LLM 기반 글로벌 투자 리서치 요약 | GPT + PDF 요약 + 질의응답 | 바로가기 |
20 | AI + Satellite Data 기반 농산물 투자 | AI + 위성데이터 + 시계열학습 | 바로가기 |
이 글이 도움이 되었다면,아래 링크를 통해서 후원해주세요.( 커피나 차 한잔 이나 맥주나 와인한잔 )
'인공지능' 카테고리의 다른 글
AutoML 기반 알고리즘 전략 탐색- TPOT, H2O.ai, FeatureTools (0) | 2025.06.07 |
---|---|
XGBoost 기반 이벤트 드리븐 트레이딩- XGBoost + 뉴스 이벤트 (0) | 2025.06.07 |
AI IPO 스코어링 모델- AI 점수화 + IPO 성과예 (2) | 2025.06.07 |
SVM 기반 종목 필터링- SVM + 재무데이터 (0) | 2025.06.07 |
AI 리스크 해지 전략 (VIX, 금리, 환율)- AI 헷지백테스트, 시나리오 모델 (0) | 2025.06.07 |