월요일, 4월 22, 2024
Home자동화(유동우 경제 옹알이(28)) Python을 몰라도 ChatGPT로 코딩할 수 있어요.

(유동우 경제 옹알이(28)) Python을 몰라도 ChatGPT로 코딩할 수 있어요.


▲ 유동우 울산대 경제학과 교수


ChatGPT의 장점 중 하나는 코딩입니다. 특히 Python 코딩에 탁월합니다. 정말 시간이 많이 절약됩니다. 프로그래밍 언어인 Python에 대해 아무것도 모르더라도, 배우려는 의지가 있다면 기본적인 코딩은 꽤 빠르게 할 수 있습니다. 여기서 실행이란 원하는 작업을 파이썬을 통해 구현한다는 뜻으로, 프로그램 코드의 정확한 구문을 몰라도 어떤 작업이 수행되는지 대략적인 의미를 알 수 있다.

먼저 Python을 설치해보자. Python이라는 프로그래밍 언어를 설치하는 가장 간단한 방법은 Anaconda를 설치하는 것입니다. Anaconda.com을 방문하여 Anaconda를 다운로드할 수 있습니다. Anaconda는 무료이며 Python이라는 프로그래밍 언어를 사용하는 데 필요한 다양한 라이브러리를 설치합니다. 라이브러리를 Python을 쉽게 사용하는 데 필요한 도구 모음으로 생각하는 것은 큰 문제가 아닙니다. Anaconda를 설치하면 Jupytor Notebook이라는 프로그램이 함께 설치됩니다. Python 코드는 Jupytor Notebook에서 실행할 수 있으므로 코드를 한 줄씩 실행하고 결과를 볼 수 있습니다. 코드를 한 줄씩 실행하여 결과를 볼 수 있다는 장점은 코드의 정확한 구문을 모르더라도 무슨 일이 일어나고 있는지 대략적인 의미를 알 수 있다는 점이다. ChatGPT에 “초등학생도 이해할 수 있도록 jupytor 노트북 사용법을 차근차근 자세히 설명해주세요”라고 물어보면 다음과 같은 답변이 나옵니다.

“Jupyter Notebook은 데이터 분석 및 프로그래밍에 널리 사용되는 대화형 개발 환경입니다. 아래에서는 Jupyter Notebook을 사용하는 방법을 초등학생도 이해할 수 있는 단계로 자세히 설명하겠습니다. 1단계: 주피터 노트북 설치(생략), 2단계: 주피터 노트북 실행(생략), 3단계: 주피터 노트북 사용: 위 단계를 완료하면 기본 웹 브라우저에 주피터 노트북이 열립니다. 이제 Jupyter Notebook을 사용하여 코드를 작성하고 실행할 수 있습니다.

웹 브라우저에서 Jupyter Notebook이 열리면 홈 화면이 표시됩니다. 여기에서 새 노트북을 만들려면 오른쪽 상단의 “새로 만들기” 버튼을 클릭하고 “Python 3”을 선택하세요. 노트북이 열리면 코드를 입력할 수 있는 셀이 표시됩니다. 각 셀은 코드 블록입니다. 코드를 입력하려는 셀을 클릭하고 코드를 작성하세요. 예를 들어, “print(‘Hello, World!’)”를 입력하여 셀에 코드를 작성할 수 있습니다. 작성한 코드를 실행하려면 Shift + Enter를 누르거나 셀 상단의 실행 버튼을 클릭하세요. 코드 실행 결과는 셀 아래에 표시됩니다. 위의 예에서는 “Hello, World!” 출력됩니다.”

Jupyter Notebook을 설치하고 실행할 수 있으면 이제 ChatGPT에 코딩을 요청할 수 있습니다. 나는 ChatGPT에게 다음과 같이 Apple과 Microsoft의 주식 비율을 기반으로 기본적인 주식 거래를 위한 코드를 작성해 달라고 요청했습니다. “파이썬을 사용하여 정량 거래 모델을 만들고 싶습니다. 애플과 마이크로소프트의 주가 비율이 평소 주가 비율을 벗어날 때 거래 모델을 만들어달라”고 말했다. ChatGPT에서 제공하는 코딩은 질문에 따라 다르지만, 위의 코드가 가장 좋은 코딩을 제공하므로 그대로 소개합니다. 그러나 동일한 질문에 반드시 동일한 답변이 제공되는 것은 아닙니다.


ChatGPT는 다음과 같이 단계별로 코딩을 진행했습니다. 첫 번째는 주식 데이터 다운로드용 라이브러리인 yfinance를 설치하는 것이었습니다. yfinance를 설치하려면 Jupytor Notebook에 “pip install yfinance”를 입력하고 Shift + Enter를 누르세요. ChatGPT를 통해서 처음으로 yfinance라는 라이브러리가 있다는 것을 알게 되었습니다. 그리고 yfinance는 정말 편리했어요. 주가 분석에서 가장 어렵고 시간이 많이 걸리는 부분은 데이터를 분석 가능한 형태로 처리하는 것인데, 이를 전처리라고 합니다. yfinance는 Yahoo Finance에서 데이터를 가져오므로 사전 처리 없이 필요한 데이터를 다운로드할 수 있습니다. 저는 yfinance에 대해 몰랐을 때 학생들에게 퀀트 트레이딩 기술을 가르치지 않았습니다. 학생들이 데이터 전처리를 지루하고 의미없다고 생각했기 때문이다. 저는 yfinance를 배운 이후 학생들에게 퀀트 트레이딩 기법과 통계학을 적극적으로 가르쳐 왔습니다.



이 코드를 ChatGPT에 붙여넣고 설명을 요청하면 다음과 같이 설명해줍니다.

“이 코드는 yfinance 라이브러리를 사용하여 Yahoo Finance에서 주가 데이터를 다운로드합니다. 티커: 다운로드하려는 주식 항목의 티커(기호)를 목록 형식으로 입력합니다. 위 코드는 AAPL(Apple) 및 MSFT(Microsoft)를 대상으로 합니다. start_date: 데이터 다운로드 시작 날짜를 문자열 형식으로 입력합니다. end_date: 데이터 다운로드 종료일을 문자열 형식으로 입력합니다. 데이터: yf.download() 함수를 사용하여 주어진 기간(start_date ~ end_date) 동안 각 종목의 시가, 종가, 고가, 저가 및 거래량. 정보가 포함된 pandas.DataFrame 객체를 반환합니다. 다운로드한 데이터를 이용하여 시계열 데이터 분석을 수행할 수 있습니다. 위 코드에서는 pandas 및 numpy 라이브러리를 사용하여 데이터를 처리하고 matplotlib 라이브러리를 사용하여 데이터를 시각화할 수 있습니다.”

코드를 Jupytor Notebook에 복사하고 Shift + Enter를 눌러 실행하세요. 데이터가 100% 다운로드되었다고 표시되면 첫 번째 Python 코딩이 성공한 것입니다. ChatGPT의 장점을 묻는 분들께 이렇게 말씀드립니다. 예전에는 Quantitative Trading을 대학원생들에게 가르치지 않았습니다. 왜냐하면 시간이 오래 걸리고 코딩에 성공할 것이라는 보장도 없었기 때문입니다. 그러나 지금은 쉽게 가르칠 수 있습니다. 학부생들에게. 따라해 보았는데 작동하지 않으면 ChatGPT에 문의하세요.

유동우 울산대 경제학부 교수

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments