본문 바로가기
INVETSTO/Coding

2-1. Strategy 클래스 설계

by marketingsj 2022. 4. 28.

전략 클래스는 다음 멤버들로 구성된다.

  • 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

댓글