Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

گرڈ ٹریڈنگ بوٹ کا جائزہ

گرڈ ٹریڈنگ بوٹ مقررہ رینج میں ہر قدم نیچے خریدتا اور اوپر بیچتا ہے۔ دیکھیں کہ کون سی مارکیٹ شکل اسے منافع دیتی ہے اور کون سی توڑ دیتی ہے۔

گرڈ ٹریڈنگ بوٹ قیمت کے مقررہ وقفوں پر آرڈرز کی ایک سیڑھی لگاتا ہے: موجودہ قیمت سے نیچے ہر ڈنڈی پر خرید، اوپر ہر ڈنڈی پر فروخت۔ جب بھی مارکیٹ نیچے آتی ہے، بوٹ خریدتا ہے۔ جب بھی یہ واپس اوپر جاتی ہے، بوٹ وہ بیچتا ہے جو اس نے نیچے خریدا تھا۔ یہ طریقہ کار اتار چڑھاؤ سے فائدہ اٹھاتا ہے، اور جب بھی مارکیٹ ایک سمت میں سیڑھی سے دور چلی جاتی ہے اور چلتی رہتی ہے، تو یہ ایک کھلی پوزیشن جمع کر لیتا ہے۔

یہ صفحہ اس مشینری کو الگ کرتا ہے، پھر ان دو مارکیٹ شکلوں کی پیمائش کرتا ہے جو اس کے نتائج کا فیصلہ کرتی ہیں۔ نیچے ہر پینل حقیقی امریکی ایکویٹی قیمتوں پر ایک محفوظ شدہ سوال ہے، جو مقررہ تاریخوں سے منسلک ہے تاکہ اعداد و شمار دوبارہ قابل تولید رہیں۔

گرڈ ٹریڈنگ بوٹ کیسے کام کرتا ہے

تین سیٹنگز ایک گرڈ کی وضاحت کرتی ہیں: رینج کی بالائی اور نچلی حد، اس کے اندر لائنوں کی تعداد، اور ہر لائن پر آرڈر کا سائز۔ لائنوں کے درمیان فاصلہ پہلی دو سے طے ہوتا ہے۔

یہاں ریاضی ہے، جس میں اصلی کوٹ کے بجائے وضاحت کے لیے چنے گئے گول نمبر استعمال کیے گئے ہیں۔ فرض کریں کہ ایک اسٹاک $100 کے قریب ٹریڈ کر رہا ہے اور ایک آپریٹر $95 سے $105 تک گیارہ لائنوں کے ساتھ ایک ڈالر کے فاصلے پر اور 100 شیئرز فی لائن کے ساتھ گرڈ سیٹ کرتا ہے۔ قیمت $99 پر آتی ہے اور باقی خرید آرڈر بھر جاتا ہے۔ قیمت $100 پر واپس آتی ہے اور مماثل فروخت آرڈر بھر جاتا ہے، جو جوڑی کو $100 کے مجموعی منافع پر بند کرتا ہے۔ دونوں آرڈر دوبارہ فعال ہو جاتے ہیں۔ اس گھنٹے میں کمپنی کے بارے میں کچھ نہیں بدلا۔ پوزیشن نے صرف دو ملحقہ سیڑھیوں کے درمیان ایک چکر مکمل کیا۔

دو قسمیں ان اوپن سورس پروجیکٹس میں نظر آتی ہیں جو عوامی طور پر گردش کرتے ہیں۔ ایک ریاضیاتی گرڈ لائنوں کو ایک مقررہ ڈالر کی رقم سے فاصلہ دیتا ہے۔ ایک ہندسی گرڈ انہیں ایک مقررہ فیصد سے فاصلہ دیتا ہے، جو ایک وسیع رینج میں فی چکر منافع کے فیصد کو مستحکم رکھتا ہے۔ دستاویزات ایک نیوٹرل گرڈ کو بھی الگ کرتی ہیں، جو فلیٹ شروع ہوتا ہے اور دونوں سمتوں میں کام کرتا ہے، ایک لانگ گرڈ سے، جو انوینٹری رکھ کر شروع ہوتا ہے اور طاقت میں فروخت کرتا ہے۔

