

제목이 어려워 보여서 간단히 설명 드리고 프로그램으로 정리해 보겠습니다.
세상의 모든 디지털 데이터들을 학습하여 만든 인공지능모델로 답변을 생성하는 기술!
GPT, 또는 "Generative Pre-trained Transformer"는 OpenAI에서 개발한 인공지능 모델입니다. 이 모델은 자연어 처리 작업을 수행하는 데 매우 유용하며, 텍스트 생성, 번역, 대화 및 질문 응답 등의 다양한 응용 프로그램에 사용될 수 있습니다.
간단히 정리하면 GPT는 우리가 알고있는 인터넷 검색에서 사용하는 모든 데이터 뿐아니라, 일반적인 출판서적, 위키백과, 브리테니커 같은 백과사전들, 인터넷에 유통되는 모든 사진들, 그리고 공공기관의 자료, 일반 기업의 재무재표 등세상의 모든 데이터들을 학습하여 만든 인공지능이라 하겠습니다.
GPT 모델은 많은 양의 텍스트 데이터를 학습하여 사람들의 언어 구조의 패턴을 이해하고 이를 바탕으로 정보를 검색하고, 요약하여 원하는 주어진 질문에 대해 관련성 높은 응답을 생성하여 제공하는 기술입니다. GPT-4와 같은 최신 모델은 이전 버전보다 더 강력한 성능을 자랑하며, 다양한 작업에서 뛰어난 결과를 보여줍니다.
GPT-1 2018년 출시한 이후 2023년 GPT-4 출시에 이어 상용화 모델까지 등장 하였습니다.
* 아래 소스의 GPT "YOUR_OPENAI_API_KEY" 는 open-api의 유료로 가입을 해서 발급 받는 API의 키 입니다.
RAG(Retrieval-Augmented Generation)는 GPT 모델에서 학습한 데이터와 외부의 데이터를 결합하여 새로운 결과를 생성해내는 기술
Yahoo Finance와 같은 외부 소스에서 데이터를 가져와 GPT 모델에 입력하여 예측을 생성하는 방식은 RAG(Retrieval-Augmented Generation) 방식에 해당할 수 있습니다.
세부적인 내용은 여기까지하고 주식 차트 데이터를 수집하기 위해 Yahoo Finance 를 활용하고 GPT-4 API를 이용하여 주식을 분석하는 예시를 작성하여 봅니다.
주식 데이터를 가져오고 그래프를 그린 다음, AI 모델을 사용하여 주가 예측 결과를 제공하는 예제입니다.
import yfinance as yf
import matplotlib.pyplot as plt
import openai
import pandas as pd
def fetch_stock_data(ticker, start_date, end_date):
stock = yf.download(ticker, start=start_date, end=end_date)
return stock
def plot_stock_chart(stock_data, ticker):
plt.figure(figsize=(12,6))
plt.plot(stock_data['Close'], label=f'{ticker} Closing Price')
plt.title(f'{ticker} Stock Price Chart')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.grid()
plt.show()
def analyze_stock_with_llm(stock_data):
openai.api_key = "YOUR_OPENAI_API_KEY"
description = f"""
주어진 주식 데이터는 다음과 같습니다:
- 시작일: {stock_data.index[0]}
- 종료일: {stock_data.index[-1]}
- 최고가: {stock_data['High'].max()}
- 최저가: {stock_data['Low'].min()}
- 평균 거래량: {stock_data['Volume'].mean()}
이 데이터를 기반으로 향후 주가 흐름을 예측하고 투자 전략을 제안해주세요.
"""
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "당신은 금융 데이터 분석 전문가입니다."},
{"role": "user", "content": description}
]
)
return response["choices"][0]["message"]["content"]
if __name__ == "__main__":
ticker = "AAPL" # 애플 주식 예시
start_date = "2022-01-01"
end_date = "2024-02-15"
stock_data = fetch_stock_data(ticker, start_date, end_date)
plot_stock_chart(stock_data, ticker)
analysis_result = analyze_stock_with_llm(stock_data)
print("\nAI 분석 결과:\n", analysis_result)
각 함수와 코드를 단계별로 설명하겠습니다.
예제는 파이썬으로 작성되는 프로그램으로 데이터 분석을 위한 라이브러리들을 설치하여야 합니다.
import yfinance as yf
import matplotlib.pyplot as plt
import openai
import pandas as pd
만약 위의 프로그램이 없다고 나오면 아래 명령으로 파이썬 라이브러리 설치 프로그램(pip) 를 이용하여 설치를 해야 합니다.
pip install yfinance matplotlib openai
2. 주식 데이터 가져오기:
- 이 함수는 Yahoo Finance 에서 주식의 티커(symbol), 시작일, 종료일을 인수로 받아 주식 데이터를 다운로드합니다.
def fetch_stock_data(ticker, start_date, end_date):
stock = yf.download(ticker, start=start_date, end=end_date)
return stock
3. 주식 차트 그리기:
def plot_stock_chart(stock_data, ticker):
plt.figure(figsize=(12,6))
plt.plot(stock_data['Close'], label=f'{ticker} Closing Price')
plt.title(f'{ticker} Stock Price Chart')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.grid()
plt.show()
다운로드한 주식 데이터를 사용하여 주식 종가(Closing Price)를 그래프로 그립니다. 차트에는 주식의 티커(symbol)와 차트 제목, 축 레이블 등이 포함됩니다.
4. AI 모델을 사용하여 주식 예측 및 분석:
* openai.api_key = "YOUR_OPENAI_API_KEY" 는 Open-AI GPT-4의 유로 사용자에게 제공되는 API Key 입니다.
def analyze_stock_with_llm(stock_data):
openai.api_key = "YOUR_OPENAI_API_KEY"
description = f"""
주어진 주식 데이터는 다음과 같습니다:
- 시작일: {stock_data.index[0]}
- 종료일: {stock_data.index[-1]}
- 최고가: {stock_data['High'].max()}
- 최저가: {stock_data['Low'].min()}
- 평균 거래량: {stock_data['Volume'].mean()}
이 데이터를 기반으로 향후 주가 흐름을 예측하고 투자 전략을 제안해주세요.
"""
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "당신은 금융 데이터 분석 전문가입니다."},
{"role": "user", "content": description}
]
)
return response["choices"][0]["message"]["content"]
5. 전체 코드 실행:
- 코드는 AAPL (애플) 주식을 예시로 사용하여 주식 데이터를 다운로드하고 차트를 그린 후, AI 모델을 사용하여 주가 예측 결과를 출력합니다.
if __name__ == "__main__":
ticker = "AAPL" # 애플 주식 예시
start_date = "2022-01-01"
end_date = "2024-02-15"
stock_data = fetch_stock_data(ticker, start_date, end_date)
plot_stock_chart(stock_data, ticker)
analysis_result = analyze_stock_with_llm(stock_data)
print("\nAI 분석 결과:\n", analysis_result)
이상으로 간단한 예시를 정리해 보았습니다.
[BigData] - 인공지능 주식 예측에 적합한 분석 알고리즘의 종류
[BigData] - [인공지능 RAG 주식 예측] 간단하게 GPT LLM을 이용한 주식 예측 프로그램 만들기[BigData] - [인공지능] Meta AI LLaMA 모델을 사용하여 주식 예측 프로그램 만들기
[BigData] - [인공지능] ARIMA -주가 예측 모델: 3-6-9개월 후 AMZN 주가 확인 -
[BigData] - (AI프롬프트) LangChain과 LLM (Large Language Model)이 만드는 생성형 AI(Generative AI)
[Tech-Trends] - 2025년 주목 받는 생성형 AI 도구들
[Tech-Trends] - AI 챗봇과 AI 에이전트는 무엇이 다를까 ?
[Tech-Trends] - 정말 알아두면 좋은 AI 도구 트렌드 - AI Trending Tools
[BigData] - 인공지능 GPT4와 RAG를 이해하는데 알아야 하는 용어들
[오픈소스 인공지능 GPT기술]
댓글
댓글 쓰기