12 tháng Mười Một, 2026 · thực thi

Backtest của bạn đã fill ở giá đóng cửa chính thức. Bạn chưa từng vào phiên đấu giá.

Backtest của bạn đã fill ở giá đóng cửa chính thức. Bạn chưa từng vào phiên đấu giá.

Giá đóng cửa chính thức trong file cổ phiếu trông giống bất kỳ mức giá nào khác. Timestamp 16:00:00 Eastern, một con số, sẵn sàng để khớp. Tín hiệu hàng ngày đánh dấu nó. Tái cân bằng lao vào nó. Một research agent sẽ coi đó là báo giá đang nằm trên sổ lệnh, chờ bạn.

Đóng cửa là một phiên đấu giá, không phải một báo giá. Đó là giá uncross của các lệnh on-close vốn phải được chấp nhận trước giờ cắt. Nếu backtest khớp ở đó mà không tham gia lô đó, nó đã lấy một print mà bạn sẽ không hề nằm trong đó.

Khớp 16:00 như thể uncross là lệnh thị trường

Lối tắt quen thuộc: tính tín hiệu tại hoặc ngay trước đóng cửa, khớp ở giá đóng cửa chính thức, đóng dấu 16:00. Vào một thứ Ba yên ắng của AAPL, lời nói dối chỉ vài cent. Vào những ngày thống trị một sổ tái cân bằng hàng ngày, đó là cả giao dịch.

Lúc 16:00:00.000 closing cross đang chạy, hoặc vừa chạy xong. Lệnh marketable bạn gửi lúc đó không vào cross đó. Nó rơi vào những gì còn lại: displayed size dư, một odd lot, giờ kéo dài trên ARCA hoặc Nasdaq. Print đó có thể lệch giá đóng cửa chính thức hai cent, hoặc bốn mươi basis point, và đó là một bể thanh khoản khác. Vào ngày tái cấu trúc Russell, cuối tháng, hoặc thứ Sáu triple-witching, đóng cửa thường chiếm phần hai chữ số của volume ngày. Đó mới là thanh khoản. Bạn không nằm trong đó.

3:50Giờ cắt on-close NYSE (ET)
3:55Giờ cắt closing-cross Nasdaq (ET)
~10%volume large-cap điển hình trong đóng cửa

Chúng tôi đã paper-trade chuyện này một cách tình cờ. Một chỉnh tham số rơi vào 15:48. Backtest vẫn khớp mọi mã ở giá đóng cửa chính thức. OMS gửi lệnh thị trường thông thường lúc 16:00:03 vì chẳng ai gắn MOC. Print after-hours, một nắm reject, và thâm hụt 19 basis point so với file vào ngày file nói chúng tôi flat đến đóng cửa. Chiến lược không hỏng. Quy tắc fill mới hỏng.

Tôi vẫn nghĩ 15:49 như một nơi vật lý. Ai đó đang đổi trọng số. Người khác đang nhìn đồng hồ. Giờ cắt không quan tâm ai trong các bạn đúng.

MOC là lệnh thực sự yêu cầu uncross đó, và ngay cả MOC cũng không phải lời hứa. Một halt, một tạm dừng LULD, một phiên đấu giá bị hủy, một mã chưa từng mở cửa: bạn có thể flat lúc 16:00 với lệnh on-close đang working rồi chết. LOC được phép miss hoàn toàn. Nếu uncross là $40.12 và limit của bạn là $40.00, bạn không nắm gì. Không ít backtest vẫn ghi sổ đóng cửa.

Tệ hơn, một số file vendor lưu giá đóng cửa composite chưa từng print trên bất kỳ một venue nào. Bạn không thể tham gia một composite. Nếu chiến lược lẽ ra gửi NYSE MOC, fill quan trọng là uncross NYSE, với size phiên đấu giá lẽ ra hấp thụ được.

Gọi print cuối cùng giờ thường là đóng cửa

Một số pipeline từ chối giá đóng cửa chính thức theo nguyên tắc và lấy print SIP cuối trước 16:00, vì print đó ít nhất đã "xảy ra." Trên mega-cap, last và official thường cách nhau một hoặc hai cent và bạn sẽ không để ý. Trên mid-cap, print cuối có thể là 200 cổ phiếu lúc 15:59:51, được ký bởi ai đó vừa lift phần display còn lại. Giá đóng cửa chính thức hai giây sau là uncross một triệu cổ phiếu ở một giá khác.

