Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alchemine/trading-system
데이터 수집부터 매매, 포트폴리오를 관리하는 자동화된 트레이딩 시스템
https://github.com/alchemine/trading-system
python trading-system visualization
Last synced: 27 days ago
JSON representation
데이터 수집부터 매매, 포트폴리오를 관리하는 자동화된 트레이딩 시스템
- Host: GitHub
- URL: https://github.com/alchemine/trading-system
- Owner: alchemine
- License: mit
- Created: 2022-09-12T10:08:51.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-09-28T19:19:00.000Z (about 2 years ago)
- Last Synced: 2024-04-18T00:11:31.295Z (7 months ago)
- Topics: python, trading-system, visualization
- Language: Jupyter Notebook
- Homepage:
- Size: 18.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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로 사용하여 작업을 시작할 수 있다.