منافع کی شکل ایک سادہ جملے کی مستحق ہے۔ مکمل چکر پر منافع ایک گرڈ سٹیپ مائنس اخراجات تک محدود ہے۔ کھلی پوزیشن جو قیمت کے رینج سے باہر نکلنے پر بنتی ہے، اس کی کوئی مماثل حد نہیں ہے۔

مارکیٹ کو جس شکل کے گرڈ کی ضرورت ہوتی ہے

گرڈ کو سمت سے نہیں، سفر سے ادائیگی ملتی ہے۔ دو اسٹاک ایک مدت کے اختتام پر ایک ہی قیمت پر پہنچ سکتے ہیں، جبکہ انہوں نے بہت مختلف فاصلے طے کیے ہوں۔ ہر روز کی نقل و حرکت کی مطلق مقدار کو جمع کرنے سے طے شدہ کل فاصلہ ملتا ہے۔ خالص حرکت کو اس فاصلے سے تقسیم کرنے سے کارکردگی کا تناسب (efficiency ratio) ملتا ہے، جو راستے کی سمتیت (directionality) کا ایک معیاری پیمانہ ہے۔ کم تناسب ایسے راستے کو ظاہر کرتا ہے جو بھٹکتا رہا۔ زیادہ تناسب سیدھے مارچ کو ظاہر کرتا ہے۔

استفسار کریںسفر کا فاصلہ بمقابلہ خالص حرکت: بارہ معروف اسٹاکس، جنوری 2024 تا جون 2026
ہر عدد کے پیچھے موجود درست SQL
WITH daily AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
           argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY','KO','PG','JNJ','VZ','MO','XOM','JPM','WMT','NVDA','TSLA','NFLX')
      AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2024-01-02') AND toDate('2026-06-30')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, dt
),
steps AS (
    SELECT ticker, dt, c,
           c / lagInFrame(c) OVER (PARTITION BY ticker ORDER BY dt) - 1 AS ret
    FROM daily
)
SELECT ticker,
       round(sum(abs(ret)) * 100, 0) AS travel_pct,
       round(abs(argMax(c, dt) / argMin(c, dt) - 1) * 100, 1) AS net_move_pct,
       round(100 * abs(argMax(c, dt) / argMin(c, dt) - 1) / sum(abs(ret)), 1) AS efficiency_pct
FROM steps
WHERE ret > -0.5 AND ret < 0.5
GROUP BY ticker
ORDER BY efficiency_pct
Run this yourself

پہلی اور آخری قطار کو ایک ساتھ پڑھیں۔ PG نے روزانہ کی مجموعی حرکت کا 527% احاطہ کیا اور اپنی ابتدا سے 0.9% کے فاصلے پر ختم ہوا، جس کی کارکردگی 0.2% ہے۔ SPY اس کے برعکس 14.3% پر ہے، جہاں 415% سفر 59.2% کی خالص حرکت میں تبدیل ہوا۔ پہلے راستے پر رکھی گئی گرڈ کی سیڑھی بار بار اپنی ہی پھیریوں (rungs) سے ملتی ہے۔ دوسرے راستے پر رکھی گئی وہی سیڑھی پیچھے رہ جاتی ہے۔

پرسکون (calm) اور حد بند (range-bound) آپس میں متعلقہ لیکن الگ خصوصیات ہیں۔ ایک اسٹاک بہت چھوٹے روزانہ اضافے میں آہستہ سے اوپر جا سکتا ہے اور پھر بھی گرڈ کو بے کار چھوڑ سکتا ہے، یہ ایک وجہ ہے کہ کم اتار چڑھاؤ کے تضاد (low-volatility anomaly) کی ادب میں زیر مطالعہ نام خود بخود گرڈ کے لیے موزوں نہیں ہوتے۔

