STRASMORE/EXPLORE 2,469 QUERIES

vxx_monthly

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-09-22, from what-is-vxx-etn.

as of series 90×4read in context →
vxx_monthly — 90 rows by 4 columns, computed from US exchange, SIP and OPRA data.
monthmonth_labelvxx_close_adjchange_pct
2019-01-01Jan 2019158474.240
2019-05-01May 2019124600.32-21.4
2019-06-01Jun 2019106496-32.8
2019-07-01Jul 201996624.64-39
2019-08-01Aug 2019110592-30.2
2019-09-01Sep 201997239.04-38.6
2019-10-01Oct 201980896-49
2019-11-01Nov 201967747.84-57.2
2019-12-01Dec 201961931.52-60.9
2020-01-01Jan 202066355.2-58.1
2020-02-01Feb 202093429.76-41
2020-03-01Mar 202018944019.5
2020-04-01Apr 2020155115.52-2.1
2020-05-01May 2020135700.48-14.4
2020-06-01Jun 2020139059.2-12.3
2020-07-01Jul 2020116817.92-26.3
2020-08-01Aug 2020109977.6-30.6
2020-09-01Sep 2020101990.4-35.6
2020-10-01Oct 2020108666.88-31.4
2020-11-01Nov 202070369.28-55.6
2020-12-01Dec 202068771.84-56.6
2021-01-01Jan 202186343.68-45.5
2021-02-01Feb 202165658.88-58.6
2021-03-01Mar 202146694.4-70.5
2021-04-01Apr 202110280.96-93.5
2021-05-01May 20218883.2-94.4
2021-06-01Jun 20217541.76-95.2
2021-07-01Jul 20217733.76-95.1
2021-08-01Aug 20216525.44-95.9
2021-09-01Sep 20217124.48-95.5
2021-10-01Oct 20215488.64-96.5
2021-11-01Nov 20216517.76-95.9
2021-12-01Dec 20214743.68-97
2022-01-01Jan 20225480.96-96.5
2022-02-01Feb 20226144-96.1
2022-03-01Mar 20226579.2-95.8
2022-04-01Apr 20227093.76-95.5
2022-05-01May 20225775.36-96.4
2022-06-01Jun 20225908.48-96.3
2022-07-01Jul 20225360.64-96.6
2022-08-01Aug 20224925.44-96.9
2022-09-01Sep 20225429.76-96.6
2022-10-01Oct 20224520.96-97.1
2022-11-01Nov 20223819.52-97.6
2022-12-01Dec 20223614.72-97.7
2023-01-01Jan 20232897.92-98.2
2023-02-01Feb 20232954.24-98.1
2023-03-01Mar 2023718.56-99.5
2023-04-01Apr 2023605.76-99.6
2023-05-01May 2023551.36-99.7
2023-06-01Jun 2023400-99.7
2023-07-01Jul 2023361.6-99.8
2023-08-01Aug 2023344-99.8
2023-09-01Sep 2023373.12-99.8
2023-10-01Oct 2023375.2-99.8
2023-11-01Nov 2023276.64-99.8
2023-12-01Dec 2023248.32-99.8
2024-01-01Jan 2024242.08-99.8
2024-02-01Feb 2024216.96-99.9
2024-03-01Mar 2024207.52-99.9
2024-04-01Apr 2024217.76-99.9
2024-05-01May 2024184.48-99.9
2024-06-01Jun 2024174.72-99.9
2024-07-01Jul 202446.25-100
2024-08-01Aug 202444.5-100
2024-09-01Sep 202449.6-100
2024-10-01Oct 202457.87-100
2024-11-01Nov 202442.58-100
2024-12-01Dec 202445.8-100
2025-01-01Jan 202544.12-100
2025-02-01Feb 202545.83-100
2025-03-01Mar 202551.47-100
2025-04-01Apr 202564.64-100
2025-05-01May 202553.83-100
2025-06-01Jun 202548.05-100
2025-07-01Jul 202542.46-100
2025-08-01Aug 202536.27-100
2025-09-01Sep 202533.16-100
2025-10-01Oct 202534-100
2025-11-01Nov 202532.1-100
2025-12-01Dec 202526.47-100
2026-01-01Jan 202627.5-100
2026-02-01Feb 202628.9-100
2026-03-01Mar 202635.7-100
2026-04-01Apr 202628.19-100
2026-05-01May 202624.14-100
2026-06-01Jun 202622.09-100
2026-07-01Jul 202621.25-100
2026-08-01Aug 202618-100
2026-09-01Sep 202617.51-100
Rows × columns
90 × 4
Period covered
to
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for vxx_monthly, derived from the stored result.
ColumnTypeRangeNotes
month date 2019-01-01 to 2026-09-01
month_label text 90 distinct values (Apr 2020, Apr 2021, Apr 2022…)
vxx_close_adj number 17.51 to 189,440 US dollars
change_pct number -100 to 19.5 percent

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

WITH splits AS
(
    SELECT
        groupArray(execution_date) AS split_dates,
        groupArray(price_factor)   AS price_factors
    FROM
    (
        SELECT
            execution_date,
            toFloat64(any(split_from)) / toFloat64(any(split_to)) AS price_factor
        FROM global_markets.stocks_splits
        WHERE ticker = 'VXX'
        GROUP BY execution_date
    )
),
daily AS
(
    SELECT
        a.date AS date,
        toFloat64(a.close) * arrayProduct(arrayMap((d, f) -> if(d > a.date, f, 1.0), s.split_dates, s.price_factors)) AS adj_close
    FROM global_markets.stocks_daily_aggs AS a
    CROSS JOIN splits AS s
    WHERE a.ticker = 'VXX'
      AND a.date >= toDate('2019-01-01')
),
month_end AS
(
    SELECT
        toStartOfMonth(date)    AS month_start,
        argMax(adj_close, date) AS adj_close
    FROM daily
    GROUP BY month_start
)
SELECT
    toString(month_start)                AS month,
    formatDateTime(month_start, '%b %Y') AS month_label,
    round(adj_close, 2)                  AS vxx_close_adj,
    round(100 * (adj_close / first_value(adj_close) OVER (ORDER BY month_start) - 1), 1) AS change_pct
FROM month_end
ORDER BY month_start
⌘/Ctrl + Enter