Strasmore Research
Learn Matt ConnorBy Matt Connor

The 390 Rule in Options: Professional Status

The 390 rule: average over 390 options orders a day in a month and exchanges treat you as a Professional. What brokers count and what changes in practice.

The 390 rule is the options exchanges' line between a retail customer and a Professional. An account that is not a broker-dealer and averages more than 390 listed-option orders per trading day over a calendar month is designated a Professional: its orders carry a different origin code, and at the exchange they lose the priority and fee treatment reserved for public customers. The regular session is 390 minutes long, so the threshold is one order per minute.

What is the 390 rule in options trading?

Every options order reaches the exchange with an origin code, a one-letter tag the broker attaches to say whose order it is. Public customers are marked C; market makers and broker-dealers have their own codes. Since January 2010 Cboe has carried one more: W, for Professional, a customer who is not a broker-dealer but places orders like one.

The definition sits in Cboe Exchange Rule 1.1. As read on September 17, 2026, as amended by rule filing SR-CBOE-2026-060, it says:

The term "Professional" means any person or entity that (a) is not a broker or dealer in securities, and (b) places more than 390 orders in listed options per day on average during a calendar month for its own beneficial account(s). Orders for any customer that had an average of more than 390 orders per day during any calendar month must be represented as Professional orders for the next calendar month. TPH organizations will be required to conduct a monthly review and make any appropriate changes to the way in which they are representing orders within five days after the end of each calendar month. (Cboe Exchange Rule 1.1, "Professional", as amended by SR-CBOE-2026-060, Exhibit 5; read September 17, 2026.)

A TPH organization is a Trading Permit Holder, Cboe's term for a member firm; for a retail account, that is the broker. Other exchanges run the same test under other labels: Nasdaq ISE separates Priority Customers from Professional Customers on the identical 390-order line, and Cboe's 2026 change followed a Nasdaq ISE filing on the same review (SR-ISE-2026-16).

Why 390? The regular session is 390 minutes long

From 9:30 a.m. to 4:00 p.m. ET is six and a half hours, 390 minutes, and the threshold is one order for each of them. You can count those minutes off the tape. The panel below groups SPY's one-minute bars into half-hour buckets across one full session, premarket and after-hours edges included.

QueryOne session in half-hour buckets: SPY one-minute bars and share volume, Sep 10 2026
et_timebars_printedvolume_millions
09:00300.27
09:30306.78
10:00304.93
10:30302.93
11:00302.65
11:30301.78
12:00301.56
12:30301.91
13:00301.39
13:30301.05
14:00301.62
14:30301.59
15:00302.58
15:30306.49
16:00301.56
16:30290.06
The exact SQL behind every number
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i', 'America/New_York') AS et_time,
    uniqExact(window_start)                    AS bars_printed,
    round(toFloat64(sum(volume)) / 1e6, 2)     AS volume_millions
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= toDateTime('2026-09-10 13:00:00', 'UTC')
  AND window_start <  toDateTime('2026-09-10 21:00:00', 'UTC')
GROUP BY et_time
ORDER BY et_time
Run this yourself

From the 09:30 bucket through the 15:30 bucket, every half hour prints 30 one-minute bars; thirteen buckets of thirty make the 390. The edges show where the session sits: the 09:00 premarket bucket carried 0.27 million SPY shares against 6.78 million in the 09:30 bucket that followed.

What does 390 orders a day look like against the market?

For a person clicking a mouse, 390 orders is an enormous day. Against the market it is a rounding error. The next panel counts every SPY option trade in each half hour of the same session, per active minute.

QuerySPY option trades per half hour, Sep 10 2026
et_timetrade_counttrades_per_minute
09:302072266907.5
10:001974786582.6
10:301157883859.6
11:00853072843.6
11:301003213344
12:00821882739.6
12:30987173290.6
13:00645222150.7
13:30581351937.8
14:00784372614.6
14:30769652565.5
15:00699722332.4
15:30855022850.1
16:00226201508
The exact SQL behind every number
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i', 'America/New_York') AS et_time,
    count()                                                        AS trade_count,
    round(count() / uniqExact(toStartOfMinute(sip_timestamp)), 1)  AS trades_per_minute
