Strasmore Research
शिक्षण Matt Connorद्वारे Matt Connor

उप-पेनी नियम आणि किंमत सुधारणा म्हणजे काय

Rule 612 $1.00वरील quotesमध्ये centपेक्षा सूक्ष्म किंमत रोखतो. तरी fill $47.3218 का दिसतो, हे प्रत्यक्ष tape data आणि confirmation उदाहरणातून जाणून घ्या.

उप-पेनी नियम, Regulation NMS मधील Rule 612, प्रदर्शित स्टॉक कोटमध्ये वापरता येणारी सर्वात सूक्ष्म किंमत-वाढ ठरवतो: $1.00 किंवा त्याहून अधिक किंमतीसाठी one cent आणि $1.00पेक्षा कमी किंमतीसाठी one hundredth of a cent. एखादे venue काय प्रदर्शित किंवा स्वीकारू शकते, यावर हा नियम बंधन घालतो. व्यवहार कोणत्या किंमतीवर print होऊ शकतो, याबाबत तो काहीही सांगत नाही. म्हणूनच स्क्रीनवरील प्रत्येक quote round centवर संपत असतानाही तुमच्या confirmationवर fill $47.3218 असा दिसू शकतो.

उप-पेनी नियम प्रत्यक्षात काय सांगतो

Rule 612 हा 2005मध्ये Regulation NMSसोबत लागू झाला. त्याचा कार्यवाहीसंबंधी मजकूर संक्षिप्त आहे. $1.00 किंवा त्याहून अधिक किंमत असलेल्या NMS stockसाठी $0.01पेक्षा सूक्ष्म incrementमध्ये कोणताही order, quotation किंवा indication of interest प्रदर्शित, क्रमवारीत मांडणे किंवा स्वीकारणे national securities exchange, alternative trading system, vendor किंवा brokerला करता येत नाही. $1.00पेक्षा कमी किंमतीसाठी ही मर्यादा $0.0001 इतकी आहे. NMS stock म्हणजे exchange-listed equity. त्यामुळे US exchangeवर retail brokerage accountमधून खरेदी करता येणाऱ्या जवळपास सर्वच स्टॉक्सवर हा नियम लागू होतो.

या नियमातील निर्णायक शब्द आहेत display आणि accept. हा नियम quotes आणि ordersना लागू होतो. Executionsना तो लागू होत नाही. कोणतेही venue $47.3215चा bid पोस्ट करू शकत नाही. तुमचा broker त्या किंमतीचा limit orderही स्वीकारू शकत नाही. मात्र व्यवहार त्या किंमतीवर कायदेशीररीत्या print होऊ शकतो.

या नियमामागील समस्या म्हणजे stepping ahead. एखादा trader resting $10.00 bidच्या रांगेत पुढे जाण्यासाठी $10.0001चा bid पोस्ट करू शकत होता. प्रत्यक्ष आर्थिक बांधिलकी म्हणून one hundredth of a cent देऊन त्याला priority मिळत असे. प्रदर्शित किंमतींच्या coarse gridमुळे ही शक्यता दूर होते आणि price priorityला काही महत्त्व मिळते.

तुमचा fill four decimal placesवर का print झाला

US stocksमधील बहुतेक marketable retail orders exchangeपर्यंत पोहोचतच नाहीत. ते wholesalerकडे route केले जातात. हा off-exchange market maker स्वतःच्या inventoryविरुद्ध order भरतो. Wholesaler तुम्हाला fill करताना quote प्रदर्शित करत नसतो. त्यामुळे penny grid execution priceला लागू होत नाही. तो national best bid and offerच्या आत fill देतो, अनेकदा one centच्या काही अंशाने. NBBO आणि तुमच्या fillमधील ही तफावत confirmationवर आणि brokerच्या execution quality reportsमध्ये price improvement म्हणून दिसते.

या प्रक्रियेची खूण public tapeवर दिसते. प्रत्येक व्यवहार consolidated feedवर त्याच्या अचूक किंमतीसह print होतो. त्यामुळे किंमतीत one centचा अंश असलेले prints मोजल्यास gridच्या आत झालेले fills मोजले जातात.

क्वेरीसब-पेनी किंमतीवर झालेल्या व्यवहारांची टक्केवारी
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    ticker,
    round(100 * countIf(toUInt64(round(toFloat64(price) * 10000)) % 100 != 0) / count(), 2)       AS subpenny_trade_pct,
    round(100 * sumIf(size, toUInt64(round(toFloat64(price) * 10000)) % 100 != 0) / sum(size), 2) AS subpenny_volume_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('MSFT', 'AAPL', 'NVDA', 'KO', 'BAC', 'T', 'F')
  AND sip_timestamp >= '2026-06-17 14:00:00'
  AND sip_timestamp <  '2026-06-17 14:15:00'
  AND price > 0
