더북(TheBook)

5.1 프로젝트 구조

이제부터 본격적으로 시스템 트레이딩 프로젝트를 진행하겠습니다. 이 장의 절 제목을 훑어보면 알겠지만, 데이터베이스 사용 및 유니버스 구성(크롤링) 등 지금까지 다루지 않았던 부분까지 이용하여 프로젝트를 진행합니다. 이렇게 갑자기 등장하는 어려운 내용들 때문에 다소 어렵다고 느낄 수도 있지만, 여기서 소개하는 프로젝트를 발전시키거나 응용하는 데 데이터베이스나 유니버스 구성 부분이 꼭 필요하다고 판단했습니다. 동시에 코드도 길어질 수밖에 없는데, 지금까지 한 것처럼 천천히 흐름을 파악하면서 살펴본다면 충분히 해낼 수 있으리라 믿습니다.

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

▲ 그림 5-1 실전 프로젝트 구조 설명

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

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.