FROM global_markets.options_trades
WHERE underlying_symbol = 'SPY'
  AND sip_timestamp >= toDateTime('2026-09-10 13:30:00', 'UTC')
  AND sip_timestamp <  toDateTime('2026-09-10 20:30:00', 'UTC')
GROUP BY et_time
ORDER BY et_time
Run this yourself

The opening half hour printed 6907.5 SPY option trades per minute; the 15:30 bucket ran at 2850.1. An account at the threshold adds one order a minute to that stream. What the tag changes is who is served first at a price, the question underneath how market makers make money.

How do brokers count orders under the 390 rule?

The counting rules are Interpretation and Policy .01 to Rule 1.1, spelled out in Cboe Regulatory Circular RG16-064 (March 30, 2016), which updated Regulatory Circular RG09-148 (December 24, 2009). As read on September 17, 2026:

  • Every order counts once, filled or not, on any options exchange. Size is irrelevant: a one-lot and a 500-lot each add one.
  • A cancel/replace, which is what most platforms send when you edit a resting order, counts as a new order. A plain cancel adds nothing.
  • A spread of eight legs or fewer is one order, even if the broker legs it out. Nine legs or more and each option leg counts separately. A stock leg never counts.
  • A parent order sliced by a broker's algorithm into child orders on the same side of the same series counts once. Children across both sides or several series each count.
  • An order pegged to the NBBO counts again every time it re-prices to follow the quote.
  • All accounts under one beneficial owner are aggregated. Sub-accounts and related accounts with separate tax IDs do not reset the count.

The average is per trading day over the calendar month: counted orders divided by that month's sessions. A quiet week does not offset a busy one.

When does the designation change?

Until mid-2026 the review was quarterly: a customer who averaged more than 390 orders a day in any month of a quarter was marked W for the whole next quarter. SR-CBOE-2026-060, filed June 30, 2026 as immediately effective (SEC Release No. 34-105891, July 13, 2026), shortened both halves. The broker now reviews each calendar month and re-tags within five days after month end; the designation applies to the next calendar month. The path back is the mirror image: a month at or under 390 a day and the account returns to C for the month after.

What changes once you are tagged W?

Priority. Exchanges give public-customer orders execution priority over market-maker quotes and broker-dealer orders at the same price. A W order is allocated the way a broker-dealer's is: behind the customer orders at that price, in the same pool as the market makers. On a crowded strike that is the difference between the front of the queue and the middle of it, a mechanism that runs through why options orders don't get filled.

Fees. Circular RG09-148 states that Professional orders are treated the same as broker-dealers for execution priority and incur a per-contract transaction fee on executed business. Customer orders in most classes trade free or nearly free of exchange transaction fees; W orders pay the broker-dealer schedule. The marketing fee, a per-contract charge market makers fund to attract customer flow, is not collected on Professional executions either: your orders stop being the kind a market maker pays to trade against. Whether any of this reaches your statement depends on your broker's pricing.

Routing. Payment-for-order-flow arrangements, in which a wholesaler pays the broker to execute retail orders, are written around C-coded flow. How a broker routes or prices W-coded orders is set firm by firm.

Does the 390 rule count small orders the same as big ones?

Yes, and that is the part most retail traders miss. A bot working one-lot orders across twenty tickers, re-entering each time the quote moves, can pass 390 before lunch. A discretionary trader placing ten 50-lot spreads a day never gets close. The tape shows how ordinary the one-lot is.

QuerySPY option trades by size, Sep 10 2026
buckettrade_countshare_of_trades_pct
1 contract64243747.8
2 to 5 contracts41023230.5
6 to 10 contracts1290689.6
11 to 50 contracts1324139.9
51 or more contracts290282.2
The exact SQL behind every number
SELECT
    bucket,
    trade_count,
    round(100 * trade_count / sum(trade_count) OVER (), 1) AS share_of_trades_pct
