Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alchemine/trading-system

데이터 수집부터 매매, 포트폴리오를 관리하는 자동화된 트레이딩 시스템
https://github.com/alchemine/trading-system

python trading-system visualization

Last synced: 27 days ago
JSON representation

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

Awesome Lists containing this project

README

        

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

# Ⅰ. Usage
지정된 database에 저장된 `exp_id`(experiment id)를 이용하여 작업을 수행
```
$ python main.py --exp_id 0
```

# Ⅱ. Algorithm
![](management/sequence-diagram/collection.png)
![](management/sequence-diagram/trading.png)

# Ⅲ. 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](https://github.com/djy-git/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](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](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로 사용하여 작업을 시작할 수 있다.