Strasmore Research
市场回顾 Matt Connor作者: Matt Connor · data as of July 22, 2026 · refreshed weekly

异常期权交易排行榜:最近交易日成交量异动与看涨看跌占比

基于完整美股期权成交记录排名的异常期权交易:哪些标的成交量远超自身20个交易日均值,以及看涨看跌期权的占比如何。

异常期权交易,指的是某个标的在单个交易日内成交的期权合约数量,远远超过它自身近期的正常水平。下面这份榜单,按最近一个已完结的期权交易日——Jul 20——进行排名:把当日成交的合约总量,与同一标的过去20个交易日的均值作比较。期权成交记录的结算比股票成交记录要滞后,因此这里标注的交易日,是我们数据中最新的一个完整交易日,而不是今天。

在看表格之前,有一点需要说清楚:这是一个成交量筛选器。市面上大多数已发布的异常期权提醒,比较的是当日成交量与未平仓合约数(收盘后仍然持有、尚未平仓的合约数量)。而我们存储的期权成交记录,记录的是成交(trades),而不是持仓(positions),其中完全没有未平仓合约这个字段。下面每一个比值,比较的都是某个标的的成交量与它自身的成交量历史。期权成交量与未平仓合约的区别说明了这两种测量方式各自回答的问题。

异常期权交易:最近一个已完结交易日

查询异常期权交易:最近一个已完结交易日相对各标的自身20日均值
每个数字背后的完整 SQL
WITH tape AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY d
),
ranked AS (
    SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
    FROM tape
),
cal AS (
    SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
    FROM (
        SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
        FROM ranked
        WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
    )
),
day_root AS (
    SELECT substring(ticker, 3, length(ticker) - 17) AS root,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY root, d
),
scored AS (
    SELECT r.root AS root,
           sumIf(r.vol, c.rn = 1) AS last_vol,
           avgIf(r.vol, c.rn BETWEEN 2 AND 21) AS base_vol,
           maxIf(r.vol, c.rn BETWEEN 2 AND 21) AS prior_high,
           countIf(c.rn BETWEEN 2 AND 21) AS root_sessions,
           max(c.baseline_sessions) AS baseline_session_count,
           maxIf(toYYYYMMDD(c.d), c.rn = 1) AS session_id,
           maxIf(formatDateTime(c.d, '%b %e'), c.rn = 1) AS session_label
    FROM day_root r INNER JOIN cal c ON r.d = c.d
    WHERE c.rn <= 21
      AND r.root NOT IN ('SPCX')
      AND r.root NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
    GROUP BY r.root
    HAVING last_vol >= 25000 AND base_vol >= 5000 AND root_sessions >= 18
)
SELECT root AS ticker,
       round(last_vol / base_vol, 1) AS vol_ratio,
       round(last_vol / 1000, 1) AS session_volume_k,
       round(base_vol / 1000, 1) AS baseline_volume_k,
       round(prior_high / 1000, 1) AS prior_high_volume_k,
       session_label,
       session_id,
       baseline_session_count
FROM scored
ORDER BY vol_ratio DESC, ticker ASC
LIMIT 10

三列数据承载了核心读数。倍数一列说明标的的成交量比自身正常水平高出多少;基准一列说明“正常水平”具体是多少——一个清淡期权链上出现的高倍数,实际意义要小于一个繁忙期权链上出现的中等倍数;20日最高一列说明这一交易日是否超过了此前一个月内的任何一天。最后三列是核对依据:本榜单所依据的交易日,分别以标签和纯数字两种形式打印,外加支撑基准值的合格交易日数量——这个数量必须凑满20天,本页才会发布。

ACHR 高居榜首,达到自身均量的 5.5 倍:当日成交 173.7 千张合约,而基准值只有 31.6 千张,此前20个交易日的最高值为 80.2 千张。

  • AR5.5 倍,当日 33.5 千张合约,基准值 6.1 千张。
  • XLY5.2 倍,当日 45.1 千张合约,基准值 8.7 千张。
  • ONON4.6 倍,当日 31.4 千张合约,此前20个交易日最高值为 13.6 千张。
  • AMC4 倍,当日成交 387.6 千张合约。

