Python 시스템 트레이딩 알고리즘 검증 - DB설계

Python 시스템 트레이딩 알고리즘 검증 - DB설계

1) 시스템 트레이딩 알고리즘 검증

 - KODEX 코스닥 150 레버리지 종목의 이전 100일치 분,일봉 데이터를 수집하여 특정 알고리즘
  >> CREATE DATABASE `SYSTEMTRADING`으로 수익이 발생 하는지 판단 하기 위함

2) MariaDB 

- MariaDB를 설치 후 위에서 언급한 데이터를 수집 하여 알고리즘을 검증한다.

2-1) DATABSE 생성
 - 종목을 저장하기 위한 데이터베이스 생성

3) 테이블 생성

 - KODEX 코스닥 150 레버리지 종목의 데이터를 저장

3-1) kosdaq_leve 테이블
 - 분봉 데이터를 저장
-------------------------------------------------------------------------------------------------
 CREATE TABLE `kosdaq_leve` (
 `DATE` VARCHAR(14) NOT NULL COMMENT '거래일시',
 `END` INT(11) NOT NULL COMMENT '종가',
 `LOW` INT(11) NOT NULL COMMENT '저가',
 PRIMARY KEY (`DATE`)
)
COMMENT='KODEX 코드닥 150 레버리지 분봉 데이터'
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
-------------------------------------------------------------------------------------------------

3-2) kosdaq_leve_day 테이블
 - 일봉 데이터를 저장
-------------------------------------------------------------------------------------------------
CREATE TABLE `kosdaq_leve_day` (
 `DATE` VARCHAR(8) NOT NULL COMMENT '거래일자',
 `START` INT(11) NOT NULL COMMENT '시가',
 `END` INT(11) NOT NULL COMMENT '종가',
 PRIMARY KEY (`DATE`)
)
COMMENT='KODEX 코드닥 150 레버리지 일봉 데이터'
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
-------------------------------------------------------------------------------------------------

3-3) kosdaq_leve_start 테이블
 - 일봉 시가 데이터를 저장
 - 알고리즘 구현시 시가 데이터를 자주사용
-------------------------------------------------------------------------------------------------
CREATE TABLE `kosdaq_leve_start` (
 `DATE` VARCHAR(8) NOT NULL COMMENT '거래일자',
 `START` INT(11) NOT NULL COMMENT '시가',
 PRIMARY KEY (`DATE`)
)
COMMENT='KODEX 코드닥 150 레버리지 일봉 시가 데이터'
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
-------------------------------------------------------------------------------------------------


3-4) kosdaq_leve_buy 테이블
 - 매수 정보 저장
-------------------------------------------------------------------------------------------------
CREATE TABLE `kosdaq_leve_buy` (
 `BUY_ID` INT(11) NOT NULL AUTO_INCREMENT COMMENT '매수 ID',
 `DATE` VARCHAR(8) NOT NULL COMMENT '매수일자',
 `BUY_PRICE` INT(11) NOT NULL COMMENT '매수금액',
 `BUY_REASON` VARCHAR(50) NOT NULL COMMENT '매수사유',
 PRIMARY KEY (`BUY_ID`)
)
COMMENT='KODEX 코스닥 150 레버리지 일별 매수 데이터'
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
-------------------------------------------------------------------------------------------------

3-5) kosdaq_leve_sell 테이블
 - 매도 정보 저장
-------------------------------------------------------------------------------------------------
CREATE TABLE `kosdaq_leve_sell` (
 `SELL_ID` INT(11) NOT NULL AUTO_INCREMENT COMMENT '매도 ID',
 `BUY_ID` INT(11) NOT NULL COMMENT '매수 ID',
 `DATE` VARCHAR(8) NOT NULL COMMENT '매도일자',
 `SELL_PRICE` INT(11) NOT NULL COMMENT '매도금액',
 `SELL_REASON` VARCHAR(50) NOT NULL COMMENT '매도사유',
 PRIMARY KEY (`SELL_ID`),
 INDEX `kosdaq_leve_sell_FK01` (`BUY_ID`),
 CONSTRAINT `kosdaq_leve_sell_FK01` FOREIGN KEY (`BUY_ID`) REFERENCES `kosdaq_leve_buy` (`BUY_ID`)
)
COMMENT='KODEX 코스닥 150 레버리지 일별 매도 데이터'
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
-------------------------------------------------------------------------------------------------


3-6) optimize_profit 테이블
 - '수익률 최적화 데이터 저장 (알고리즘)
-------------------------------------------------------------------------------------------------
CREATE TABLE `optimize_profit` (
 `MEAN_LEVEL` INT(11) NOT NULL COMMENT '평균',
 `PRICE_LIMIT` INT(11) NOT NULL COMMENT '가격제한',
 `PROFIT` INT(11) NOT NULL COMMENT '이익'
)
COMMENT='수익률 최적화 알고리즘'
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
-------------------------------------------------------------------------------------------------


위내용은 아래에서 참고하였습니다.
http://programmingfbf7290.tistory.com/

댓글

이 블로그의 인기 게시물

Anaconda-Python 환경 VSCode에서 사용하기

Python 웹 크롤링 - Scrapy 활용 파워볼 번호 수집(파일)