전략 클래스는 다음 멤버들로 구성된다.
- Balance : Back/After Testing에 필요한 감/가산할 수 있는 잔고
- Selector : 파라미터들의 변화에 입각한 최적의 전략 선택기
- Factor : Selector에 지표에 감/가산할 수 있는 전략별 점수
- Start(Execute) : Selector에서 선택된 전략의 시작
- Stop or Switch : 전략의 정지 혹은 변경
- Log : 전략 내 파라미터 및 Factor의 변화를 추적 기록(반추용)
전략은 한 가지의 클래스 내에서 작성하는 것은 Plug-In 방식의 설계에 부합하지 않으므로, IStrategy 인터페이스를 기반한 파생 클래스를 생성하여 폴더 내에 저장한다.
저장된 폴더 내의 {전략}.cs 파일들은 삽입/삭제/수정이 용이한 형태로 나누어져 있다.
자산군의 종류별로 적용 범용성을 확장하기 위해서 가격지표, 시게열 단위 등을 규약하여 작성한다.
- Tick / Min / Hour / Day Unit 적용
- OHCL + V 기준 가격지표
- Realtime 데이터 적용 (Back testing Or After testing; 실계좌)
전략클래스의 연동 기술은 다음과 같다.
1. Start 메서드 수동적 실행
2. 가격 지표의 판단식(Selector)내 파라미터의 시계열 기반 변동에 대응하여 결과값 실시간 반환
3. 반환된 결과값에 Factor를 가산하여(-,+) 최종 전략 선택
4-1. 기초 전략({분할 매수}.cs / {매도}.cs, {목표값 평균 회귀}.cs)로 파라미터 전달
- 목표 가격, 단위, 사유(훼손 정도 추적 계산)
4-2. 매수/매도를 동시에 기초전략에 파라미터 전달
5. Log 기록(파라미터 내용 및 예상 가격 및 보유 시간)
6. Exit 후 Log 기록(파라미터 내용 및 훼손 정도/사유, 예상 가격/보유 시간 대비 갭)
7. Reporting Sys 전달
'INVETSTO > Coding' 카테고리의 다른 글
WinAPI ContextMenu 다루기 (0) | 2022.12.26 |
---|---|
섹터 분석 전략 Class (0) | 2022.04.29 |
1. Form Design (0) | 2022.04.28 |
댓글