榜单最后一行的 REPL,成交量仍达到自身均量的 3.1 倍。倍数和规模是两个独立的读数,这也是为什么榜单上两列都要保留。同样思路在股票成交量上的对应版本,见本周异常成交量股票,具体算法则在相对成交量一文中有完整说明。

看涨还是看跌:成交记录倾向哪一边

看涨与看跌期权成交量之间的分配,才是一条异动提醒真正想说明的大部分内容。同一份榜单、同一个交易日,按看涨占比排序:

查询看涨还是看跌:同一交易日榜单标的的看涨、看跌合约成交量
每个数字背后的完整 SQL
WITH tape AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY d
),
ranked AS (
    SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
    FROM tape
),
cal AS (
    SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
    FROM (
        SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
        FROM ranked
        WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
    )
),
day_root AS (
    SELECT substring(ticker, 3, length(ticker) - 17) AS root,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol,
           sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C') AS calls,
           sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P') AS puts
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY root, d
),
scored AS (
    SELECT r.root AS root,
           round(sumIf(r.vol, c.rn = 1) / avgIf(r.vol, c.rn BETWEEN 2 AND 21), 1) AS vol_ratio,
           sumIf(r.calls, c.rn = 1) AS calls,
           sumIf(r.puts, c.rn = 1) AS puts,
           maxIf(toYYYYMMDD(c.d), c.rn = 1) AS session_id
    FROM day_root r INNER JOIN cal c ON r.d = c.d
    WHERE c.rn <= 21
      AND r.root NOT IN ('SPCX')
      AND r.root NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
    GROUP BY r.root
    HAVING sumIf(r.vol, c.rn = 1) >= 25000
       AND avgIf(r.vol, c.rn BETWEEN 2 AND 21) >= 5000
       AND countIf(c.rn BETWEEN 2 AND 21) >= 18
),
board AS (
    SELECT root, vol_ratio, calls, puts, session_id
    FROM scored
    ORDER BY vol_ratio DESC, root ASC
    LIMIT 10
)
SELECT root AS ticker,
       round(calls / 1000, 1) AS call_volume_k,
       round(puts / 1000, 1) AS put_volume_k,
       round(100.0 * calls / (calls + puts), 0) AS call_share_pct,
       session_id
FROM board
WHERE calls + puts > 0
ORDER BY call_share_pct DESC, ticker ASC

在看涨占比最高的一端,ONON96% 的合约是看涨期权:30 千张看涨对 1.4 千张看跌。同一张表的另一端,XLY 的看涨占比为 7%,3.4 千张看涨对 41.7 千张看跌。

这个占比值得关注,但也很容易被过度解读。每一笔成交的合约都有买方和卖方,成交记录并不会标注是哪一方主动发起的。大量的看涨期权成交,既可能是单纯做多的头寸,也可能是针对已持有股票开出的备兑看涨期权。看涨期权的买卖详细说明了这笔交易的每一方各自承担了什么。成交记录热闹的地方,期权价格通常也不平静,这正是隐含波动率最高股票榜单要讨论的内容。

这一交易日的合约构成

