STRASMORE/EXPLORE 2,985 QUERIES

rendement_net_cto

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-10-03, from us-dividend-tax-for-french-investors.

as of ranking 8×4read in context →
rendement_net_cto — 8 rows by 4 columns, computed from US exchange, SIP and OPRA data.
tickerrendement_brut_pctapres_retenue_us_pctnet_pfu_pct
MO6.375.414.32
PFE6.195.264.19
VZ6.095.174.13
T4.573.883.1
CVX3.412.92.31
IBM3.032.572.05
XOM2.512.141.7
KO2.452.081.66
Rows × columns
8 × 4
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 rendement_net_cto, derived from the stored result.
ColumnTypeRangeNotes
ticker text 8 distinct values (CVX, IBM, KO…)
rendement_brut_pct number 2.45 to 6.37 percent
apres_retenue_us_pct number 2.08 to 5.41 percent
net_pfu_pct number 1.66 to 4.32 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
versements AS
(
    SELECT
        ticker,
        ex_dividend_date,
        max(toFloat64(cash_amount)) AS montant
    FROM global_markets.stocks_dividends
    WHERE ticker IN ('T', 'VZ', 'MO', 'XOM', 'CVX', 'KO', 'PFE', 'IBM')
      AND ticker NOT IN ('SPCX')
      AND currency = 'USD'
      AND ex_dividend_date <= today()
    GROUP BY ticker, ex_dividend_date
    ORDER BY ticker, ex_dividend_date DESC
    LIMIT 4 BY ticker
),
douze_mois AS
(
    SELECT
        ticker,
        sum(montant) AS dividende_12m,
        count()      AS nb_versements
    FROM versements
    GROUP BY ticker
    HAVING nb_versements = 4
),
cours AS
(
    SELECT
        ticker,
        argMax(toFloat64(close), date) AS dernier_cours
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('T', 'VZ', 'MO', 'XOM', 'CVX', 'KO', 'PFE', 'IBM')
      AND date >= today() - 30
    GROUP BY ticker
)
SELECT
    d.ticker                                                  AS ticker,
    round(100 * d.dividende_12m / c.dernier_cours, 2)         AS rendement_brut_pct,
    round(100 * d.dividende_12m * 0.85 / c.dernier_cours, 2)  AS apres_retenue_us_pct,
    round(100 * d.dividende_12m * 0.678 / c.dernier_cours, 2) AS net_pfu_pct
FROM douze_mois AS d
INNER JOIN cours AS c ON c.ticker = d.ticker
ORDER BY rendement_brut_pct DESC
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.