Mục lục bài viết
- Bằng chứng và phạm vi
- Hình minh họa
- Quy trình
- Quy tắc công khai và phần do bài này thiết kế
- Catalyst phải được biết trước thời điểm quyết định
- Phiên bản OR15 có lệnh chờ nhân quả
- Volume chọn hoạt động, không cho biết động cơ
- Ví dụ EP thắng và gap qua stop
- Kiểm định mọi catalyst đủ điều kiện
- Sai lầm thường gặp
- Checklist thực hành
- Câu hỏi thường gặp
- Nguồn nghiên cứu
Bằng chứng và phạm vi
Qullamaggie tự báo EP mang lại hàng chục triệu USD và đưa ví dụ chart, gồm cả lần stop. Trang đã đọc không cung cấp audit/CSV để xác minh lợi nhuận; đặc tả OR15 chưa được backtest ở đây.
Quy trình thực hành
- Lưu catalystTimestamp và phiên bản tin có trước open.
- Đo gap và OR15Chờ cửa sổ thực sự hoàn tất.
- Lọc volume và riskADV/ATR từ phiên trước.
- Đặt lệnh rồi ghi fillStop đã chờ không được xóa sau gap.
- Trail có lịchUpdate sau close, áp từ phiên kế.
Quy tắc công khai và phần do bài này thiết kế
Trong bài 02/11/2021, Qullamaggie định nghĩa EP bằng gap≥10%, volume lớn gần open, entry vượt opening-range high và stop low ngày; ông học ý tưởng từ Stockbee [1]. Ví dụ trên trang có cả AFRM bị stop, nên catalyst tốt không đồng nghĩa mọi entry thành công.
Nguồn cho nhiều lựa chọn khung OR và quản trị còn phụ thuộc tình huống. Muốn backtest, phải chọn một phiên bản cố định trước khi xem kết quả. Bài dùng OR15, yêu cầu volume 15/ADV50≥0,5 và trailing có lịch rõ; đây là thiết kế mới, không phải bộ tham số tác giả xác nhận.
Lõi giả thuyết là thông tin mới đi kèm sự tham gia khác thường. Một gap do chia tách hoặc điều chỉnh dữ liệu không phải phản ứng tin; gap do thị trường chung khác gap do earnings riêng. Những khác biệt này phải được gắn nhãn thay vì gom tất cả cổ phiếu tăng mạnh.
Catalyst phải được biết trước thời điểm quyết định
Lưu headline nguyên bản, publisher, published_at, received_at, event_type và bản tài liệu mà người giao dịch có thể đọc lúc đó. SEC có API submissions/XBRL hỗ trợ tìm tài liệu công bố [2]; dữ liệu ngày nay đã sửa không tự là snapshot point-in-time của lúc earnings ra.
Bản baseline chỉ nhận catalyst công khai trước open của phiên. Với earnings, có thể thêm growth/surprise trong nhánh riêng, nhưng consensus phải là bản có trước release. Nếu không có estimates của small-cap, đánh dấu unavailable thay vì coi bằng 0 rồi tạo surprise vô hạn.
ADV50 và ATR14 daily dùng 50/14 phiên hoàn tất trước hôm nay, đã xử lý split nhất quán với giá/volume. Universe gồm mã còn giao dịch ở từng ngày, kể cả sau này hủy niêm yết. Calendar RTH dùng lịch sàn và timezone New York [3]; không giữ 09:30 như một UTC offset cố định quanh DST.
Phiên bản OR15 có lệnh chờ nhân quả
Đề xuất sau open, gap=(official_open/previous_close−1)≥10%. Đợi đủ 09:30–09:45, khóa ORH, ORL và volume 15. Nếu volume 15/ADV50≥0,5, đặt buy-stop ORH+b sau 09:45, b=max(2tick,0,1ATR_day14). Chỉ nhận khi khoảng planned_entry−(ORL−b)≤ATR_day14; hết hiệu lực 11:00.
Không dùng high 15 để khớp một breakout xảy ra 09:37. Volume 15 cũng chỉ biết sau 09:45. Nếu muốn OR1/OR5 như các lựa chọn trong nguồn, cần điều kiện volume biết được tại 1/5 phút; không mượn volume 15 hoàn chỉnh để quyết định sớm.
Khi có fill, stop ban đầu=ORL−b. Sau ba phiên trọn vẹn, mỗi close tính trailing_next=max(stop_cũ,SMA10 từ dữ liệu tới close). Áp từ phiên sau; nếu close hiện tại đã dưới trailing_next, thoát ở quote mở cửa khả thi phiên sau. Giữ stop cứng ban đầu trong thời gian chờ, thoát tối đa 20 phiên. Đây là policy nghiên cứu, không dùng target cố định 2R.
Để lịch giữ lệnh tái lập được, bản này tính phiên entry là phiên giữ thứ nhất và đóng ở sự kiện khả thi tại hạn cuối phiên thứ 20. “Ba phiên trọn vẹn” cho trailing là ba phiên đầy đủ sau fill, không tính phần còn lại của phiên entry. Stop bảo vệ được gắn với entry và kích hoạt theo khả năng broker khi có fill; mô phỏng độ trễ kích hoạt thay vì giả định được bảo vệ trước khi lệnh đến. Lệnh bảo vệ cũ vẫn sống trong lúc chờ thoát hoặc thay stop có hiệu lực.
after_OR15_data_received:
if now>=11:00 or not complete_catalyst_ADV_ATR_OR_history: return
if catalyst_known_before_open and gap>=0.10 and volume15/ADV50>=0.5:
entry_trigger=ORH+b; initial_stop=ORL-b
if 0<entry_trigger-initial_stop<=ATR_day_previous:
place_buy_stop_after_now(expiry=11:00,attached_protection=initial_stop)
on_fill(fill):
record_actual_fill_and_risk(fill,initial_stop)
activate_protection_as_execution_model_allows(initial_stop)
freeze_deadline_at_close_of_20th_session_including_entry_session()
on_every_market_event(event):
process_live_entry_and_protective_order_fills_before_later_cancellations(event)
if entry_expired_and_still_unfilled: cancel_entry_effective_from_now()
if holding_deadline_reached and position_open: exit_next_executable_quote()
after_each_received_session_close:
if position_open and at_least_3_full_sessions_completed_after_fill:
next_stop=max(current_stop,SMA10_through_today)
if close<=next_stop: schedule_exit_next_session_quote()
else: schedule_stop_replacement_for_next_session(next_stop)
# Existing protection stays live until an exit or effective stop replacement.
# Gap-through fills and order-activation latency remain in realized results.
Volume chọn hoạt động, không cho biết động cơ
volume 15/ADV50=0,5 nghĩa 15 phút đã giao dịch bằng nửa ngày trung bình; nó khác RVOL15 so đúng 15 phút của các phiên trước. Ghi cả hai để phân tích nhưng không dùng cùng tên. Ngưỡng 0,5 của bài thấp hơn mô tả ideal trong nguồn và phải có version riêng.
Một mã có ADV quá thấp dễ đạt tỷ lệ cao nhưng spread lớn. Thêm floor thanh khoản theo notional và spread/stop là nhánh execution eligibility, xác định bằng dữ liệu lúc xét. Không chỉ chọn volume khổng lồ rồi bỏ qua khả năng mua cả vị thế ở mức kỳ vọng.
Các trade auction, halts và block prints có thể chi phối volume ngắn. Quy định có/không bao gồm auction phải thống nhất hiện tại và historical baseline. Volume cao không chứng minh một quỹ đang tích lũy nhiều tháng; bài chỉ đo hoạt động quan sát được.
Ví dụ EP thắng và gap qua stop
Giả lập close trước 50, open 56 tạo gap 12%. ATR daily trước phiên 2; tick 0,01 nên b 0,2. ORH57, ORL55,5, volume 15=500.000 và ADV50=1.000.000. Planned entry 57,2, stop 55,3, risk 1,9≤ATR2 nên đặt buy-stop sau 09:45. Fill thật 57,25 cho risk 1,95.
Một đường thắng giả lập: sau nhiều phiên, trailing tính từ các close đã biết lên 64,5; phiên sau chạm stop và fill 64,45. Gross gain 7,20 mỗi cổ phiếu, khoảng 3,69R tính theo risk ban đầu 1,95. Không phải mọi EP có thời gian tăng đủ dài để trailing phát huy.
Đường thua: phiên tiếp mở 54,4, dưới stop 55,3, vị thế được thoát ở 54,4 hoặc giá thực tế tiếp theo, lỗ 2,85 từ 57,25, khoảng 1,46R trước phí. Một tình huống khác: buy-stop 57,2 đã chờ mà giá gap lên 59, nó có thể fill 59; không hồi tố hủy vì actual risk vượt ATR. Hard-risk policy phải giảm/đóng ở sự kiện khả thi và ghi đầy đủ chi phí.
Kiểm định mọi catalyst đủ điều kiện
Đi từ lịch sử release/gapper có thể quan sát, không từ danh sách cổ phiếu đã tăng 100% rồi tìm điểm vào đẹp. Tạo candidate cho cả earnings bị bán xuống, mã nhỏ không fill và mã sau đó biến mất. Chart winners hữu ích để phát hiện ý tưởng, không đủ làm denominator.
So gap-only, gap+volume và gap+volume+catalyst label trên cùng universe. Tách loại tin, mức gap, thanh khoản và trend trước event. Chọn trailing policy trên train/validation rồi khóa test; ghi mọi lựa chọn OR, volume và exit đã thử để đánh giá multiple testing.
Báo net expectancy, exposure qua đêm, overnight gap loss, turnover, phí, no-fill, MAE/MFE và đóng góp của vài winner lớn. Nếu một kết quả phụ thuộc hai mã cực mạnh, cần biết mức độ tập trung ấy thay vì chỉ nhìn CAGR. So với benchmark giữ các mã cùng catalyst để đo giá trị riêng của entry.
Sai lầm thường gặp
Chỉ nghiên cứu super-winners
Không đo được tỷ lệ EP hỏng nếu xuất phát từ người thắng.
Tin sửa lại thành tin gốc
Consensus/release point-in-time quyết định tính nhân quả.
Stop chỉ mất 1R
Overnight gap và halt có thể làm loss vượt risk danh nghĩa.
Checklist trước khi dùng phương pháp
Tự đánh dấu khi đã kiểm tra trên dữ liệu của bạn. Trạng thái lưu trong trình duyệt này; đây không phải chứng nhận chiến lược có lãi.
Câu hỏi thường gặp
OR15 có phải quy tắc gốc Qullamaggie?
Không. Đây là biến thể chuẩn hóa; nguồn công khai nêu các lựa chọn opening range khác và nhiều yếu tố discretionary.
Có earnings tốt là đủ EP không?
Không. Bài còn cần gap, volume và phản ứng giá; thiếu hoạt động hoặc không trigger thì không có giao dịch.
Nguồn nghiên cứu
Các nguồn dưới đây hỗ trợ phần định nghĩa hoặc bằng chứng được ghi bên cạnh. Mã giả, ví dụ minh họa và tham số đề xuất trong bài cần được kiểm định riêng.
- How to master a setup: Episodic PivotsKristjan Kullamägi / Qullamaggie. Đọc bài 02/11/2021, quy tắc và ví dụ gồm AFRM stop; lợi nhuận tự khai. Đối chiếu: .
- EDGAR Application Programming InterfacesU.S. SEC. Đọc nguồn dữ liệu submissions/XBRL; không coi dữ liệu hiện tại là snapshot lịch sử. Đối chiếu: .
- Holidays & Trading HoursNYSE. Đối chiếu lịch phiên và đóng sớm. Đối chiếu: .
Đọc tiếp theo phương pháp
Lưu ý rủi ro
Nội dung phục vụ giáo dục và thiết kế nghiên cứu, không phải lời khuyên tài chính. Backtest là mô phỏng lịch sử, không bảo đảm hiệu quả tương lai và không đặt lệnh giao dịch thật. Các phương pháp trong thư viện không mặc nhiên là tính năng đã có trong ứng dụng. Xem phương pháp tính và trung tâm học.
Kiểm tra quy tắc trước khi dùng vốn thật
Đối chiếu khả năng hỗ trợ của ứng dụng, dữ liệu và từng giao dịch mô phỏng; các detector nâng cao có thể cần triển khai riêng.
Tải Backtest trên App Store