查询这一交易日的合约构成:按到期前天数划分的期权成交量
每个数字背后的完整 SQL
WITH tape AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY d
),
ranked AS (
    SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
    FROM tape
),
cal AS (
    SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
    FROM (
        SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
        FROM ranked
        WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
    )
),
bars AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           toFloat64(volume) AS v,
           toDate(concat('20', substring(ticker, length(ticker) - 14, 2), '-',
                         substring(ticker, length(ticker) - 12, 2), '-',
                         substring(ticker, length(ticker) - 10, 2))) AS expiry
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 12, 'America/New_York')
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM cal WHERE rn = 1)
),
scored AS (
    SELECT multiIf(expiry - d <= 0, 1, expiry - d <= 7, 2, expiry - d <= 30, 3,
                   expiry - d <= 90, 4, expiry - d <= 365, 5, 6) AS bk,
           v, d
    FROM bars
)
SELECT arrayElement(['same day', '1 to 7 days', '8 to 30 days', '31 to 90 days', '91 to 365 days', 'over a year'], bk) AS dte_bucket,
       round(sum(v) / 1e6, 2) AS contracts_m,
       round(100.0 * sum(v) / sum(sum(v)) OVER (), 1) AS pct_of_volume,
       toYYYYMMDD(max(d)) AS session_id
FROM scored
GROUP BY bk
ORDER BY bk ASC

当日到期的合约占了整个交易日成交量的 40.4%,共 25.65 百万张。另有 24.9% 的合约将在一周内到期。而在曲线另一端,剩余期限超过一年的合约只占 1.1%。

这个构成,改变了应该如何解读一条“异常期权交易”头条。任何类似榜单背后的成交量,大多数都是短期合约,而当日到期的合约会在收盘钟声前直接结算,而不会被继续持有。0DTE期权专门介绍了期权链上的这一端。

这是一个到期交易日吗?

在每月的到期日,整个市场的期权成交量都会上升,因为最大一批挂牌合约会在同一天集中到期。如果在到期日这天运行一个倍数筛选器,会把半个市场都标记为异常。因此下面这个面板,为窗口内的每一个交易日都标注了类型。

查询全市场期权成交量(按交易日),并标注月度到期日
每个数字背后的完整 SQL
WITH tape AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY d
),
ranked AS (
    SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
    FROM tape
),
cal AS (
    SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
    FROM (
        SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
        FROM ranked
        WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
    )
),
w AS (
    SELECT d, vol,
           toStartOfMonth(d) + toIntervalDay(((5 - toDayOfWeek(toStartOfMonth(d)) + 7) % 7) + 14) AS third_friday
    FROM cal
    WHERE rn <= 25
),
marked AS (
    SELECT d, vol,
           (d = max(if(d <= third_friday, d, toDate('1970-01-01'))) OVER (PARTITION BY toStartOfMonth(d)))
             AND (third_friday <= max(d) OVER ()) AS is_expiry
    FROM w
),
latest AS (
    SELECT d, vol, is_expiry,
           max(if(is_expiry, d, toDate('1970-01-01'))) OVER () AS last_expiry_d
    FROM marked
)
SELECT formatDateTime(d, '%b %e') AS session,
       round(vol / 1e6, 1) AS contracts_m,
       multiIf(is_expiry, 'monthly expiration', 'ordinary') AS session_type,
       round(max(if(d = last_expiry_d, vol, 0)) OVER () / 1e6, 1) AS monthly_expiry_m,
       toYYYYMMDD(d) AS session_id
FROM latest
ORDER BY d ASC

本面板中最新的一个交易日,就是榜单所依据的那一天,与上面两张表使用的是同一个日期,它的标签是“ordinary”。这一天整个美国期权成交记录共打印了 63.5 百万张合约。同一窗口内最近一次月度到期日打印了 76.8 百万张。榜单上每一个倍数背后的20日基准,通常正好包含一次月度到期,因此这个分母在各个交易日之间,都会带着同样一块凸起。

异常期权交易能预示股价走势吗?

值得回答的问题是:一个期权成交量很大的交易日之后,标的股价是否会跟随出现大幅波动。这里测量的是过去200天的数据:每一个跨过同样成交量门槛的“标的-交易日”样本,按其倍数分组,并与下一交易日标的收盘价的绝对变动幅度进行匹配。“典型”一列,是每个标的自身在整个窗口内的日涨跌幅中位数,因此每一组都是与自身作比较。

