Page 8 -
P. 8

이제부터 본격적으로 시스템 트레이딩 프로젝트를 진행하겠습니다. 이 장의 절 제목을 훑어보면
               알겠지만, 데이터베이스 사용 및 유니버스 구성(크롤링) 등 지금까지 다루지 않았던 부분까지 이
               용하여 프로젝트를 진행합니다. 이렇게 갑자기 등장하는 어려운 내용들 때문에 다소 어렵다고 느

               낄 수도 있지만, 여기서 소개하는 프로젝트를 발전시키거나 응용하는 데 데이터베이스나 유니버
               스 구성 부분이 꼭 필요하다고 판단했습니다. 동시에 코드도 길어질 수밖에 없는데, 지금까지 한
               것처럼 천천히 흐름을 파악하면서 살펴본다면 충분히 해낼 수 있으리라 믿습니다.






               5.1        프로젝트 구조                           PYTHON AUTO TRADING SYSTEM







               프로젝트의 전체 구조를 살펴보겠습니다.

                  그림 5-1 실전 프로젝트 구조 설명
                [실행부]           [전략부]                [유틸부]

                                                Kiwoom.py
                        호출                호출    db_helper.py
               main.py        RSIStrategy.py
                                                make_up_universe.py
                                                ...

               왼쪽에 보이는 실행부의 main.py 파일은 전략을 호출하는 영역입니다. 사용할 전략을 호출하는

               용도로 main.py 코드를 구성합니다. main에서 호출해서 사용하는 전략부인 RSIStrategy.py 파
               일은 시스템 동작에 필요한 기능을 모아 놓은 클래스입니다. 시스템 동작에 필요한 기능들을 전략
               내부에서 모두 구현하는 것이 아니라 분리할 수 있는 영역은 유틸부(Utility)로 분리했습니다. 이렇
               게 하면 다수 전략을 운영할 때 전략부마다 유틸을 호출하여 사용할 수 있습니다.

               유틸에 들어가는 모듈을 소개하면, 3장에서 만든 Kiwoom API를 제어하는 기능을 담은
               Kiwoom.py 파일, 그리고 앞으로 등장할 데이터베이스 제어 역할을 하는 db_helper.py 파일,

               유니버스 구성 역할을 하는 make_up_universe.py 파일 등이 들어 있습니다. 그림 5-2와 같이
               프로젝트 구조에 새 모듈들을 추가합니다.








         296





     주식매매_05.indd   296                                                                      2021-09-30   오후 3:20:42
   3   4   5   6   7   8   9   10   11   12   13