Python 시스템 트레이딩 알고리즘 검증 - DB설계
Python 시스템 트레이딩 알고리즘 검증 - DB설계
1) 시스템 트레이딩 알고리즘 검증
- KODEX 코스닥 150 레버리지 종목의 이전 100일치 분,일봉 데이터를 수집하여 특정 알고리즘
>> CREATE DATABASE `SYSTEMTRADING`으로 수익이 발생 하는지 판단 하기 위함
>> CREATE DATABASE `SYSTEMTRADING`으로 수익이 발생 하는지 판단 하기 위함
2) MariaDB
- MariaDB를 설치 후 위에서 언급한 데이터를 수집 하여 알고리즘을 검증한다.
- 종목을 저장하기 위한 데이터베이스 생성
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/
댓글
댓글 쓰기