GROUP BY ticker
ORDER BY subpenny_trade_pct DESC
Run this yourself

17 June 2026 रोजीच्या fifteen minute windowमध्ये KOने मोजलेल्या 7 namesमध्ये sub-penny priceवर झालेल्या printsचा सर्वाधिक दर दाखवला; त्यातील 46.56% prints sub-penny priceवर झाले. MSFTचा दर 31.87% इतका सर्वात कमी होता. Printsऐवजी shares मोजल्यास दुसरे चित्र दिसते: KOवर हात बदललेल्या sharesपैकी 24.88% sharesचे prints sub-penny priceवर झाले.

Wholesaler fillsमध्ये लहान व्यवहारांचे प्रमाण अधिक असते. खालील panelमध्ये AAPLचे एका पूर्ण sessionमधील prints trade sizeनुसार विभागले आहेत. त्यामुळे retail-sized flow आणि institutional blocks वेगळे दिसतात.

क्वेरीव्यवहाराच्या आकारानुसार AAPL सब-पेनी व्यवहार दर, 17 जून 2026
प्रत्येक आकड्यामागील अचूक SQL
WITH prints AS
(
    SELECT
        size,
        multiIf(size < 100,  'under 100 shares',
                size < 500,  '100 to 499 shares',
                size < 1000, '500 to 999 shares',
                size < 5000, '1,000 to 4,999 shares',
                             '5,000 shares and up')       AS size_bucket,
        toUInt64(round(toFloat64(price) * 10000)) % 100 != 0 AS sub_penny
    FROM global_markets.stocks_trades
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-06-17 00:00:00'
      AND sip_timestamp <  '2026-06-18 00:00:00'
      AND price > 0
      AND size > 0
)
SELECT
    size_bucket,
    round(100 * countIf(sub_penny) / count(), 2)           AS subpenny_trade_pct,
    round(100 * count() / (SELECT count() FROM prints), 2) AS share_of_prints_pct
FROM prints
GROUP BY size_bucket
ORDER BY min(size)
Run this yourself

under 100 shares आकाराचे prints त्या sessionमधील AAPL tradesपैकी 88.99% आहेत. त्यांपैकी 38.66% tradesमध्ये किंमत sub-penny होती. सर्वात मोठा band 5,000 shares and up आहे. त्यात 18.06% trades sub-penny priceवर झाले. Panelच्या दोन्ही टोकांवर अशा किंमती दिसतात.

स्वस्त stockवर one centचा भार अधिक का असतो

Basis point म्हणजे one hundredth of one percent. Share pricesमधील trading costsची तुलना करण्यासाठी हे प्रमाणित एकक आहे. Basis pointsमध्ये मोजल्यास one centचा minimum tick हा $3 stockसाठी आणि $500 stockसाठी पूर्णपणे वेगळा खर्च ठरतो.

क्वेरीशेअर किंमत पट्ट्यानुसार एका सेंटचे मूल्य
प्रत्येक आकड्यामागील अचूक SQL
WITH day_prices AS
(
    SELECT
        ticker,
        toFloat64(close) AS px
    FROM global_markets.stocks_daily_aggs
    WHERE date = '2026-06-17'
      AND volume >= 500000
      AND close >= 1
      AND close <  1000
)
SELECT
    multiIf(px < 2,   '$1 to $2',
            px < 5,   '$2 to $5',
            px < 10,  '$5 to $10',
            px < 25,  '$10 to $25',
            px < 50,  '$25 to $50',
            px < 100, '$50 to $100',
            px < 250, '$100 to $250',
                      '$250 to $1,000') AS price_bucket,
    count()                             AS stock_count,
    round(avg(10000 * 0.01 / px), 2)    AS one_cent_bps
FROM day_prices
GROUP BY price_bucket
ORDER BY min(px)
Run this yourself

17 June 2026 रोजीच्या 8 price bandsमध्ये, $1 to $2 bandमधील share priceच्या 71.37 basis points इतकी किंमत one cent होती. $250 to $1,000 bandमध्ये ती 0.28 basis points होती. Penny समान असला तरी त्याची तुलना होणाऱ्या किंमती वेगळ्या आहेत.

