Kaggle Competition
https://www.kaggle.com/code/tomforbes/optiver-trading-at-the-close-introduction
Reference
Trading At The Close
- Nasdaq Closing Cross auction로 종가가 결정
- Nasdaq 평균 일일 거래량 중 약 10%가 마감 10분전에 이루어짐
- Nasdaq 거래 세션의 마지막 10분 동안, MarketMaker들은 traditional order book와 price auction data를 Merge
- 이 두 개의 Book을 Merge하는 작업으로 시장 참여자들에게 좋은 가격을 제시
Auction
- Competition 에서는 여러 Auction 종류 중 'closing auction'에 중점
- closing auction에서 주문은 미리 정해진 시간 동안 수집 후
- 매수 및 매도 주문에 따라 하나의 가격으로 일치
Nasdaq Closing Auction

MOC (Market on Close)
장마감 (5분 동안의) 시장가 주문
LOC (Limit-On-Close)
장마감 (8분 동안의) 지정가 주문
(지정가 이하 매수, 이상 매도)
IO (Imbalance-Only)
물량 차이를 해소하기 위한 주문
(매도 물량이 매수 물량보다 많은 경우 IO 매수 주문이 가능)
- 거래일이 시작될 때 거래소는 주문(MOC, LOC, IO 주문)을 받기 시작
- 3:50PM : Auction book의 게시, MOC, LOC, IO 취소/수정 불가
- 3:55PM : MOC 주문 불가
- 3:58PM : LOC 주문 불가
- 4:00PM : 종가 결정
종가 결정
- 가장 많은 주식 수가 체결된 가격 지점이 종가로 결정
- 서로 다른 호가 범위들에서 체결된 최대 주식 수가 동일하다면 proprietary algorithm 사용
- 마지막에 거래된 가격, the price-time 우선순위, 호가 단위에서의 유동성을 고려
- 종가가 최대 주식 수에서 결정되는 경우가 흔함
Auction Order Book
-
Auction order book 기존 continuous하게 진행되는 Order book과 약간의 차이가 있음
-
not immediately matched, not continous
-
auction ends 순간까지 주문을 계속 모음
-
the highest bid is not greater than the lowest ask.
-
최고 매수가와 최저 매도가가 겹치는 상태를 Cross 라고 함
-
종가 경매 가격은 'Uncross 가격’이라고 하며, Cross에서 매칭되는 가격을 의미
Example

- 10 : Bid 수량이 없으므로 거래 체결 X
- 9 : 9 이상의 구간에 3개의 매수 매물, 9 이하의 구간의 6개의 매물이 있으므로 3의 거래량 발생 가능
- 8 : 8 이상의 구간에 4개의 매수 매물, 8 이하의 구간의 4개의 매물이 있으므로 4의 거래량 발생 가능
8 호가에서 최대 거래량이 발생 가능하므로
8 호가가 uncross price가 되며, 4의 거래량이 발생
bid side에서 3개의 매물이 'Imbalance'가 됨
Combined Book
-
Order Book과 Auction Order Book 결합하면 매수와 매도 수요를 더 정확하게 반영
-
종가 결정이 개선, uncross price가 더욱 정확하고 공정한 균형 가격에 도달
Order book

Auction Order book

Combined Book = (Order book + Auction Order book)

- uncross price : 9
- mathced size : 5
- imbalance : 1 share, sell direction
Competition Data
Near price
hypothetical uncross price of combined book, 장마감 5분 전에 발표
Far_price
hypothetical uncross price of only auction book
Reference_price
주식이 최대한 많이 매칭되고, 불균형이 최소화되며, 매수-매도 중간점에서의 거리가 최소화되는 가격
-
near price가 besk ask(최소 매도 호가) 보다 각각 크면
reference price = besk ask
-
near price가 best bid, ask 사이에 위치하면
reference = near price
-
near price가 besk bid(최대 매수 호가)보다 작으면 reference price = besk bid
imbalance_size
현재 reference price에서의 unmatched 주식 수
imbalance_buy_sell_flag
매수-매도를 고려한 imbalance 방향
Buy side (매수 잔량 남음) : 1
Sell side (매도 잔량 남음) : -1
matched_size
The amount that can be matched at the current reference price
Kaggle Data
seconds_in_bucket >= 300
MOC 주문이 중단되는 55분부터 Near Price, Far Price 제공
buy-side imbalance 1

- far 1.023934
- near 1.018788
- reference 0.999795
sell-side imbalance -1

- refer 0.999446
- near 0.992444
- far 0.987363
Target
- Index는 가상의 동일 가중 Nasdaq 종합 지수
- Target은 1bp 단위 (0.01%)

Evaluation