查询重仓期权交易日之后会发生什么:次日绝对变动 vs. 同一标的在普通交易日的表现
每个数字背后的完整 SQL
WITH daily AS (
    SELECT underlying_symbol AS sym,
           date AS d,
           sum(volume) AS vol,
           max(underlying_close) AS px
    FROM global_markets.options_greeks
    WHERE date >= today() - 200
      AND underlying_close > 0
      AND underlying_symbol NOT IN ('SPCX')
      AND underlying_symbol NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
      AND underlying_symbol NOT IN (SELECT ticker FROM global_markets.stocks_splits
                                    WHERE execution_date BETWEEN today() - 230 AND today())
    GROUP BY sym, d
),
seq AS (
    SELECT sym, d, vol, px,
           avg(vol) OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS base,
           count() OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS base_n,
           any(px) OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) AS next_px,
           any(px) OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_px
    FROM daily
),
moves AS (
    SELECT sym, vol, base, base_n,
           if(next_px > 0, 100 * abs(next_px / px - 1), -1) AS next_abs,
           if(next_px > 0, 100 * (next_px / px - 1), -999) AS next_signed,
           if(prev_px > 0, 100 * abs(px / prev_px - 1), -1) AS own_abs
    FROM seq
),
typical AS (
    SELECT sym, quantileExact(0.5)(own_abs) AS typ
    FROM moves
    WHERE own_abs >= 0
    GROUP BY sym
)
SELECT arrayElement(['5x or more', '3x to 5x', '2x to 3x', '1x to 2x', 'below 1x'], bk) AS rvol_bucket,
       count() AS event_count,
       round(quantileExact(0.5)(next_abs), 2) AS median_next_move_pct,
       round(quantileExact(0.5)(typ), 2) AS median_typical_move_pct,
       round(quantileExact(0.5)(next_abs) - quantileExact(0.5)(typ), 2) AS gap_pp,
       round(quantileExact(0.5)(next_signed), 2) AS median_next_signed_pct
FROM (
    SELECT m.sym AS sym,
           multiIf(m.vol / m.base >= 5, 1, m.vol / m.base >= 3, 2, m.vol / m.base >= 2, 3,
                   m.vol / m.base >= 1, 4, 5) AS bk,
           m.next_abs AS next_abs,
           m.next_signed AS next_signed,
           t.typ AS typ
    FROM moves m INNER JOIN typical t ON m.sym = t.sym
    WHERE m.base_n = 20 AND m.base >= 5000 AND m.vol >= 25000 AND m.next_abs >= 0
)
GROUP BY bk
ORDER BY bk ASC

在成交量达到自身基准五倍或以上的交易日之后,下一交易日绝对变动幅度的中位数为 2.61%,而同样这批标的在普通交易日的中位数为 1.98%,两者相差 0.63 个百分点。在表格清淡的一端,这两列数字分别为 1.89% 和 2.11%,相差 -0.22 个百分点。

诚实的答案是:影响很小,而且说的是幅度而不是方向。成交量更大的期权交易日之后,绝对变动幅度确实略大一些,但中位数上的差距只有零点几个百分点。五倍交易日之后下一交易日的带符号变动中位数为 -0.35%,而低于基准的交易日之后为 -0.06%。两者都远不是异动提醒标题所暗示的那种走势。稀缺程度也值得留意:在整个研究窗口内,跨过自身基准五倍门槛的“标的-交易日”样本共有 638 个,而低于基准的样本有 11466 个。

本筛选器的测量方法