या नियमात यासाठी एक समायोजन आधीपासून आहे. $1.00पेक्षा कमी किंमतीसाठी increment $0.0001पर्यंत कमी होते. हा त्यापेक्षा किंचित अधिक किंमतींना लागू असलेल्या tickच्या one hundredth इतका आहे. $0.99चा stock, $1.01च्या त्याच stockपेक्षा one hundred times finer gridवर quote होतो. ही तीव्र मर्यादा दोन्ही किंमत-पातळ्यांच्या सीमारेषेवर येते.

ही गणिते quoted bid ask spreadsमध्ये दिसतात. खालील panelमध्ये त्याच secondमध्ये कुठेही पोस्ट झालेला highest bid आणि lowest offer घेतला आहे. त्यानंतर fifteen minute windowमधील त्या फरकाची average काढली आहे. Book locked किंवा crossed असलेले seconds वगळले आहेत. locked and crossed marketsमध्ये त्याचे स्वरूप स्पष्ट केले आहे.

क्वेरीपेनी टिक आणि कोट केलेली तफावत, बेसिस पॉइंट्समध्ये
प्रत्येक आकड्यामागील अचूक SQL
WITH best_quote AS
(
    SELECT
        ticker,
        toStartOfSecond(sip_timestamp) AS sec,
        toFloat64(max(bid_price))      AS best_bid,
        toFloat64(min(ask_price))      AS best_ask
    FROM global_markets.cache_stocks_quotes
    WHERE ticker IN ('MSFT', 'AAPL', 'NVDA', 'KO', 'BAC', 'T', 'F')
      AND sip_timestamp >= '2026-06-17 14:00:00'
      AND sip_timestamp <  '2026-06-17 14:15:00'
      AND bid_price > 0
      AND ask_price > bid_price
    GROUP BY ticker, sec
    HAVING min(ask_price) > max(bid_price)
)
SELECT
    concat(ticker, ' ($', toString(round(avg((best_bid + best_ask) / 2), 0)), ')') AS name,
    round(avg(best_ask - best_bid) * 100, 2)                                       AS avg_spread_cents,
    round(10000 * 0.01 / avg((best_bid + best_ask) / 2), 2)                        AS one_cent_bps,
    round(10000 * avg(best_ask - best_bid) / avg((best_bid + best_ask) / 2), 2)    AS spread_bps,
    if(avg(best_ask - best_bid) <= 0.015, 'at or under $0.015', 'above $0.015')     AS tier
FROM best_quote
GROUP BY ticker
ORDER BY avg((best_bid + best_ask) / 2) DESC
Run this yourself

MSFT ($388)साठी penny tick ही किंमतीच्या 0.26 basis pointsइतकी आहे. Average quoted gap 6.23 cents, म्हणजे 1.61 basis points होता. F ($14)साठी pennyचे मूल्य 6.94 basis points आहे. 1 centsचा quoted gap 6.94 basis points इतका ठरतो. कमी किंमतीचा name percentage screenवर wide दिसू शकतो, जरी त्याचा quote one centच्या gapवर असला तरी. Displayed gridला परवानगी असलेला हा सर्वात अरुंद gap आहे. अशा वेळी quoted spread बाजाराची depth मोजण्याऐवजी tickचा आकार मोजत असतो.

2024ची दुरुस्ती आणि half cent tick

September 2024मध्ये SECने Rule 612मध्ये दुरुस्ती करून दुसरा quoting increment जोडला. मागील evaluation periodमध्ये time-weighted average quoted spread $0.015 किंवा त्यापेक्षा कमी असलेल्या NMS stockसाठी $0.005 incrementsमध्ये quoting केली जाते. इतर सर्व stocksसाठी penny increment कायम राहतो. Evaluation ठरावीक scheduleनुसार पुन्हा केली जाते आणि प्रभावित symbols प्रत्येक roundमध्ये पुन्हा प्रकाशित केले जातात. त्यामुळे या पानावर threshold दिला आहे; symbolsची roster SECकडे ठेवली आहे.

$0.015 testमध्ये कोणते names येतात? जे आधीपासून floorला अडकलेले आहेत ते. म्हणजे heavily traded stocks, ज्यांचा quoted spread sessionच्या बहुतांश काळात one cent किंवा त्याच्या अगदी जवळ असतो. जो stock नियमितपणे three किंवा four cents wide quote होतो, तो या testजवळही पोहोचत नाही. वरील panelमध्ये tier column आहे. त्याने मोजलेल्या windowवर thresholdचे गणित लागू केले आहे. त्यामुळे तो illustration आहे, designation नाही. SEC पूर्ण evaluation periodमधील time-weighted average मोजते. एका sessionमधील fifteen minutes त्यासाठी पुरेसे नाहीत.

