규칙은 정해 뒀는데 손이 못 따라갈 때
알고리즘 트레이딩 개발
정해 두신 매매 규칙을 코드로 옮기고, 과거 데이터로 돌려 볼 환경까지 만듭니다
만들어 드리는 것은 수익이 아니라 규칙대로 작동하는 소프트웨어입니다.
규칙을 정해 두고 손으로 돌리고 계실 때
매매 규칙이 정해져 있어도 사람이 손으로 하면 장 시간에 매이고, 조건이 맞는 순간을 놓치며, 같은 자리에서도 매번 다르게 판단하게 됩니다. 그렇다고 곧바로 실계좌에 코드를 붙이면 결과가 나빴을 때 규칙과 코드 중 무엇이 틀렸는지 가릴 수 없습니다. 규칙을 코드로 옮기는 일과 그 코드가 규칙대로 작동하는지 확인하는 환경은 함께 있어야 합니다.
무엇을 하나요
-
규칙을 조건식으로
진입, 청산, 손절, 비중, 재진입 금지 같은 조건을 문장에서 코드가 판단할 수 있는 식으로 옮깁니다. 애매하게 남은 조건은 적을 수 있을 때까지 질문으로 좁혀 갑니다.
-
과거 데이터로 돌려 보는 환경
같은 코드를 지나간 구간에도 돌리도록 만듭니다. 수수료와 슬리피지, 체결 가정을 어떻게 두었는지도 함께 적어 둡니다. 가정이 적히지 않은 결과는 읽을 수 없기 때문입니다.
-
증권사, 거래소 연결
주문과 체결, 잔고 조회를 실제 API에 연결하고 인증 키는 코드 밖에서 관리합니다. 기관마다 제공 범위와 약관이 다르므로 연결하기 전에 먼저 확인합니다.
-
모의 계좌부터
실계좌에 연결하기 전에 같은 코드를 모의 환경에서 돌립니다. 돈이 걸리기 전에 규칙대로 주문이 나가는지 확인하는 편이 낫습니다.
-
멈춰야 할 때 멈추게
연결이 끊기거나 주문이 거부될 때, 같은 주문을 두 번 내려고 할 때, 하루 손실 한도에 닿았을 때 어떻게 할지 코드에 넣습니다.
-
무엇을 왜 주문했는지 기록
어떤 신호로 언제 무엇을 주문했고 어떻게 체결됐는지 로그로 남깁니다. 나중에 규칙을 고칠 때 보는 것이 이 기록입니다.
넘겨 드리는 문서
전략 규칙을 사람이 읽을 수 있는 문장으로 정리하고, 검증한 구간과 가정, 로그 읽는 법, 실행과 중지 방법을 함께 적어 드립니다. 성과 해석과 투자 판단은 이 문서 밖의 일입니다.
이렇게 진행합니다
-
규칙 정리
지금 쓰시는 규칙을 글로 적어 보내 주세요. 엑셀이나 메모 그대로도 괜찮습니다.
-
조건식과 범위 합의
코드가 판단할 수 있는 형태로 옮긴 뒤, 어디까지 만들지와 필요한 시간을 먼저 정합니다.
-
구현과 검증 환경
전략 코드와 과거 데이터로 돌려 보는 환경을 만들고, 연동까지 함께 진행합니다.
-
모의 운용과 인계
모의 환경에서 돌려 확인한 뒤 저장소와 실행 방법, 문서를 넘겨 드립니다.
이런 곳에 맞습니다
- 엑셀이나 메모에 규칙을 적어 두고 손으로 매매하고 계신 분
- 쓰고 있는 규칙을 지나간 구간에 돌려 확인하고 싶은 분
- 증권사 API 문서를 열어 봤지만 인증과 주문에서 막힌 팀
자주 묻는 질문
- 수익이 나나요?
- 성과는 약속하지 않습니다. 만들어 드리는 것은 정하신 규칙대로 작동하는 소프트웨어와 그 규칙을 과거 데이터로 확인해 보는 환경입니다. 전략의 성패와 투자 판단, 손익은 의뢰인의 몫입니다.
- 전략도 만들어 주시나요?
- 전략은 의뢰인이 정합니다. 저는 그 규칙을 코드로 옮기고 확인할 수 있게 만듭니다. 규칙이 아직 문장으로만 있어도 괜찮습니다. 코드가 판단하는 조건이 될 때까지 질문으로 좁혀 드립니다.
- 투자 자문이나 대신 운용해 주는 일인가요?
- 아닙니다. 소프트웨어 개발만 합니다. 종목이나 매매 시점을 권하지 않으며 계좌를 대신 운용하지도 않습니다. 계좌와 인증 키는 의뢰인이 가지고 계십니다.
- 어떤 시장을 다루나요?
- 증권사나 거래소가 주문 API를 공개하는 시장이면 연동할 수 있습니다. 다만 기관마다 제공 범위와 자동 주문 관련 약관이 다르므로, 쓰시는 곳을 알려 주시면 가능한 범위를 먼저 확인해 드립니다.
- 소스 코드는 누구 것인가요?
- 의뢰인의 것입니다. 저장소와 실행 방법, 문서까지 넘겨 드려 다른 개발자가 이어받을 수 있게 합니다.
- 만든 뒤 운영도 맡아 주시나요?
- 이 상품은 만들어 넘겨 드리는 데까지입니다. 이후에도 계속 손이 간다면 관리 대행으로 이어서 진행합니다.