راؤنڈ ٹرپس کی گنتی

کارکردگی ایک پہلو ہے۔ گرڈ کی آمدنی کا انحصار اس سے زیادہ ٹھوس چیز پر ہوتا ہے: قیمت کسی سطح پر کتنی بار واپس آتی ہے۔ ہر کیلنڈر سال کی پہلی بندش کو اینکر مان کر، ان سیشنز کی گنتی کی جاتی ہے جن کی بندش اس اینکر کے مخالف سمت میں ہو۔ اس سے پتہ چلتا ہے کہ ایک گرڈ لائن کتنے کراسنگز پکڑ سکتی تھی۔ یہاں کوکا کولا (KO) کو موضوع بنایا گیا ہے، جو ایک بڑی، لیکوئڈ کنزیومر کمپنی ہے، جیسا کہ گرڈ دستاویزات میں عام طور پر دکھایا جاتا ہے۔

استفسار کریںKO: سال کے ابتدائی سطح کو عبور کرنا، کیلنڈر سال کے حساب سے، 2019 تا 2025
ہر عدد کے پیچھے موجود درست SQL
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
           argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'KO'
      AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2019-01-01') AND toDate('2025-12-31')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY dt
),
anchored AS (
    SELECT toYear(dt) AS year, dt, c,
           first_value(c) OVER (PARTITION BY toYear(dt) ORDER BY dt) AS anchor
    FROM daily
),
sided AS (
    SELECT year, dt, c, anchor,
           if(c >= anchor, 1, 0) AS side,
           row_number() OVER (PARTITION BY year ORDER BY dt) AS rn,
           lagInFrame(if(c >= anchor, 1, 0)) OVER (PARTITION BY year ORDER BY dt) AS prev_side
    FROM anchored
)
SELECT year,
       countIf(rn > 1 AND side != prev_side) AS crossing_count,
       count() AS sessions,
       round((argMax(c, dt) / any(anchor) - 1) * 100, 1) AS net_change_pct
FROM sided
GROUP BY year
ORDER BY year
Run this yourself

2019 میں، بندش نے اپنی افتتاحی سطح کو 252 سیشنز میں 8 بار کراس کیا، اور سال کے اختتام پر اس سطح سے 17.9% کا فرق رہا۔ 2025 میں، یہ تعداد 250 سیشنز میں 6 تھی، جس میں خالص تبدیلی 13% رہی۔ ایک لائن، ایک اسٹاک، اور گرڈ کے لیے خام مال سال بہ سال کئی گنا مختلف ہوتا ہے، اور آنے والے سال کی تعداد کا پہلے سے اندازہ لگانا ممکن نہیں۔

یہ تغیر پوشیدہ مسئلہ ہے۔ گرڈ کا مشتہر منافع عام طور پر فی مکمل راؤنڈ ٹرپ کے حساب سے بتایا جاتا ہے، اور راؤنڈ ٹرپس کی تعداد مارکیٹ طے کرتی ہے، نہ کہ سیٹنگز۔

جہاں ایک گرڈ ٹوٹتا ہے

ناکامی کی ایک مخصوص شکل ہوتی ہے۔ ایک گرڈ کو ایک رینج پر سیٹ کریں، پھر مارکیٹ کو اسے چھوڑنے دیں۔ نیچے، چھت اور فرش 2024 کے پہلے بیس سیشنز کی سب سے اونچی اور سب سے نیچی بندش ہیں، جو اگلے تیس مہینوں میں یکساں رکھی گئی ہیں، اور S&P 500 ٹریکر کی ماہانہ بندش ان کے مقابلے میں کھینچی گئی ہے۔

