Closed msaltnet closed 3 years ago
트레이더
매수 요청을 받아서 가상의 거래 체결 결과를 생성 할 수 있다 보유 자산 상황을 반영하여 매수 요청 정보에 따른 체결 양을 결정하고, 수수료를 적용한 결과를 생성한다.
실제 거래 정보를 바탕으로 거래 체결 결과를 생성 해야 한다 실제 거래 정보를 바탕으로 체결 양과 가격을 산출한다.
자산을 입출 할 수 있다 입출금에 따라서 잔고의 증감이 결정된다.
거래와 자산의 입출금에 따라 자산, 보유 종목의 내역을 저장해야 한다 현재 자산과 보유 종목에 대한 기록을 유지한다. 보유 종목은 매입 금액, 가격, 매입 시간 기록을 함께 기록한다.
현재 자산, 보유 종목 정보를 조회 할 수 있다. 저장된 기록을 언제는 조회할 수 있다.
매도 요청을 받아서 가상의 거래 체결 결과를 생성 할 수 있다 보유 잔고 상황을 반영하여 매도 요청 정보에 따른 체결 양을 결정하고, 수수료를 적용한 결과를 생성한다.
수수료 비율을 설정 할 수 있다 언제든 수수료 비율을 설정할 수 있다
모든 매매 요청과 그 결과를 기록 보관한다. 모든 요청과 기록을 보관한다.
애널라이저
매매 요청 정보를 기록한다 모든 매매 요청 정보를 보관한다.
매매 결과 정보를 기록한다 모든 매매 결과 정보를 보관한다.
주기적으로 잔고 정보를 기록한다 모든 매매 결과와 함께 잔고 정보를 기록하고, 정해진 주기에 맞춰 잔고 정보를 요청하여 기록한다.
주기적으로 단기 수익률을 기록한다 잔고 정보를 기록할 때, 단기 수익률을 함께 기록한다.
주기적으로 누적 수익률을 기록한다 잔고 정보를 기록할 때, 누적 수익률을 함께 기록한다.
주기적으로 단기 가격 변동률을 기록한다 잔고 정보를 기록할 때, 단기 가격 변동률을 함께 기록한다.
주기적으로 장기 가격 변동률을 기록한다 잔고 정보를 기록할 때, 장기 가격 변동률을 함께 기록한다.
현재 기록으로 보고서를 생성 할 수 있다 시간별 단기 수익률, 누적 수익률, 가격 변동률, 입금 자산, 최종 자산을 포함한다
오퍼레이터
데이터 수집 가공의 역할
REST api로 데이터를 수집할 수 있어야 한다 거래소의 open api를 사용하여 과거 정보를 수집할 수 있어야 한다
파일로부터 데이터를 수집할 수 있어야 한다 외부 연결 없이도 테스트 할 수 있도록 파일로 저장된 데이터를 로딩 할 수 있어야 한다
데이터를 정해진 형식으로 제공해야 한다 일반적이고 필수적인 데이터를 아래 내용과 같이 제공해야 한다. market: 거래 시장 종류 BTC date_time: 정보의 기준 시간 opening_price: 시작 거래 가격 high_price: 최고 거래 가격 low_price: 최저 거래 가격 closing_price: 마지막 거래 가격 acc_price: 누적 거래 금액 acc_volume: 누적 거래 양
기간 설정이 가능해야 한다 사용할 데이터의 기간 설정이 가능해야 한다. 데이터간 간격은 1분으로 고정한다.
순차적으로 데이터를 제공해야 한다 실제 시간이 지나서 정보를 요청하는 것처럼 처리하기 위해 요청에 따라서 다음 정보를 순차적으로 제공해야 한다.
아주 간단한 바이엔 홀드 전략부터
데이터를 입력 받아서 저장 한다 제공되는 데이터를 입력 받을 때 마다 모두 저장하여 이후 분석에 사용한다
매매 요청의 결과를 저장한다 매매 요청 결과를 모두 저장하여 이후 분석에 사용한다
입력 받은 데이터와 매매 결과를 바탕으로 매매 요청 정보를 생성 한다 데이터과 결과, 자산을 바탕으로 전략에 따른 매매 요청 정보를 생성한다
초기 자산을 설정 할 수 있다 초기 자산을 설정 할 수 있다
매매 요청의 결과 정보를 통해 자산 현황을 갱신한다 전략에 반영되는 자산 현황은 매매 요청 결과를 통해 갱신한다
거래 요청을 데이터에 기반하여 처리 후 결과 정보를 제공
거래소에 요청을 전달하고 다시 결과를 받아서 전달한다 콜백을 이용해 비동기로 처리되며 병렬처리는 안된다
가상 거래소를 초기화 한다 기간, 횟수, 예산 등 시뮬레이션에서만 필요한 기능
요청과 결과에 따른 투자 결과 분석
매매 요청, 결과 정보를 저장한다 모든 매매 요청 정보를 저장한다 모든 매매 결과 정보를 저장한다
주기적으로 잔고 정보를 저장한다 모든 매매 결과와 함께 잔고 정보를 기록하고, 정해진 주기에 맞춰 잔고 정보를 요청하여 저장한다.
주기적으로 수익률을 저장한다 잔고 정보를 기록할 때, 일정 간격으로 종목 수익률 계산하여 함께 저장한다. 종목 수익률은 현재 보유하고 있는 항목의 구입 가치 대비 수익률을 뜻한다. 잔고 정보를 기록할 때, 일정 간격으로 누적 수익률 계산하여 함께 저장한다. 누적 수익률은 자산의 총 변동폭으로 계산된다.
주기적으로 가격 변동률을 저장한다 잔고 정보를 기록할 때, 단기 가격 변동률을 계산하여 함께 저장한다. 단기 가격 변동률은 종목 수익율과 비교하기 위한 지표롤 종목의 첫 매입시기 대비 현재 가격의 비로 계산한다. 잔고 정보를 기록할 때, 장기 가격 변동률을 계산하여 함께 저장한다. 장기 가격 변동률은 첫 매매 시점 가격 대비 현재 가격으로 계산한다.
현재 기록으로 보고서를 생성 할 수 있다 기간별 수익률, 가격 변동률, 입금 자산, 최종 자산을 포함한다 기간별 수익률은 주기적으로 종목 수익률, 누적 수익률을 저장한 것을 뜻한다. 기간별 가격 변동률은 주기적으로 단기 가격 변동률, 장기 가격 변동률을 저장한 것을 뜻한다.
기간과 자산을 설정하여 모듈 들의 연동하여 시뮬레이션을 수행
Functional
Non-functional