آیا تغییر سفارش باعث از دست رفتن اولویت در صف میشود؟
تغییر قیمت در سفارشهای لیمیت منجر به از دست رفتن اولویت در صف میشود. این مقاله به بررسی تأثیر اصلاح سفارش بر احتمال تکمیل معامله و محاسبه فاصله قیمتی بهینه برای رباتها میپردازد.
تغییر سفارش و اولویت صف در تضاد با یکدیگر عمل میکنند. در دفاتر سفارش سهام ایالات متحده و اکثر بازارهای آتی، تغییر قیمت یک سفارش لیمیت (limit order) فعال، آن را به انتهای صف در قیمت جدید منتقل میکند و افزایش حجم نمایشدادهشده نیز همین نتیجه را در پی دارد. کاهش حجم سفارش، جایگاه شما را در صف حفظ میکند. لغو یک سفارش برای ارسال سفارشی جدید، فارغ از نامی که در پلتفرم معاملاتی شما برای آن دکمه در نظر گرفته شده است، به منزله ثبت یک ورود جدید با مهر زمانی (timestamp) جدید تلقی میشود.
آیا تغییر سفارش باعث از دست رفتن اولویت در صف میشود؟
چهار قاعده بر تقریباً تمامی بسترهای معاملاتی که یک معاملهگر مستقل با آنها سروکار دارد، حاکم است.
- تغییر قیمت باعث از دست رفتن اولویت میشود. سفارش در قیمت جدید بهعنوان یک سفارش تازه وارد تلقی شده و در انتهای صفِ سفارشهای موجود در آن قیمت قرار میگیرد.
- افزایش حجم نمایشدادهشده باعث از دست رفتن اولویت میشود. برخی بسترها تنها حجم اضافهشده را دوباره در صف قرار میدهند و بخش اولیه سفارش را در جای خود حفظ میکنند، در حالی که برخی دیگر کل سفارش را از نو زمانبندی میکنند. در هیچکدام از این حالات، سهام اضافی جایگاه قبلی شما را به دست نمیآورد.
- کاهش حجم نمایشدادهشده باعث حفظ اولویت میشود. بستر معاملاتی این اقدام را بهعنوان یک لغو جزئی تلقی میکند و بازگرداندن بخشی از حجم، هزینهای برای جایگاه شما در صف ندارد.
- لغو و ارسال مجدد سفارش، همواره باعث از دست رفتن اولویت میشود و در این میان وقفهای ایجاد میگردد که طی آن هیچ سفارشی از شما در بازار فعال نیست.
این عدم تقارن منطقی دارد. اولویت زمانی پاداشی است که دفتر سفارشات به دلیل ایستادگی شما در یک قیمت، در حالی که دیگران منتظر بودهاند، به شما میپردازد. افزایش حجم یا تغییر قیمت، ریسک جدیدی را تحمیل میکند و ریسک جدید از انتهای صف آغاز میشود. کاهش حجم به معنای عقبنشینی از ریسک است و دلیلی برای جریمه کردن آن وجود ندارد. در دفتر سفارشات با تخصیص تناسبی (pro rata)، محاسبات تغییر میکند، زیرا تخصیص بر اساس حجم نمایشدادهشده صورت میگیرد، نه لحظهای که سفارش خود را ثبت کردهاید. اولویت قیمت-زمان در برابر تخصیص تناسبی هر دو مدل را بررسی میکند.
اصلاح درجا یا لغو و جایگزینی؟
در محل معامله، این دو دستورالعمل متفاوت هستند. یک اصلاحیه، که ممکن است پلتفرم شما آن را «تغییر» (modify) یا «جایگزینی» (replace) بنامد، پیامی واحد است که سفارش موجود و تغییر مورد نظر را مشخص میکند. این عملیات بهصورت اتمیک (یکپارچه) انجام میشود: یا تغییر اعمال میگردد یا سفارش دستنخورده باقی میماند. لغو سفارش و ثبت یک سفارش جدید، دو رویداد مجزا با فاصلهای زمانی میان آنهاست؛ در طول این فاصله، شما هیچ جایگاهی در دفتر سفارشات ندارید. اگر بازار در همان فاصله زمانی در قیمت شما معاملهای انجام دهد، شما در آن معامله حضور نخواهید داشت.
برخی از محلهای معامله، اصلاحیه را بهصورت داخلی در قالب لغو و ثبت سفارش جدید اجرا میکنند و برخی کارگزاران نیز حتی در مواردی که محل معامله از تغییر درجا (in-place) پشتیبانی میکند، اصلاحیه را در مسیر ارسال به لغو و جایگزینی تبدیل میکنند. نتیجه یکسان است: اولویت شما از دست میرود. رد شدن یک اصلاحیه باعث میشود سفارش اصلی همچنان فعال باقی بماند، در حالی که لغو موفقیتآمیز سفارش، پیش از ثبت یک سفارش جدیدِ ناموفق، شما را بدون هیچ سفارش فعالی باقی میگذارد. حتی اصلاحیهای که اولویت را حفظ میکند، معمولاً با یک شناسه سفارش جدید بازمیگردد؛ بنابراین در سوابق شما یک سفارش جدید ثبت میشود، در حالی که دفتر سفارشات همچنان همان سفارش قدیمی را معتبر میشمارد.
هزینه اصلاح سفارش
ارزش جایگاه در صف، تنها به میزان نقدینگی بازار بستگی دارد. سهامی که پیش از شما در صف قرار دارند باید معامله شوند تا نوبت به شما برسد، و نرخ انجام این معاملات در طول یک جلسه معاملاتی نوسانات شدیدی دارد.
کد دقیق SQL پشت هر عدد
SELECT
formatDateTime(toStartOfFifteenMinutes(et), '%H:%i') AS et_time,
round(toFloat64(avg(volume)) / 1000, 1) AS avg_k_shares_per_min,
round(quantileDeterministic(0.5)(toFloat64(volume),
toUInt64(toUnixTimestamp(et))) / 1000, 1) AS median_k_shares_per_min
FROM
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et,
volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= '2026-06-01'
AND window_start < '2026-07-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
)
GROUP BY et_time
ORDER BY et_timeدر طول ماه ژوئن 2026، در بازه زمانی پانزدهدقیقهای که از ساعت 09:30 به وقت شرقی آغاز میشد، میانگین حجم معاملات AAPL برابر با 182.8 هزار سهم در دقیقه بود، در حالی که این رقم برای بازه زمانی آغازشده در ساعت 12:00، معادل 62 هزار سهم بود. با وجود یکسان بودن سفارش و قیمت، زمان انتظار در صف در لحظه گشایش بازار با میانه روز تفاوت ماهوی دارد.
احتمال تکمیل سفارش پیش و پس از اصلاح
اصلاحات بر اساس احتمال قیمتگذاری میشوند. جدول زیر در طول یک ماه از دقایق جلسات معاملاتی عادی، دفعاتی را شمارش میکند که یک دقیقه از نوار معاملات، حداقل حجم مشخصی از سهام را جابهجا کرده است. این دادهها را بهعنوان شانس پاکسازی صف با آن اندازه در مقابل شما در مدت یک دقیقه در نظر بگیرید.
کد دقیق SQL پشت هر عدد
WITH minute_volume AS
(
SELECT
ticker,
toStartOfMinute(toTimeZone(window_start, 'America/New_York')) AS et_minute,
sum(volume) AS shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'KO')
AND window_start >= '2026-06-01'
AND window_start < '2026-07-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY ticker, et_minute
)
SELECT
q.ahead AS shares_ahead,
round(100 * countIf(mv.ticker = 'AAPL' AND mv.shares >= q.ahead) / countIf(mv.ticker = 'AAPL'), 1) AS aapl_pct_of_minutes,
round(100 * countIf(mv.ticker = 'KO' AND mv.shares >= q.ahead) / countIf(mv.ticker = 'KO'), 1) AS ko_pct_of_minutes
FROM minute_volume AS mv
CROSS JOIN
(
SELECT arrayJoin([500, 1000, 2000, 4000, 8000, 16000, 32000, 64000, 128000]) AS ahead
) AS q
GROUP BY q.ahead
ORDER BY q.aheadبا وجود 500 سهم در صف انتظار، 100 درصد از دقایق معاملاتی AAPL حجم کافی را ثبت کردهاند، در حالی که این رقم برای KO معادل 100 درصد است. در سطح 8000 سهم، رقم مربوط به AAPL برابر با 100 درصد است و در سطح 128000 سهم، این مقدار به 22.2 درصد کاهش مییابد. منحنی تنها در یک جهت شیب دارد و از دست دادن اولویت، چیزی جز لغزش به سمت راست در طول این منحنی نیست.
این خط را بهعنوان یک سقف خوشبینانه در نظر بگیرید. حجم یک دقیقه معاملاتی در قیمتهای متعدد و در هر دو سمت بازار ثبت میشود و تنها بخشی از آن در سطح قیمت شما قرار میگیرد؛ بنابراین، یک صف واقعی بسیار کندتر از این ارقام پاکسازی میشود. دقایقی که هیچ معاملهای در آنها ثبت نشده، در این محاسبات لحاظ نشدهاند. تخمین موقعیت شما در صف با استفاده از عمق بازار و نرخ لغو سفارشها، تصویر دقیقتری ارائه میدهد.
فاصله سربهسر در بازقیمتگذاری
اکنون برای این اصلاحیه قیمتی تعیین کنید. یک سفارش خرید فرضی را در نظر بگیرید که 8000 سهم پیش از آن در صف قرار دارد و احتمال اجرای آن در دقیقه آینده 60 درصد است. بهبود قیمت پیشنهادی (bid) به میزان یک سنت، این سفارش را در جایگاه بهترین قیمت و بدون هیچ سفارشی در مقابل خود قرار میدهد؛ فرض کنید احتمال اجرا در این حالت 99 درصد باشد. این بهبود قیمت، به ازای هر معامله (fill)، یک سنت هزینه برای هر سهم در بر دارد.
حرف V را برای ارزش هر معامله به ازای هر سهم (سود شما به علاوه هرگونه تخفیف یا rebate) و t را برای فاصله بازقیمتگذاری در نظر بگیرید. نقطه سربهسر اصلاحیه زمانی حاصل میشود که حاصلضرب احتمالات بهبودیافته در بازده کاهشیافته با حاصلضرب احتمالات قبلی در بازده کامل برابر شود، که به این معادله ساده میرسد:
t = V x (1 - p0 / p1)
با فرض ارزش 3 سنت برای هر معامله به ازای هر سهم و تغییر احتمالات از 60 به 99 درصد، فاصله سربهسر در حدود 1.2 سنت قرار میگیرد. بنابراین، بهبود یک سنتی قیمت، هزینه خود را پوشش میدهد، اما تعقیب قیمت با دو سنت توجیه اقتصادی ندارد.
همین محاسبه را برای یک ربات معاملاتی در نظر بگیرید که تنها مزیت آن، تخفیف ارائهدهنده نقدینگی (maker rebate) است. تخفیفهای سطح اول برای ارائهدهندگان نقدینگی در بورسهای بزرگ سهام آمریکا تا اواسط سال 2026 در حدود 0.20 تا 0.30 سنت به ازای هر سهم در جداول کارمزد منتشرشده قرار دارد؛ بنابراین آن را یکچهارم سنت در نظر بگیرید. این فرمول، فاصله سربهسر را در حدود 0.1 سنت تعیین میکند، در حالی که کوچکترین تغییر قیمت پذیرفتهشده در هر بازار معاملاتی آمریکا یک سنت کامل است؛ یعنی حدود ده برابر بیشتر از حد مجاز. رباتی که برای حفظ تخفیف اقدام به بازقیمتگذاری میکند، در واقع یک تیک (tick) هزینه میپردازد تا یکچهارم آن را به دست آورد.
تخفیف تنها به معاملات اجراشده تعلق میگیرد، نه به قصد انجام معامله. سفارشی که در جایگاه مناسبی از صف قرار دارد اما هرگز معامله نمیشود، هیچ عایدی ندارد و تخفیفی که هرگز دریافت نمیکنید، صرفهجویی محسوب نمیشود. کارمزدها و تخفیفهای Maker-Taker نحوه پرداخت این جداول را تشریح میکند.
زمانی که فضایی برای بهبود قیمت وجود ندارد
بهبود قیمت تنها زمانی یک گزینه است که میان قیمت خرید (bid) و قیمت فروش (offer) فاصله وجود داشته باشد. در نمادهای بزرگ، در بیشتر مواقع چنین فاصلهای وجود ندارد.
کد دقیق SQL پشت هر عدد
SELECT
ticker AS symbol,
round(avg(toFloat64(ask_price) - toFloat64(bid_price)) * 100, 2) AS avg_spread_cents,
round(100 * countIf(toFloat64(ask_price) - toFloat64(bid_price) <= 0.0105) / count(), 1) AS one_tick_wide_pct
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'KO', 'SPY', 'NVDA', 'COST', 'NFLX')
AND sip_timestamp >= '2026-06-10 13:30:00'
AND sip_timestamp < '2026-06-10 20:00:00'
AND bid_price > 0
AND ask_price > bid_price
AND toFloat64(ask_price) - toFloat64(bid_price) < 5
GROUP BY ticker
ORDER BY one_tick_wide_pct DESCNFLX در تاریخ 10 ژوئن 2026، در 81.4 درصد از بهروزرسانیهای مظنه خود، اسپرد یک سنتی اعلام کرد و میانگین عرض اسپرد آن 1.3 سنت بود. در سوی دیگر این فهرست، COST میانگین 77.53 سنت را ثبت کرد. در بازاری که حداقل تغییر قیمت آن یک تیک (tick) است، هیچ قیمتی میان قیمت خرید و فروش برای جابهجایی وجود ندارد و تنها راه برای قرار گرفتن در ابتدای صف، عبور از اسپرد است. این اقدام شما را به یک «تیکر» (taker) تبدیل میکند: بهجای دریافت ریبیت (rebate)، کارمزد تیکر را میپردازید و بهجای کسب بخشی از اسپرد، کل آن را واگذار میکنید.
دفعات مواجهه رباتهای بازقیمتگذاری با این انتخاب
یک ربات پیرو بازار، این معامله را تنها یکبار انجام نمیدهد. این ربات هر بار که سقف دفتر سفارشات (top of the book) از سفارش او فاصله میگیرد، دست به این اقدام میزند.
کد دقیق SQL پشت هر عدد
SELECT
formatDateTime(toStartOfFifteenMinutes(et), '%H:%i') AS et_time,
uniqExactIf(bid_price, ticker = 'AAPL') AS aapl_distinct_bids,
uniqExactIf(bid_price, ticker = 'KO') AS ko_distinct_bids
FROM
(
SELECT
toTimeZone(sip_timestamp, 'America/New_York') AS et,
ticker,
bid_price
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'KO')
AND sip_timestamp >= '2026-06-10 13:30:00'
AND sip_timestamp < '2026-06-10 20:00:00'
AND bid_price > 0
)
GROUP BY et_time
ORDER BY et_timeبهترین قیمت خرید (best bid) برای نماد AAPL در بازه پانزده دقیقهای که از ساعت 09:30 به وقت ET در 10 ژوئن 2026 آغاز شد، 359 قیمت متمایز را تجربه کرد و در بازه پانزده دقیقهای که از ساعت 15:45 آغاز شد، این تعداد 152 قیمت بود. بهترین قیمت خرید برای نماد KO در همان بازه زمانی آغازین، 78 قیمت را به خود دید. هر یک از این تغییرات، یک اصلاحیه است که ربات بازقیمتگذاری ممکن است ارسال کند و هر اصلاحیه، زمان انتظار آن را از نو آغاز میکند. رباتهای معاملات شبکهای (Grid trading bots) با قرار دادن یک نردبان سفارش در قیمتهای ثابت، سمت دیگر این انتخاب را برمیگزینند: قیمتها قدیمی میشوند، اما اولویت حفظ میگردد.
سفارشهای آیسبرگ و جلوگیری از معامله با خود
دو اثر مرتبه دوم وجود دارد که معاملهگران را غافلگیر میکند.
سفارشهای ذخیره، که معمولاً با نام سفارشهای آیسبرگ شناخته میشوند، بخشی از حجم سفارش را نمایش داده و مابقی را پنهان نگه میدارند. در اکثر دفترهای سفارش، هر بار که بخش نمایشدادهشده پر میشود، بخش جدیدی که جایگزین آن میگردد به انتهای صف در آن قیمت منتقل میشود؛ بنابراین، یک سفارش آیسبرگ بزرگ مانند زنجیرهای از سفارشهای کوچک عمل میکند که دائماً جایگاه خود را به سفارشهای کاملاً نمایشدادهشده واگذار میکنند. تغییر در حجم نمایشدادهشده نیز همین چرخه را از نو آغاز میکند.
مورد دیگر، جلوگیری از معامله با خود (Self trade prevention) است. پلتفرمهای معاملاتی اجازه نمیدهند سفارش یک شرکتکننده با سفارشِ در انتظارِ همان شرکتکننده اجرا شود؛ راهکار معمول در این موارد، لغو یکی از دو سفارش و در برخی پلتفرمها، لغو هر دوی آنهاست. یک ربات که در حال قیمتگذاری مجدد در یک دفتر سفارش با دامنه محدود است، ممکن است مظنه خود را در سمت مقابل حذف کند؛ این اتفاق باعث میشود یک اصلاح قیمت، به از دست رفتن دو جایگاه در صف منجر شود. اصلاحات معمولاً زمانِ معتبر بودن (time in force) اولیه را حفظ میکنند، در حالی که لغو و جایگزینی، آن را بازنشانی میکند؛ جزئیات این موضوع در بخش زمان معتبر بودن سفارش بررسی شده است.
پرسشهای متداول
آیا تغییر قیمت در یک سفارش محدود (limit order)، جایگاه من را در صف سفارشها از بین میبرد؟
بله. در دفاتر سفارش سهام ایالات متحده و اکثر بازارهای آتی، سفارش با قیمت جدید بهعنوان یک سفارش تازه تلقی شده و در انتهای صفِ تمام سفارشهای موجود در آن قیمت قرار میگیرد. تنها تغییری که اولویت را حفظ میکند، کاهش حجم سفارش در همان قیمت قبلی است.
آیا لغو و جایگزینی (cancel and replace) با اصلاح سفارش (modify) یکسان است؟
این دو در بستر معاملاتی متفاوت هستند. اصلاح سفارش یک پیام واحد است و در صورتی که تنها حجم کاهش یابد، میتواند اولویت را حفظ کند. اما لغو و جایگزینی شامل دو رویداد مجزا با یک وقفه زمانی است که در آن هیچ سفارشی از شما در بازار فعال نیست؛ بنابراین سفارش جایگزین همیشه به انتهای صف میرود.
آیا کاهش حجم سفارش، اولویت در صف را حفظ میکند؟
بله، به شرطی که قیمت ثابت بماند. بازارها کاهش حجم را به مثابه یک لغو جزئی در نظر میگیرند و سهام باقیمانده، مهر زمانی (timestamp) اصلی خود را حفظ میکنند. افزایش حجم سفارش چنین عملکردی ندارد.
ارزش واقعی جایگاه در صف چقدر است؟
ارزش آن برابر است با احتمال انجام معامله (fill probability) ضربدر ارزشی که یک معامله برای شما دارد. هر دو بخش قابل اندازهگیری هستند: پنلهای بالا نشان میدهند که در هر دقیقه چه حجمی از معاملات ثبت (print) میشود و مزیت معاملاتی (edge) شما به همراه هرگونه تخفیف (rebate)، ارزش یک معامله را تعیین میکند.
هر پنل در اینجا حاوی کد SQL است که آن را تولید کرده است. میتوانید تیکر یا بازه زمانی را تغییر دهید و همین پرسش را برای هر نماد دیگری در ترمینال Strasmore مطرح کنید.