استفسار کریںایک گرڈ جو 2024 کے اوائل پر طے ہے، اور اس کے بعد S&P 500 ٹریکر کہاں گیا
ہر عدد کے پیچھے موجود درست SQL
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
           argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2024-01-02') AND toDate('2026-06-30')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY dt
),
opening_20 AS (
    SELECT c FROM daily ORDER BY dt LIMIT 20
),
band AS (
    SELECT min(c) AS grid_low, max(c) AS grid_high FROM opening_20
),
monthly AS (
    SELECT toStartOfMonth(dt) AS month_start, argMax(c, dt) AS close_px
    FROM daily
    GROUP BY month_start
)
SELECT formatDateTime(monthly.month_start, '%Y-%m') AS month,
       round(monthly.close_px, 2) AS spy_close,
       round(band.grid_high, 2) AS grid_top,
       round(band.grid_low, 2) AS grid_bottom
FROM monthly, band
ORDER BY monthly.month_start
Run this yourself

یہ بینڈ $467.27 سے $491.26 تک چلتا ہے۔ سیریز کا پہلا مہینہ $482.92 پر بند ہوا، جو اس کے اندر تھا۔ 30 مہینوں میں سے آخری $746.32 پر بند ہوا، جو چھت سے بہت اوپر تھا، اور چارٹ لائن کو بینڈ سے نکلتے اور کبھی واپس نہ آتے دکھاتا ہے۔

اس راستے پر سیڑھی کیا کرتی ہے اس پر غور کریں۔ رینج کے اندر اوپر جاتے ہوئے، بوٹ انوینٹری کو ایک ایک ڈنڈی بیچتا ہے، ہر بار منافع کا ایک قدم بینک کرتا ہے۔ چھت کے اوپر یہ نقدی رکھتا ہے اور دیکھتا ہے۔ آگے بڑھنے کا ہر مزید پوائنٹ ایک ایسا فائدہ ہے جس میں آپریٹر اب حصہ نہیں لیتا، جو ناکامی کا ہلکا ورژن ہے۔

شدید ورژن اس کا آئینہ دار ہے۔ قیمت فرش سے نیچے گرتی ہے اور بوٹ نے نیچے آنے کے راستے پر ہر ڈنڈی پر خریدا ہے، لہٰذا اب اس کے پاس انوینٹری کی پوری سیڑھی ہے جس کی اوسط لاگت مارکیٹ سے اوپر ہے، اور ہر اضافی قدم غیر حقیقی نقصان کو بڑھاتا ہے۔ ایک رینج جو کبھی مستحکم، چھوٹے، ظاہری طور پر کامیاب ٹریڈز پیدا کرتی تھی، ایک واحد مرتکز پوزیشن میں بدل جاتی ہے۔ گرڈ مارکیٹنگ اسے بوٹ کا "پھنس جانا" کہتی ہے؛ بروکریج اسٹیٹمنٹ پر یہ ایک کھلا ڈرا ڈاؤن ہے جس میں کوئی بلٹ ان ایگزٹ نہیں ہے۔

لاگت کا انحصار تجارت کی تعداد پر

ایک گرڈ بہت سی چھوٹی تجارتیں مکمل کرتا ہے، اور ہر ایک پر راؤنڈ ٹرپ کی پوری لاگت آتی ہے: اسپریڈ، اور جہاں لاگو ہوں کمیشن یا ایکسچینج فیسیں۔ بولی اور پیشکش کا فرق وہ حصہ ہے جو اکثر گرڈ کے حساب سے نکال دیا جاتا ہے، کیونکہ یہ کبھی بھی بیان پر ایک علیحدہ آئٹم کے طور پر ظاہر نہیں ہوتا۔

