[유동우의 경제옹알이 (28)]Python 몰라도 ChatGPT로 코딩할 수 있다
상태바
[유동우의 경제옹알이 (28)]Python 몰라도 ChatGPT로 코딩할 수 있다
  • 경상일보
  • 승인 2023.06.02 00:10
  • 댓글 0
이 기사를 공유합니다

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

ChatGPT의 장점을 하나 꼽는다면 코딩이다. 특히 Python 코딩에 탁월하다. 정말 많은 시간을 절약해 준다. Python이라는 프로그래밍 언어를 하나도 몰라도, 배우고자 하는 의지가 있다면 기초적인 코딩은 상당히 빨리 실행할 수 있도록 해준다. 여기서 말하는 실행이란 원하는 작업이 Python을 통해 구현되도록 하고, 프로그램 코드의 정확한 문법은 모른다고 하더라도, 어떤 작업을 수행하는지 대략적인 의미를 알 수 있다는 의미이다.

우선 Python을 설치하자. Python이라는 프로그래밍 언어를 설치하는 가장 간단한 방법은 Anaconda를 설치하는 것이다. Anaconda.com에 접속하면 Anaconda를 다운로드 받을 수 있다. Anaconda는 무료이고, Python이라는 프로그래밍 언어를 사용하는데 필요한 다양한 library를 같이 설치해 준다. Library는 Python을 쉽게 활용하는데 필요한 도구모음이라고 생각하면 큰 무리가 없다. Anaconda를 설치하면 Jupytor Notebook이라는 프로그램이 같이 설치된다. Python 코드는 Jupytor Notebook에서 실행할 수 있는데, Jupytor Notebook은 코드를 한 줄씩 실행하면서 결과를 볼 수 있다. 코드를 한 줄씩 실행하면서 결과를 볼 수 있다는 점은 코드의 정확한 문법을 잘 몰라도 어떤 작업을 수행하는지 대략적인 의미를 알 수 있게 해준다는 장점이 있다. ChatGPT에게 “jupytor notebook을 사용하는 방법을 초등학생도 알 수 있게 단계별로 자세히 설명해주세요”라고 요청하면 다음과 같은 답변을 준다.

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

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

Jupyter Notebook을 설치하고 실행할 수 있게 되면 이제 ChatGPT에게 코딩을 해달라고 하면 된다. 나는 애플과 마이크로소프트의 주가비율에 근거한 기초적인 주식거래를 위한 코드를 ChatGPT에게 작성해 달라고 다음과 같이 요청했다. “I want to make a quantitative trading model using python. Please make a trading model when the stock price ratio of Apple and Microsoft deviate usual price ratio.” ChatGPT가 해주는 코딩은 질문에 따라 달라지는데, 위 코드가 가장 좋은 코딩을 해 주었기에 그대로 소개한다. 하지만, 같은 질문에 대해서 꼭 같은 대답이 나오지 않을 수도 있다.

ChatGPT는 다음과 같이 코딩을 단계별로 해 주었다. 첫 번째는 주식 데이터를 다운로드 받기 위한 library인 yfinance를 설치하라는 것이었다. yfinance를 설치하기 위해서는 Jupytor Notebook에서 “pip install yfinance”를 입력하고 Shift + Enter를 누르면 된다. ChatGPT를 통해서 처음으로 yfinance라는 library가 있음을 알게 되었다. 그리고 yfinance는 정말로 편리했다. 주식가격 분석에서 가장 어렵고 시간이 많이 걸리는 부분은 데이터를 분석가능한 형태로 가공하는 것인데, 이를 전처리 작업이라고 한다. yfinance는 Yahoo Finance에서 데이터를 가져오는데, 전처리 작업을 하지 않아도 필요한 데이터를 다운로드 받을 수 있게 해주었다. yfinance를 몰랐을 때는 학생들에게 quantitative trading 기법을 가르치지 않았다. 학생들이 데이터 전처리 작업을 지루해하며 의미없다고 생각했기 때문이다. yfinance를 알게 된 이후 나는 학생들에게 quantitative trading 기법과 통계를 적극적으로 강의하고 있다.

ChatGPT에게 이 코드를 붙여넣고 설명해 달라고 하면 다음과 같이 설명을 해준다.

“이 코드는 yfinance 라이브러리를 사용하여 Yahoo Finance에서 주식 가격 데이터를 다운로드합니다. tickers: 다운로드하고자 하는 주식 종목들의 티커(symbol)를 리스트 형태로 입력합니다. 위 코드에서는 AAPL(애플)과 MSFT(마이크로소프트)를 대상으로 합니다. start_date: 데이터 다운로드의 시작 일자를 문자열 형태로 입력합니다. end_date: 데이터 다운로드의 종료 일자를 문자열 형태로 입력합니다. data: yf._download() 함수를 사용하여 주어진 기간(start_date ~ end_date) 동안의 각 종목(tickers)의 시가(open), 종가(close), 고가(high), 저가(low), 거래량(volume) 정보를 포함한 pandas.DataFrame 객체를 반환합니다. 다운로드된 데이터를 활용하여 시계열 데이터 분석을 수행할 수 있습니다. 위 코드에서는 pandas와 numpy 라이브러리를 사용하여 데이터를 가공하고, matplotlib 라이브러리를 사용하여 데이터를 시각화할 수 있습니다.”

코드를 Jupytor Notebook에 복사하고, Shift + Enter를 눌러 실행시켜 보자. 데이터가 100% 다운로드 되었다는 표시가 나오면, 첫 번째 Python 코딩에 성공한 것이다. ChatGPT의 장점을 묻는 사람들에게 나는 말한다. 예전에는 대학원생들에게도 시간이 오래 걸리고, 코딩에 성공한다는 보장이 없어서 Quantitative Trading을 강의하지 않았는데, 지금은 학부생들에게도 쉽게 가르칠 수 있다고. 따라 해보다가 잘 안되면 ChatGPT에게 물어보면 된다.

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


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.
주요기사
이슈포토
  • [발언대]위대한 울산, 신성장동력의 열쇠를 쥔 북구
  • [송은숙 시인의 월요시담(詩談)]복효근 ‘목련 후기(後記)’
  • 울산 남구 거리음악회 오는 29일부터 시작
  • 울산시-공단 도로개설 공방에 등 터지는 기업
  • 울산 북구 약수지구에 미니 신도시 들어선다
  • [지역민도 찾지 않는 울산의 역사·문화명소](4)충숙공 이예 선생 홍보관 - 접근성 떨어지고 자료도 빈약