데이터 수집부터 매매, 포트폴리오를 관리하는 자동화된 트레이딩 시스템
지정된 database에 저장된 exp_id
(experiment id)를 이용하여 작업을 수행
$ python main.py --exp_id 0
.
├── LICENSE
├── README.md
├── analysis-tools
│ └── ...
├── management
│ ├── [22-09-12] WBS.xlsx
│ ├── [22-09-12] 프로젝트 설계.pptx
│ ├── database
│ │ ├── 1_create_table.sql
│ │ └── 테이블 정의서.xlsx
│ └── sequence diagram
│ ├── 데이터 수집.png
│ ├── 데이터 수집.puml
│ ├── 투자.png
│ └── 투자.puml
├── setup.py
└── trading_system
├── Collection.py
├── CollectionEngine
│ └── CollectionEngine1.py
├── Interface.py
├── Trading.py
├── TradingEngine
│ └── TradingEngine1.py
├── common
│ ├── __init__.py
│ └── utils.py
└── main.py
Package, utility function 등이 포함된 analysis-tools submodule
프로젝트 설계, WBS 등의 project managing 관련 디렉토리
사용 X
데이터 수집용 interface
데이터 수집 실행기가 포함된 디렉토리
새로운 데이터 수집 알고리즘은 CollectionEngine
디렉토리 내부에 common.utils.InterfaceBase
를 상속받는 class로 추가하면 된다.
trading_system/CollectionEngine/CollectionEngine1.py 참고
main.py
로부터 exp_id
를 입력받고 database에서 exp_id
에 해당하는 실험 parameter들을 불러와 지정된 작업을 처리하는 interface.
투자 실행 및 전처리용 interface
투자 portfolio 선택기 포함된 디렉토리
새로운 투자 알고리즘은 TradingEngine
디렉토리 내부에 common.utils.InterfaceBase
를 상속받는 class로 추가하면 된다.
trading_system/TradingEngine/TradingEngine1.py 참고
trading_system
의 module들 공통적으로 사용하는 package
from common.utils import *
과 같이 사용된다.
Entrypoint 파일
$ python main.py --exp_id 0
과 같이 exp_id
를 flag로 사용하여 작업을 시작할 수 있다.