याच rulemakingमुळे protected quote access करण्यासाठी exchange आकारू शकणाऱ्या feeची कमाल मर्यादाही कमी झाली. $1.00 किंवा त्याहून अधिक किंमतीच्या stocksसाठी ती $0.0010 per share करण्यात आली. ही दोन आकडेवारी एकत्र काम करते: half cent quoting gridच्या शेजारी one tenth of a cent access fee असल्यामुळे fee tickचा मोठा भाग खाऊन टाकत नाही.

ही दुरुस्ती quotingला लागू होते. Execution pricesबाबत वरील सर्व माहिती यामुळे बदलत नाही. Quoteच्या आतला off-exchange fill अजूनही अधिक सूक्ष्म incrementवर होऊ शकतो.

चुकीच्या incrementमुळे limit order का reject होतो

$47.3215चा limit order brokerला नियमाने नाकारली पाहिजे अशी किंमत स्वीकारण्यास सांगतो. त्यामुळे order invalid price increment असा संदेश देऊन परत येतो. काही firmsच्या बाबतीत तो nearest legal tickवर round केला जाऊ शकतो. $1.00ची मर्यादा stockच्या last saleला नव्हे, तर orderच्या किंमतीला लागू होते. त्यामुळे $0.4732चा order $0.0001 gridवर कायदेशीर आहे, पण $0.47325चा order कायदेशीर नाही.

व्यवहाराच्या दुसऱ्या बाजूला याचे उलटे उदाहरण दिसते. Wholesaler तुम्हाला $47.3218वर fill देतो तेव्हा तुमची किंमत आणि त्याची स्वतःची किंमत यांच्यातील one centचा अंश तो ठेवतो. how market makers make moneyमध्ये हा अंश कुठे जातो, हे स्पष्ट केले आहे.

वारंवार विचारले जाणारे प्रश्न

उप-पेनी नियम म्हणजे काय?

हा Regulation NMSमधील Rule 612 आहे. $1.00 किंवा त्याहून अधिक किंमत असलेल्या NMS stockसाठी $0.01पेक्षा आणि $1.00पेक्षा कमी किंमत असलेल्या stockसाठी $0.0001पेक्षा सूक्ष्म incrementमध्ये कोणताही order किंवा quote प्रदर्शित किंवा स्वीकारण्यास तो exchange, alternative trading system, broker किंवा vendorला प्रतिबंध करतो.

माझ्या stock orderचा fill four decimal places असलेल्या किंमतीवर का झाला?

हा नियम quotes आणि ordersना लागू होतो, executionsना नाही. तुमचा order national best bid and offerच्या आत भरताना off-exchange market maker quoteपेक्षा one centच्या अंशाने चांगली किंमत देऊ शकतो. Brokers ही तफावत price improvement म्हणून report करतात.

माझा limit order invalid price incrementमुळे का reject झाला?

तुमच्या limit priceमध्ये त्या किंमत-पातळीवर Rule 612ने परवानगी दिलेल्यापेक्षा सूक्ष्म increment वापरला होता. $1.00 किंवा त्याहून अधिक किंमतीच्या orderसाठी one centपेक्षा आणि $1.00पेक्षा कमी किंमतीच्या orderसाठी $0.0001पेक्षा सूक्ष्म increment वापरता येत नाही. Legal incrementवर order पुन्हा दाखल केल्यास rejection दूर होते.

2024च्या SEC tick size amendmentमुळे काय बदलले?

मागील evaluation periodमधील time-weighted average quoted spread $0.015 किंवा त्यापेक्षा कमी असलेल्या NMS stocksसाठी $0.005चा quoting increment जोडला गेला. या thresholdच्या बाहेरील stocks whole centsमध्ये quoting करत राहतात. ही amendment execution pricesऐवजी quoting incrementsला लागू होते.


येथील प्रत्येक panelसोबत तो तयार करण्यासाठी वापरलेले SQL दिलेले आहे. प्रत्येक count कसा घेतला, हे पाहण्यासाठी panel expand करा. Strasmore terminalवर कोणत्याही symbol आणि कोणत्याही windowसाठी sub-penny print share आणि average quoted spread मोजता येतात.

#reg nms#rule 612#tick size#price improvement#limit orders