Page 12 -
P. 12

5.2        데이터베이스 사용                         PYTHON AUTO TRADING SYSTEM








               여러 매체에서 한 번쯤 데이터베이스(database)라는 말을 들어 보았을 것입니다.
               데이터베이스란 간단하게 말해 컴퓨터 시스템에 저장하는 구조화된 정보 및 데이터 모음이라고 할
               수 있습니다. 보통 데이터베이스는 여러 사람이 동일한 데이터를 공유하려는 것이 목적이지만, 우

               리는 개인 PC에 매매에 필요한 정보를 저장하고 관리하려는 용도로 사용합니다.

               앞서 우리는 Kiwoom API를 이용하여 특정 종목의 일봉 데이터를 조회하고 이를 클래스 변수에
               저장했습니다. 하지만 이 데이터는 컴퓨터를 재부팅하는 등 프로그램을 다시 실행하면 사라지는
               휘발성 메모리(volatile memory)에 저장되어 있습니다.

               따라서 프로그램을 실행할 때마다 일봉 데이터를 새로 조회해야 하는 번거로움이 있습니다. 물론
               그렇게 사용해도 되지만, 한 번 저장하면 계속 사용할 수 있는 데이터를 프로그램을 실행할 때마다
               불러오는 것은 데이터양이 많으면 많을수록 리소스를 소비하는 일입니다. 따라서 이 데이터들을

               데이터베이스에 저장하여 안전하게 보관하고 필요할 때마다 불러와 쓰는 것이 더 효율적입니다.
               데이터베이스 종류가 다양하지만, 여기서는 별도의 설치가 필요 없는 SQLite라는 데이터베이스

               를 사용하겠습니다.
               파이썬에서는 sqlite3 모듈로 쉽게 SQLite 데이터베이스를 사용할 수 있기에 따로 설치가 필요하

               지 않으니 바로 코드로 설명하겠습니다. util에 만들어 놓은 db_helper.py 파일에 다음 코드를
               작성한 후 실행해 보겠습니다.


                db_helper.py
                 import sqlite3
                 conn = sqlite3.connect('universe_price.db')



               이 코드는 universe_  price라는 데이터베이스 파일(.db)에 연결하겠다는 의미입니다. 해당 파
               일이 있으면 연결하는 역할만 하지만, 없으면 파일을 생성하는 작업까지 수행합니다. 파일이 생
               성되는 위치를 지정할 수도 있지만, 경로를 따로 지정하지 않으면 코드가 실행되는 파일(db_
               helper.py)과 같은 위치에 자동으로 생성됩니다. 따라서 프로젝트의 util 패키지에 다음과 같이
               universe_  price.db가 생긴 것을 확인할 수 있습니다.





         300





     주식매매_05.indd   300                                                                      2021-09-30   오후 3:20:42
   7   8   9   10   11   12   13   14   15   16   17