مثالی حساب جلدی ہے۔ ایک سو ڈالر کے اسٹاک پر جس کا اسپریڈ ایک سینٹ ہے، ایک راؤنڈ ٹرپ جو دونوں اطراف سے اسپریڈ کو عبور کرتا ہے، تقریباً دو سینٹ، یا نوٹیونل کا 0.02%، چھوڑ دیتا ہے۔ ایک ڈالر کے گرڈ سٹیپ کے مقابلے میں، یہ فی سفر مجموعی منافع کا تقریباً 2% ہے۔ اسپریڈ کو پانچ سینٹ تک بڑھا دیں، جو ایک کم معروف نام پر معمول کی بات ہے، اور اسی سفر میں ایک ڈالر کے مجموعی منافع کے مقابلے میں دس سینٹ، یا 10%، چھوٹ جاتے ہیں۔ زیادہ اتار چڑھاؤ پکڑنے کے لیے گرڈ کو دس سینٹ کے سٹیپس تک تنگ کرنے سے فی سفر مجموعی منافع دس سینٹ رہ جاتا ہے جبکہ لاگت وہی رہتی ہے، اور پانچ سینٹ کا اسپریڈ اب پوری تجارت کو کھا جاتا ہے۔

یہ تعلق مفید گرڈ فاصلے کے لیے ایک حد مقرر کرتا ہے: سٹیپس کو راؤنڈ ٹرپ لاگت کے مقابلے میں بڑا رہنا چاہیے، اور گرڈ جتنا تنگ ہوگا، اس کی آمدنی کا اتنا ہی زیادہ حصہ آپریٹر کے بجائے وینیو کا ہوگا۔

کیوں بیک ٹیسٹ گرڈ بوٹس کو بہتر دکھاتے ہیں

گرڈ حکمت عملیاں غیر معمولی طور پر پرکشش بیک ٹیسٹ پیش کرتی ہیں، اور چار ساختی وجوہات اس کی زیادہ تر وضاحت کرتی ہیں۔

  1. ماضی کی روشنی میں رینج کا انتخاب۔ ڈیٹا دیکھنے کے بعد منتخب کردہ حدود اس ڈیٹا کو اپنے اندر رکھیں گی۔ ایک گرڈ جو کسی ایسے دورانیے کے لیے بنایا گیا جو رینج میں رہا، اس دورانیے پر اعلیٰ ہٹ ریٹ دکھائے گا۔
  2. نامکمل سیڑھی۔ ایک ٹیسٹ جو کسی منتخب اختتامی تاریخ پر رک جاتا ہے، اکثر مکمل ہونے والے راؤنڈ ٹرپس کو شمار کرتا ہے جبکہ بچ جانے والی انوینٹری کے ساتھ فراخدلی سے پیش آتا ہے۔ ایماندارانہ حساب کتاب آخری دن کھلی پوزیشن کو مارکیٹ ویلیو پر سیٹ کرتا ہے اور اس نقصان کو نتیجے میں شامل کرتا ہے۔
  3. فل مفروضے۔ نقلی آرڈرز جب بھی قیمت ان کو چھوتی ہے، پُر ہو جاتے ہیں۔ حقیقی قطاریں ہمیشہ چھونے پر پُر نہیں ہوتیں، اور جو ٹرپس پُر نہیں ہوتے، وہ تیز مارکیٹوں میں غیر متناسب طور پر منافع بخش ہوتے ہیں۔
  4. پیرامیٹر کثافت۔ حدود، لائنوں کی تعداد، فاصلہ، اور آرڈر کا سائز ایک قیمت سیریز پر چار ڈائل دیتے ہیں، جو کسی بھی تاریخی ونڈو کو فٹ کرنے کے لیے کافی ہے۔

اوپر والے کراسنگ کاؤنٹس ان چاروں کے خلاف توازن ہیں۔ وہ صرف قیمت کی تاریخ سے آتے ہیں، بغیر کسی سیٹنگ کے، اور وہ سال بہ سال اس طرح بدلتے ہیں جس پر کوئی پیرامیٹر انتخاب قابو نہیں رکھتا۔ کوئی بھی جو گرڈ کے دعوے کا جائزہ لے رہا ہے، اس سے ایک سوال پوچھ سکتا ہے: یہ کتنے مکمل راؤنڈ ٹرپس پر منحصر ہے، اور وہ تعداد کہاں سے آئی؟ سمیولیٹر پر مشق کا ایک دورانیہ، جس میں آخر میں کھلی سیڑھی کو مارکیٹ ویلیو پر سیٹ کیا گیا ہو، اس کا جواب حقیقی ٹرپس کے چارٹ سے زیادہ ایمانداری سے دیتا ہے۔

