Skip to content

데이터 수집부터 매매, 포트폴리오를 관리하는 자동화된 트레이딩 시스템

License

Notifications You must be signed in to change notification settings

alchemine/trading-system

Repository files navigation

Trading System

데이터 수집부터 매매, 포트폴리오를 관리하는 자동화된 트레이딩 시스템

Ⅰ. Usage

지정된 database에 저장된 exp_id(experiment id)를 이용하여 작업을 수행

$ python main.py --exp_id 0 

Ⅱ. Algorithm

Ⅲ. Structure

.
├── 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

1. analysis-tools(submodule)

Package, utility function 등이 포함된 analysis-tools submodule

2. management

프로젝트 설계, WBS 등의 project managing 관련 디렉토리

3. setup.py(deprecated)

사용 X

4. trading_system(source code)

Collection.py

데이터 수집용 interface

CollectionEngine

데이터 수집 실행기가 포함된 디렉토리
새로운 데이터 수집 알고리즘은 CollectionEngine 디렉토리 내부에 common.utils.InterfaceBase를 상속받는 class로 추가하면 된다.
trading_system/CollectionEngine/CollectionEngine1.py 참고

Interface.py

main.py로부터 exp_id를 입력받고 database에서 exp_id에 해당하는 실험 parameter들을 불러와 지정된 작업을 처리하는 interface.

Trading.py

투자 실행 및 전처리용 interface

TradingEngine

투자 portfolio 선택기 포함된 디렉토리
새로운 투자 알고리즘은 TradingEngine 디렉토리 내부에 common.utils.InterfaceBase를 상속받는 class로 추가하면 된다.
trading_system/TradingEngine/TradingEngine1.py 참고

common

trading_system의 module들 공통적으로 사용하는 package
from common.utils import * 과 같이 사용된다.

main.py

Entrypoint 파일
$ python main.py --exp_id 0 과 같이 exp_id를 flag로 사용하여 작업을 시작할 수 있다.

About

데이터 수집부터 매매, 포트폴리오를 관리하는 자동화된 트레이딩 시스템

Topics

Resources

License

Stars

Watchers

Forks