LabHub
배우기 러닝패스 코스

자본시장과 결제 · 주문 상태 기계와 수량 불변식 · 실습

과체결 경보 스무 건 중 진짜는 몇 건인가

LabHub 에서 이어서 보기

목표

체결 보고 스트림에서 금지된 상태 전이·수량 등식 위반·누적 역행·과체결·평균 단가 불일치를 각각 찾아내고, 그 가운데 중복 보고와 순서 뒤바뀜으로 설명되는 것을 걷어 내 진짜 결함만 남깁니다.

왜 중요한가

주문 자료는 사람이 눈으로 읽어 이상을 찾을 수 있는 크기가 아닙니다. 다행히 이 도메인에는 규칙이 있어 거름망을 만들 수 있습니다. 상태 전이표가 있고, 수량에는 등식이 있고, 평균 단가는 다시 계산할 수 있습니다. 어려운 것은 검사 자체가 아니라 걸러 낸 것을 설명하는 일입니다. 중복 보고는 합을 부풀려 과체결처럼 보이게 하고, 뒤바뀐 도착 순서는 멀쩡한 주문을 금지 전이로 만듭니다. 이 셋을 나누지 않고 "이상 30건" 이라고 넘기면 받은 사람은 아무것도 할 수 없습니다.

단계

1. python3/root/orders/datatransitions.json·orders.csv·reports.csv 를 만듭니다.
2. 전이표를 /root/orders/reachable.json 으로 정리하고, 종결 상태를 /root/orders/terminal.txt 에, 표 자신의 모순을 /root/orders/graph_defects.txt 에 적습니다.
3. 받은 순서대로 읽었을 때의 금지 전이를 /root/orders/illegal.csv 에 적습니다.
4. 수량 등식이 깨진 보고를 /root/orders/qty_break.csv 에 적습니다.
5. 누적 체결 수량이 되돌아간 자리를 /root/orders/cum_back.csv 에 적습니다.
6. 주문 수량을 넘어선 주문을 /root/orders/overfill.csv 에 적습니다.
7. 평균 단가가 가중 평균과 다른 보고를 /root/orders/avgpx_break.csv 에 적습니다.
8. 주문마다 원인을 갈라 /root/orders/verdict.csv 에 적고, 원인별 수를 /root/orders/summary.json 에 요약합니다.

참고

단계 8개

  1. 전이표와 열두 주문의 체결 보고 만들기
  2. 전이표를 읽고 표 자신의 모순 찾기
  3. 받은 순서대로 읽어 금지 전이 찾기
  4. 수량 등식이 깨진 보고 찾기
  5. 누적 체결 수량이 되돌아간 자리 찾기
  6. 주문 수량을 넘어선 주문 찾기
  7. 평균 단가를 다시 계산해 대조하기
  8. 중복과 순서 문제를 걷어 내고 진짜만 남기기