عمومی سوالات

کیا گرڈ ٹریڈنگ بوٹس واقعی پیسہ کماتے ہیں؟

ایک گرڈ ہر مکمل راؤنڈ ٹرپ پر ایک محدود منافع کماتا ہے اور جب قیمت اس کی رینج سے نکل جاتی ہے تو ایک غیر محدود کھلی پوزیشن رکھتا ہے۔ کسی بھی مدت میں حقیقی راؤنڈ ٹرپس کا کھلی پوزیشن سے زیادہ ہونا اس بات پر منحصر ہے کہ مارکیٹ اس رینج کے اندر کتنی بار دوڑی، جو سافٹ ویئر کی بجائے مارکیٹ کی خاصیت ہے۔

گرڈ بوٹ کے لیے کون سے مارکیٹ حالات موزوں ہیں؟

یہ طریقہ کار اس قیمت کے لیے بنایا گیا ہے جو بار بار ایک ہی سطحوں پر واپس آئے: خالص حرکت کے مقابلے میں زیادہ کل فاصلہ طے کیا گیا ہو۔ اوپر بارہ ناموں کے پینل میں، کارکردگی کا تناسب 0.2% سے لے کر 14.3% تک تھا، اور سیڑھی کا طریقہ کار صرف پہلے سرے پر اپنی سیڑھیوں سے ملتا ہے۔

جب قیمت گرڈ رینج سے باہر نکل جائے تو کیا ہوتا ہے؟

رینج سے اوپر بوٹ نے اپنی انوینٹری بیچ دی ہے اور نقدی میں بیٹھا ہے جبکہ مارکیٹ اس کے بغیر چلتی رہتی ہے۔ رینج سے نیچے یہ ہر اس سیڑھی کو رکھتا ہے جو اس نے نیچے آتے ہوئے خریدی تھی، موجودہ قیمت سے اوپر کی اوسط لاگت پر، اور ہر مزید کمی اس غیر حقیقی نقصان کو بڑھا دیتی ہے۔

گرڈ ٹریڈنگ ڈالر کاسٹ ایوریجنگ سے کیسے مختلف ہے؟

دونوں قیمت گرنے پر زیادہ خریدتے ہیں، اور مماثلت وہیں ختم ہو جاتی ہے۔ ڈالر کاسٹ ایوریجنگ ایک مقررہ شیڈول پر ایک مقررہ رقم شامل کرتا ہے جس میں کوئی اخراج کا اصول اور کوئی بالائی حد نہیں ہوتی۔ ایک گرڈ پہلے سے منتخب کردہ رینج کے اندر قیمت کے محرکات پر خریدتا اور بیچتا ہے، اور اس کا رویہ مکمل طور پر بدل جاتا ہے جب قیمت اس رینج سے نکل جاتی ہے۔

کیا تنگ گرڈ وقفہ زیادہ آمدنی پیدا کرتا ہے؟

تنگ وقفہ راؤنڈ ٹرپس کی تعداد بڑھاتا ہے اور ہر ایک پر مجموعی منافع کم کرتا ہے، جبکہ راؤنڈ ٹرپ کی لاگت وہی رہتی ہے۔ اسپریڈ کے ذریعے متعین کردہ ایک نقطہ کے بعد، اضافی ٹرپس کل میں اضافہ کرنے کی بجائے اس سے منہا کرتے ہیں۔


اوپر کا ہر اعداد و شمار حقیقی ایکویٹی قیمتوں پر ایک ذخیرہ شدہ، ورژن شدہ استفسار سے آتا ہے؛ کسی بھی پینل کے نیچے SQL کھولیں اور اسے چیک کریں، یا اسٹریسمور ٹرمینل پر اپنے ناموں کی فہرست پر سفر بمقابلہ خالص حرکت کی پیمائش کریں۔

#grid trading#trading bots#automation#mean reversion#market data