FROM
(
    SELECT
        multiIf(size = 1, 1, size <= 5, 2, size <= 10, 3, size <= 50, 4, 5) AS bucket_rank,
        multiIf(bucket_rank = 1, '1 contract',
                bucket_rank = 2, '2 to 5 contracts',
                bucket_rank = 3, '6 to 10 contracts',
                bucket_rank = 4, '11 to 50 contracts',
                                 '51 or more contracts')                     AS bucket,
        count()                                                              AS trade_count
    FROM global_markets.options_trades
    WHERE underlying_symbol = 'SPY'
      AND sip_timestamp >= toDateTime('2026-09-10 13:30:00', 'UTC')
      AND sip_timestamp <  toDateTime('2026-09-10 20:30:00', 'UTC')
    GROUP BY bucket_rank, bucket
)
ORDER BY bucket_rank
Run this yourself

On that session 47.8% of SPY option trades were for exactly one contract, and trades of 51 or more contracts made up 2.2%. The pattern holds across the names retail trades most.

QueryShare of option trades that were a single contract, six names, Sep 10 2026
symbolone_lot_pctfive_or_fewer_pcttrade_count
TSLA60.587.2388449
AAPL56.685.1600018
AMZN55.684.480198
NVDA5380.9289053
SPY47.878.41343178
QQQ46.677.71015691
The exact SQL behind every number
SELECT
    underlying_symbol                                AS symbol,
    round(100 * countIf(size = 1) / count(), 1)      AS one_lot_pct,
    round(100 * countIf(size <= 5) / count(), 1)     AS five_or_fewer_pct,
    count()                                          AS trade_count
FROM global_markets.options_trades
WHERE underlying_symbol IN ('SPY', 'QQQ', 'AAPL', 'NVDA', 'TSLA', 'AMZN')
  AND sip_timestamp >= toDateTime('2026-09-10 13:30:00', 'UTC')
  AND sip_timestamp <  toDateTime('2026-09-10 20:30:00', 'UTC')
GROUP BY symbol
ORDER BY one_lot_pct DESC
Run this yourself

TSLA had the highest single-contract share that day at 60.5% of trades; QQQ the lowest at 46.6%. For a non-broker-dealer account, each order behind those trades counts the same toward 390, whatever its size.

For a bot placing many small orders, the count is the number to watch, and two habits move it most. A cancel/replace is a fresh order every time, and a spread entered as one ticket is one order where the same legs entered separately are several. A same-side child-order slicer does not multiply the count; a pegged order does, on every re-price.

The 390 rule vs the professional market data test

Two different rules use the word "professional", and traders mix them up constantly. The 390 rule is an exchange order-handling rule: it counts orders, month by month, and it sets exchange priority and fees.

The market data test is a subscriber classification set by the data feeds (OPRA, for options). It looks at who you are: whether you are registered with a securities regulator, work for a broker-dealer or bank in a registered capacity, act as an investment adviser, or use the data for anything beyond personal investing. Fail any of those and you pay the professional data rate; your order count never enters into it. An account can hold either status without the other. Our guide to professional vs non-professional market data covers the subscriber test and what it does to a data bill.

Neither test is your broker's options approval level, which decides which strategies you may trade at all; that ladder is covered in options approval levels explained.

FAQ

What is the 390 rule in options?

An options exchange rule that designates any non-broker-dealer account averaging more than 390 listed-option orders per trading day over a calendar month as a Professional. The number is the count of minutes in a 9:30 to 4:00 session: one order per minute.

Do cancelled or unfilled orders count toward the 390?

Unfilled orders count; the rule counts orders placed, executed or not, on any exchange. A cancel/replace (a modify) counts as a new order. A plain cancel adds nothing new.

Does a spread count as one order or one per leg?

One order when the complex order has eight legs or fewer, even if the broker legs it out. With nine legs or more, each option leg counts separately. A stock leg never counts.

What happens if I am classified as a Professional?

Your orders carry the Professional origin code (W at Cboe) for the following calendar month. They lose customer priority in the exchange's allocation and pay the broker-dealer fee schedule instead of customer rates. A month back at or under 390 orders a day returns the customer code for the month after.

Is the 390 rule the same as professional market data status?

No. Market data professional status is a subscriber test about who you are and how you use the data, and it sets your data fees. The 390 rule counts the orders you place and sets your order priority and exchange fees. Each is assessed on its own.


Every panel above carries the exact SQL behind it. To count the trades in a different name or on another session, run the queries on the Strasmore terminal.

#390 rule#professional customer#options market structure#order priority#automated trading