一个隐藏规则的筛选器,看起来像是数据,实际上却是观点,因此这里列出全部规则。

  1. 数据来源。 完整的美国期权分钟级成交记录。标的代码是从每份合约的OCC代码中解析出来的,因此指数期权的标的代码和当日到期合约,都和普通个股与基金期权链一起被纳入统计。
  2. 倍数。 最近一个已完结交易日的合约总成交量,除以同一标的在此前20个合格交易日内的均值。这20天中至少要有18天有成交量。榜单专门用一列打印出实际窗口长度,如果窗口不足20天,本页会暂停发布,而不会把一个更短的均值贴上“20日”的标签发布出去。
  3. 门槛。 当日成交至少25,000张合约,基准值至少5,000张。没有这两道门槛,榜单会被那些一笔订单就能打出10倍读数的清淡期权链占满。
  4. 交易日资格认定。 本页每个面板,都从同一份成交记录的同一个45天窗口内读取交易日,规则只有一条:当某一天的全市场成交量达到该窗口内较早交易日成交量中位数的75%时,这一天才计入。计算这个中位数时会排除最新一天,这样一个数据尚未加载完整的当天,就不会把自己拉低到刚好达标。成交记录在最前沿是分批到达的,成交量不足正常交易日四分之三的一天,会一直被排除在榜单之外,直到数据加载完整。每个面板都会打印自己所落在的那个交易日,因此四个面板之间可以互相印证。
  5. 剔除项。 杠杆型和反向型基金按名单逐一剔除:一只三倍杠杆产品的期权链,其成交量天生会随倍数放大,如果不剔除,几乎每周都会占满榜单。有一个被重复使用过的股票代码也被剔除,因为数据供应商的历史记录把两家公司的数据拼接在了同一个代码之下。
  6. 没有未平仓合约数据。 数据仓库中没有未平仓合约字段,因此本页任何地方都不会拿成交量去和未平仓头寸作比较。同行的筛选器说“成交量超过未平仓合约数”,本页说的则是“成交量超过自身20日均值”。
  7. 到期日。 月度到期会在全市场范围内推高期权成交量。交易日面板会标注这一状态,如果榜单恰好建立在一个到期交易日上,就应该拿它和其他到期交易日作比较,而不是和普通交易日比较。

后续走势研究使用的是另一张表:每日期权希腊值文件,其中带有清晰的标的代码和标的收盘价。这张表排除了当日到期合约和指数期权,且结算时间比分钟级成交记录晚几个交易日,因此它覆盖的样本范围比榜单本身要窄。研究窗口内发生过拆股的标的会被剔除,因为拆股会伪造出一次巨大的虚假波动。

FAQ

什么是异常期权交易?

指某个标的在单个交易日内成交的期权合约数量,远远超过它自身近期的平均水平。本页采用的门槛是纯算术标准,而不是编辑主观判断:当日合约成交量除以同一标的过去20个交易日的均值,同时要求当日成交量至少25,000张、基准值至少5,000张。

异常期权交易能预测股价走势吗?

预测力很弱,而且不涉及方向。在我们数据覆盖的最近200天里,成交量达到标的自身期权基准五倍的交易日,其后一交易日的绝对变动幅度中位数为 2.61%,而同样这批标的在普通交易日为 1.98%。而这一交易日的带符号变动中位数为 -0.35%——也就是说,成交量能说明股价大致会动多少,但几乎说明不了它会往哪个方向动。

期权成交量数据什么时候更新?

合约成交量在交易日进行期间,会实时打印到综合期权成交记录上。本页所存储的成交记录存在结算延迟,因此榜单报告的是最新的一个已完结交易日,而不是正在进行中的交易日,并会标注具体日期。本页的任何内容都不是实时数据源。

这个异常期权交易扫描工具为什么不使用未平仓合约数据?

未平仓合约数据由清算机构在收盘后公布,而我们持有的数据中没有这个字段。把当日成交量与同一标的自身的成交量历史作比较,可以直接从成交记录本身测量得出,而且回答的是一个类似的问题:这条期权链是否比平常更繁忙。


上面每一个数字都来自一次已存储、带版本的查询。展开任意面板下方的 SQL 即可核对测量过程,也可以在 Strasmore 终端上,用您喜欢的任意窗口运行同样的筛选器。

#期权#unusual options activity#options volume#market structure