Chỉ số, rổ tạo ETF, và mọi tái cân bằng MOC đã giao dịch uncross. Backtest của bạn giao dịch phần leftover. Và print cuối không kèm size của bạn. Nếu print đó là 400 cổ phiếu và clip của bạn là 5,000, bạn không nhận được giá đó. Bạn nhận được một timestamp tình cờ là cuối cùng.

Tôi đã thấy một file mid-cap mà last-print so với giá đóng cửa chính thức lệch 28 cent vào một thứ Năm tái cân bằng. Backtest dùng last trông "am hiểu microstructure." Đó chỉ là một thị trường khác, mỏng hơn, và nó vẫn giả định chúng tôi có thể đã là 200 cổ phiếu đó.

Trượt fill sang open ngày mai cho chắc

Lối tránh thứ ba xuất hiện trong code review dưới dạng comment: đừng giả định mình giao dịch được đóng cửa, vậy thì khớp open phiên sau. Nghe chín chắn. Nó dựng một chiến lược khác.

Tín hiệu close-to-close thực thi ở open phiên sau đã nuốt overnight gap. Với nhiều nhân tố cổ phiếu, gap đó là một phần lớn của nhịp bạn tưởng mình nắm. Khớp open không làm backtest cẩn thận hơn. Nó chuyển P&L sang một phiên bạn không định giao dịch, và ném bạn vào phiên đấu giá mở cửa mà bạn cũng không mô hình hóa.

Trên giấy, đống đổ nát dễ đọc nhầm. P&L hàng ngày của backtest vẫn thẳng hàng với tín hiệu. Sổ paper giữ một đêm gap chỉ số và một buổi sáng slippage opening-cross. Người ta rồi cãi nhau về implementation shortfall khi mô tả trung thực là hai hệ thống không làm cùng một giao dịch.

Nhưng open cũng là một phiên đấu giá. Nếu bạn lỡ giờ cắt hôm qua, bạn không tự động được một last 9:30 sạch. Bạn nhận cơ chế MOO/LOO, một imbalance, và một gap. Gọi đó là fill đóng cửa thận trọng chỉ giấu một cross thứ hai chưa mô hình dưới một comment đầy đức hạnh.

Fill bạn đã ghi sổViệc venue thực sự cầnĐống đổ nát trông thế nào
Đóng cửa chính thức, không loại lệnhMOC hoặc LOC được chấp nhận trước giờ cắt của venue đóPrint after-hours, một reject, hoặc giá composite chẳng ai host
Print SIP cuối trước 16:00Một giao dịch bạn có thể đã nằm trong, với size của bạn200 cổ phiếu leftover bị coi là fill clip
Open phiên sau như đóng cửa "an toàn" hơnMột mô hình opening-cross, cộng overnight gapMột chiến lược khác, vẫn là đấu giá, vẫn lỡ
Nếu tài khoản paper không gửi được MOC hoặc LOC, backtest không được giá đóng cửa chính thức. Đổi fill. Đừng xấp xỉ uncross bằng lệnh thị trường 16:00.

Ranh giới trung thực thì hẹp. Hoặc hợp đồng research nói chúng tôi nằm trong đóng cửa, khi đó lệnh là on-close, gắn timestamp trước 15:50 trên NYSE hoặc 15:55 trên Nasdaq, sized theo volume đóng cửa kỳ vọng, và được phép hết hạn không khớp nếu là LOC. Hoặc chúng tôi không nằm trong đóng cửa, khi đó after-hours hoặc next-open là một chính sách có tên với phiên đấu giá riêng, và equity curve ngừng đeo nhãn 16:00.

Giờ chúng tôi đánh fail mọi backtest ghi sổ giá đóng cửa chính thức mà không có lệnh on-close nằm trong giờ cắt của venue đó. Nó đã giết một số đường cong tín hiệu hàng ngày khá đẹp. Những đường cong đó chưa từng khớp được ở cái giá chúng tuyên bố.

backtestingvi cấu trúc thị trườngcổ phiếuphiên đấu giá đóng cửathực thi
← Tất cả bài viết