Climate Risk and Carbon Emissions¶
The Climate Risk and Carbon Emissions listing holds ten views under the EMMI schema, each
documented in its own section below.
- Public equity carbon emissions
- Public equity climate risk
- Public equity temperature alignment
- Public equity projected carbon emissions
- Public equity projected climate risk
- Fixed income carbon emissions
- Fixed income climate risk
- Fixed income temperature alignment
- Fixed income projected carbon emissions
- Fixed income projected climate risk
Public equity carbon emissions¶
EMMI.PUBLIC_EQUITY_CARBON_EMISSIONS holds Scope 1, 2 and 3 emissions for
listed companies, one row per company per fiscal year.
Primary key: ISIN, FISCAL_END_DATE.
Columns¶
| Column | Type | Unit | Example | Description |
|---|---|---|---|---|
ISIN |
string | IT0003128367 | International Securities Identification Number of the listing. | |
FISCAL_END_DATE |
date (yyyy-mm-dd) | Date | 2024-12-31 | Fiscal year end date for the company. |
NAME |
string | Enel SpA | Name of the company. | |
COUNTRY |
string | Italy | Country the company is in. | |
FACTSET_INDUSTRY |
string | Electric Utilities | FactSet Industry classification of the equity. | |
SCOPE1_EMISSIONS |
float / null | tCO2e | 20210000 | Scope 1 emissions by the entity. |
SCOPE2_EMISSIONS |
float / null | tCO2e | 4900000 | Scope 2 emissions by the entity. |
SCOPE3_EMISSIONS |
float / null | tCO2e | 46260000 | Scope 3 emissions by the entity. |
SCOPE1_PCAF |
int between 1 and 5 / null | Score | 2 | The PCAF score for Scope 1. PCAF is a method for recognising the quality of estimation. 1 = reported and verified, 2 = reported, 3 = estimated using historical emissions, 4 = estimated with financials only. |
SCOPE2_PCAF |
int between 1 and 5 / null | Score | 2 | The PCAF score for Scope 2. PCAF is a method for recognising the quality of estimation. 1 = reported and verified, 2 = reported, 3 = estimated using historical emissions, 4 = estimated with financials only. |
SCOPE3_PCAF |
int between 1 and 5 / null | Score | 3 | The PCAF score for Scope 3. PCAF is a method for recognising the quality of estimation. 1 = reported and verified, 2 = reported, 3 = estimated using historical emissions, 4 = estimated with financials only. |
SCOPE1_EMISSION_REPORTING_STATUS |
string | reported | Status of emissions reporting for Scope 1. reported, estimated or unavailable. |
|
SCOPE2_EMISSION_REPORTING_STATUS |
string | reported | Status of emissions reporting for Scope 2. reported, estimated or unavailable. |
|
SCOPE3_EMISSION_REPORTING_STATUS |
string | estimated | Status of emissions reporting for Scope 3. reported, estimated or unavailable. |
|
WACI_S1 |
float | tCO2e per million revenue | 246.7 | Weighted Average Carbon Intensity of Scope 1. Emissions as a factor of company revenue. |
WACI_S12 |
float | tCO2e per million revenue | 306.5 | Weighted Average Carbon Intensity of Scopes 1 + 2. Emissions as a factor of company revenue. |
WACI_S123 |
float | tCO2e per million revenue | 871.2 | Weighted Average Carbon Intensity of Scopes 1 + 2 + 3. Emissions as a factor of company revenue. |
EVIC_CARBON_INTENSITY_S12 |
float | tCO2e per million EVIC | 123.45 | An intensity measure of Scope 1 and 2 emissions, as a factor of EVIC. |
EVIC_CARBON_INTENSITY_S123 |
float | tCO2e per million EVIC | 123.45 | An intensity measure of all emissions, as a factor of EVIC. |
Examples¶
Emissions history for Enel since 2020.
SELECT ISIN, FISCAL_END_DATE, NAME, SCOPE1_EMISSIONS, SCOPE2_EMISSIONS, SCOPE3_EMISSIONS,
SCOPE1_EMISSION_REPORTING_STATUS
FROM EMMI.PUBLIC_EQUITY_CARBON_EMISSIONS
WHERE ISIN = 'IT0003128367'
ORDER BY FISCAL_END_DATE;
| ISIN | FISCAL_END_DATE | NAME | SCOPE1_EMISSIONS | SCOPE2_EMISSIONS | SCOPE3_EMISSIONS | SCOPE1_EMISSION_REPORTING_STATUS |
|---|---|---|---|---|---|---|
| IT0003128367 | 2020-12-31 | Enel SpA | 45260000 | 2250000 | 47700000 | reported |
| IT0003128367 | 2021-12-31 | Enel SpA | 51570000 | 7110000 | 69150000 | reported |
| IT0003128367 | 2022-12-31 | Enel SpA | 53070000 | 6060000 | 85268434 | reported |
| IT0003128367 | 2023-12-31 | Enel SpA | 34510557 | 4506161 | 56533423 | reported |
| IT0003128367 | 2024-12-31 | Enel SpA | 20210000 | 4900000 | 46260000 | reported |
| IT0003128367 | 2025-12-31 | Enel SpA | 19706800 | 4857722 | 47641505 | estimated |
Fiscal year 2024 emissions for a five-stock portfolio.
WITH MY_HOLDINGS AS (
SELECT * FROM VALUES
('IT0003128367', 0.30),
('CH0038863350', 0.25),
('DE0007236101', 0.20),
('NL0010273215', 0.15),
('DK0010244508', 0.10)
AS H (ISIN, WEIGHT)
)
SELECT h.ISIN, h.WEIGHT, e.NAME, e.FACTSET_INDUSTRY,
e.SCOPE1_EMISSIONS, e.SCOPE2_EMISSIONS, e.SCOPE3_EMISSIONS,
ROUND(e.WACI_S12, 1) AS WACI_S12
FROM MY_HOLDINGS h
JOIN EMMI.PUBLIC_EQUITY_CARBON_EMISSIONS e ON e.ISIN = h.ISIN
WHERE YEAR(e.FISCAL_END_DATE) = 2024
ORDER BY h.WEIGHT DESC;
| ISIN | WEIGHT | NAME | FACTSET_INDUSTRY | SCOPE1_EMISSIONS | SCOPE2_EMISSIONS | SCOPE3_EMISSIONS | WACI_S12 |
|---|---|---|---|---|---|---|---|
| IT0003128367 | 0.30 | Enel SpA | Electric Utilities | 20210000 | 4900000 | 46260000 | 306.5 |
| CH0038863350 | 0.25 | Nestlé SA | Food: Major Diversified | 3080000 | 260000 | 71350000 | 31.6 |
| DE0007236101 | 0.20 | Siemens AG | Industrial Machinery | 347000 | 94000 | 416758000 | 5.4 |
| NL0010273215 | 0.15 | ASML Holding NV | Semiconductors | 23500 | 9300 | 12038800 | 1.1 |
| DK0010244508 | 0.10 | A.P. Møller-Mærsk A/S | Marine Shipping | 33939000 | 356000 | 49232000 | 614.3 |
Weighted carbon intensity of the portfolio, and how much of it reports Scope 1.
WITH MY_HOLDINGS AS (
SELECT * FROM VALUES
('IT0003128367', 0.30),
('CH0038863350', 0.25),
('DE0007236101', 0.20),
('NL0010273215', 0.15),
('DK0010244508', 0.10)
AS H (ISIN, WEIGHT)
)
SELECT ROUND(SUM(h.WEIGHT * e.WACI_S12), 1) AS PORTFOLIO_WACI_S12,
ROUND(SUM(h.WEIGHT * e.WACI_S123), 1) AS PORTFOLIO_WACI_S123,
SUM(IFF(e.SCOPE1_EMISSION_REPORTING_STATUS = 'reported', h.WEIGHT, 0)) AS WEIGHT_WITH_REPORTED_SCOPE1
FROM MY_HOLDINGS h
JOIN EMMI.PUBLIC_EQUITY_CARBON_EMISSIONS e ON e.ISIN = h.ISIN
WHERE YEAR(e.FISCAL_END_DATE) = 2024;
| PORTFOLIO_WACI_S12 | PORTFOLIO_WACI_S123 | WEIGHT_WITH_REPORTED_SCOPE1 |
|---|---|---|
| 162.5 | 1670.0 | 1.00 |
Public equity climate risk¶
EMMI.PUBLIC_EQUITY_CLIMATE_RISK holds transition and physical value at risk
for listed companies, one row per company, fiscal year, risk year and
scenario. Risk years are the fiscal year itself plus 2030, 2035, 2040, 2045
and 2050.
Primary key: ISIN, FISCAL_END_DATE, RISK_YEAR, TRANSITION_RISK_SCENARIO.
Value at risk and reduction columns are decimal fractions: 1 = 100%, 0.5 = 50%, 0 = 0%.
Columns¶
| Column | Type | Unit | Example | Description |
|---|---|---|---|---|
ISIN |
string | IT0003128367 | International Securities Identification Number of the listing. | |
FISCAL_END_DATE |
date (yyyy-mm-dd) | Date | 2024-12-31 | Fiscal year end date for the company. |
RISK_YEAR |
int | Year | 2030 | Year for emission reductions, transition and physical risk analysis. |
TRANSITION_RISK_SCENARIO |
string | NGFS_NetZero2050 | Which climate scenario was used to create the row. See Climate scenarios for the full list. | |
NAME |
string | Enel SpA | Name of the company. | |
EMISSIONS_USED |
string | reported | Whether the analysis used reported, estimated or mix-of-estimated-reported emissions. |
|
TRANSITION_VAR |
float | % | 0.288 | Value at risk based on carbon pricing in the scenario at the risk year. Also called Potential Carbon Liability (PCL). |
REDUCTION |
float | % | 0.416 | Emission reduction required for the entity's Scope 1+2+3 emissions to be aligned with the scenario at the risk year. |
ACUTE_PHYSICAL_VAR |
float | % | 0.001 | Value at risk based on acute climate events caused by the baseline risk and anthropogenic climate change in the scenario at the risk year. |
CHRONIC_PHYSICAL_VAR |
float | % | 0.000 | Value at risk based on chronic climate events caused by the baseline risk and anthropogenic climate change in the scenario at the risk year. |
BASELINE_PHYSICAL_VAR |
float | % | 0.000 | Non anthropogenic physical risk. |
TOTAL_PHYSICAL_VAR |
float | % | 0.001 | Potential capital loss based on acute and chronic physical risk. |
TOTAL_CLIMATE_VAR |
float | % | 0.289 | Total value at risk based on transition and physical risk (baseline and anthropogenic) for the given scenario and risk year. |
Examples¶
Enel's climate risk at each risk year under the NGFS Net Zero 2050 scenario.
SELECT RISK_YEAR,
ROUND(REDUCTION, 3) AS REDUCTION,
ROUND(TRANSITION_VAR, 3) AS TRANSITION_VAR,
ROUND(TOTAL_PHYSICAL_VAR, 3) AS TOTAL_PHYSICAL_VAR,
ROUND(TOTAL_CLIMATE_VAR, 3) AS TOTAL_CLIMATE_VAR
FROM EMMI.PUBLIC_EQUITY_CLIMATE_RISK
WHERE ISIN = 'IT0003128367'
AND FISCAL_END_DATE = '2024-12-31'
AND TRANSITION_RISK_SCENARIO = 'NGFS_NetZero2050'
ORDER BY RISK_YEAR;
| RISK_YEAR | REDUCTION | TRANSITION_VAR | TOTAL_PHYSICAL_VAR | TOTAL_CLIMATE_VAR |
|---|---|---|---|---|
| 2024 | 0.299 | 0.091 | 0.000 | 0.091 |
| 2030 | 0.416 | 0.288 | 0.001 | 0.289 |
| 2035 | 0.527 | 0.587 | 0.002 | 0.589 |
| 2040 | 0.835 | 1.000 | 0.002 | 1.000 |
| 2045 | 0.959 | 1.000 | 0.003 | 1.000 |
| 2050 | 0.966 | 1.000 | 0.004 | 1.000 |
Enel's 2030 transition risk under every scenario, highest first.
SELECT TRANSITION_RISK_SCENARIO,
ROUND(REDUCTION, 3) AS REDUCTION,
ROUND(TRANSITION_VAR, 3) AS TRANSITION_VAR,
ROUND(TOTAL_CLIMATE_VAR, 3) AS TOTAL_CLIMATE_VAR
FROM EMMI.PUBLIC_EQUITY_CLIMATE_RISK
WHERE ISIN = 'IT0003128367'
AND FISCAL_END_DATE = '2024-12-31'
AND RISK_YEAR = 2030
ORDER BY TRANSITION_VAR DESC;
| TRANSITION_RISK_SCENARIO | REDUCTION | TRANSITION_VAR | TOTAL_CLIMATE_VAR |
|---|---|---|---|
| IPCC_AR6_HighRen | 0.754 | 0.522 | 0.523 |
| IPCC_AR6_1p5NegEm | 0.743 | 0.515 | 0.516 |
| IPCC_AR6_SustDev | 0.691 | 0.479 | 0.480 |
| IPCC_AR6_LowDemand | 0.712 | 0.298 | 0.299 |
| NGFS_NetZero2050 | 0.416 | 0.288 | 0.289 |
| NGFS_LowDemand | 0.360 | 0.151 | 0.152 |
| IPCC_AR6_ModAction | 0.452 | 0.144 | 0.145 |
| NGFS_NDC | 0.310 | 0.099 | 0.100 |
| IPR_FPS | 0.389 | 0.070 | 0.071 |
| IPCC_AR6_Gradual | 0.280 | 0.034 | 0.035 |
| NGFS_TwoDeg | 0.109 | 0.013 | 0.014 |
| IPCC_AR6_BAU | 0.154 | 0.006 | 0.007 |
| IPCC_AR6_Current | 0.150 | 0.006 | 0.007 |
| NGFS_Delayed | 0.001 | 0.000 | 0.001 |
| NGFS_Fragmented | 0.001 | 0.000 | 0.001 |
| NGFS_Current | 0.001 | 0.000 | 0.001 |
Weighted value at risk for a five-stock portfolio at 2030 and 2050.
WITH MY_HOLDINGS AS (
SELECT * FROM VALUES
('IT0003128367', 0.30),
('CH0038863350', 0.25),
('DE0007236101', 0.20),
('NL0010273215', 0.15),
('DK0010244508', 0.10)
AS H (ISIN, WEIGHT)
)
SELECT r.RISK_YEAR,
ROUND(SUM(h.WEIGHT * r.TRANSITION_VAR), 4) AS PORTFOLIO_TRANSITION_VAR,
ROUND(SUM(h.WEIGHT * r.TOTAL_PHYSICAL_VAR), 4) AS PORTFOLIO_PHYSICAL_VAR,
ROUND(SUM(h.WEIGHT * r.TOTAL_CLIMATE_VAR), 4) AS PORTFOLIO_TOTAL_CLIMATE_VAR
FROM MY_HOLDINGS h
JOIN EMMI.PUBLIC_EQUITY_CLIMATE_RISK r ON r.ISIN = h.ISIN
WHERE YEAR(r.FISCAL_END_DATE) = 2024
AND r.TRANSITION_RISK_SCENARIO = 'NGFS_NetZero2050'
AND r.RISK_YEAR IN (2030, 2050)
GROUP BY r.RISK_YEAR
ORDER BY r.RISK_YEAR;
| RISK_YEAR | PORTFOLIO_TRANSITION_VAR | PORTFOLIO_PHYSICAL_VAR | PORTFOLIO_TOTAL_CLIMATE_VAR |
|---|---|---|---|
| 2030 | 0.4323 | 0.0029 | 0.4343 |
| 2050 | 0.9245 | 0.0155 | 0.9261 |
Public equity temperature alignment¶
EMMI.PUBLIC_EQUITY_TEMPERATURE_ALIGNMENT holds the implied temperature
alignment of listed companies, one row per company, fiscal year and risk year.
Primary key: ISIN, FISCAL_END_DATE, RISK_YEAR.
Columns¶
| Column | Type | Unit | Example | Description |
|---|---|---|---|---|
ISIN |
string | IT0003128367 | International Securities Identification Number of the listing. | |
FISCAL_END_DATE |
date (yyyy-mm-dd) | Date | 2024-12-31 | Fiscal year end date for the company. |
RISK_YEAR |
int | Year | 2030 | Year the alignment is assessed at. The fiscal year itself plus 2030, 2035, 2040, 2045 and 2050. |
NAME |
string | Enel SpA | Name of the company. | |
TEMPERATURE_ALIGNMENT |
float | °C | 1.69 | Temperature alignment indicates the global warming scenario that a company's current carbon footprint is consistent with. |
Examples¶
Enel's temperature alignment at each risk year.
SELECT RISK_YEAR, ROUND(TEMPERATURE_ALIGNMENT, 2) AS TEMPERATURE_ALIGNMENT
FROM EMMI.PUBLIC_EQUITY_TEMPERATURE_ALIGNMENT
WHERE ISIN = 'IT0003128367'
AND FISCAL_END_DATE = '2024-12-31'
ORDER BY RISK_YEAR;
| RISK_YEAR | TEMPERATURE_ALIGNMENT |
|---|---|
| 2024 | 1.53 |
| 2030 | 1.69 |
| 2035 | 1.77 |
| 2040 | 1.84 |
| 2045 | 1.94 |
| 2050 | 2.11 |
Temperature alignment at 2050 alongside Scope 1 + 2 emissions for a five-stock portfolio.
WITH MY_HOLDINGS AS (
SELECT * FROM VALUES
('IT0003128367', 0.30),
('CH0038863350', 0.25),
('DE0007236101', 0.20),
('NL0010273215', 0.15),
('DK0010244508', 0.10)
AS H (ISIN, WEIGHT)
)
SELECT h.ISIN, e.NAME, h.WEIGHT, e.SCOPE1_EMISSIONS + e.SCOPE2_EMISSIONS AS SCOPE12_EMISSIONS,
ROUND(t.TEMPERATURE_ALIGNMENT, 2) AS TEMPERATURE_ALIGNMENT
FROM MY_HOLDINGS h
JOIN EMMI.PUBLIC_EQUITY_CARBON_EMISSIONS e ON e.ISIN = h.ISIN
JOIN EMMI.PUBLIC_EQUITY_TEMPERATURE_ALIGNMENT t
ON t.ISIN = e.ISIN AND t.FISCAL_END_DATE = e.FISCAL_END_DATE
WHERE YEAR(e.FISCAL_END_DATE) = 2024
AND t.RISK_YEAR = 2050
ORDER BY t.TEMPERATURE_ALIGNMENT;
| ISIN | NAME | WEIGHT | SCOPE12_EMISSIONS | TEMPERATURE_ALIGNMENT |
|---|---|---|---|---|
| NL0010273215 | ASML Holding NV | 0.15 | 32800 | 1.67 |
| CH0038863350 | Nestlé SA | 0.25 | 3340000 | 1.99 |
| IT0003128367 | Enel SpA | 0.30 | 25110000 | 2.11 |
| DK0010244508 | A.P. Møller-Mærsk A/S | 0.10 | 34295000 | 3.81 |
| DE0007236101 | Siemens AG | 0.20 | 441000 | 4.00 |
Weighted temperature alignment of the portfolio at 2050, and the share of it aligned to 2°C or better.
WITH MY_HOLDINGS AS (
SELECT * FROM VALUES
('IT0003128367', 0.30),
('CH0038863350', 0.25),
('DE0007236101', 0.20),
('NL0010273215', 0.15),
('DK0010244508', 0.10)
AS H (ISIN, WEIGHT)
)
SELECT ROUND(SUM(h.WEIGHT * t.TEMPERATURE_ALIGNMENT) / SUM(h.WEIGHT), 2) AS PORTFOLIO_TEMPERATURE_ALIGNMENT,
ROUND(SUM(IFF(t.TEMPERATURE_ALIGNMENT <= 2.0, h.WEIGHT, 0)) / SUM(h.WEIGHT), 2) AS WEIGHT_ALIGNED_TO_2C
FROM MY_HOLDINGS h
JOIN EMMI.PUBLIC_EQUITY_TEMPERATURE_ALIGNMENT t ON t.ISIN = h.ISIN
WHERE YEAR(t.FISCAL_END_DATE) = 2024
AND t.RISK_YEAR = 2050;
| PORTFOLIO_TEMPERATURE_ALIGNMENT | WEIGHT_ALIGNED_TO_2C |
|---|---|
| 2.56 | 0.40 |
Public equity projected carbon emissions¶
EMMI.PUBLIC_EQUITY_PROJECTED_CARBON_EMISSIONS holds a company's emissions in
future years, one row per company, fiscal year, emissions year and projection
type. Two kinds of projection are provided:
- Target. The company's own published SBTi target, taken at face value. Emissions move in a straight line from the target's baseline year to its target year and stay there afterwards.
- Forecast. Emmi's forecast of the company's Scope 1, 2 and 3 emissions to 2030, from its emissions history. The forecast is a probabilistic model and the median path is provided.
Targets and forecasts are two different projections of the same company. Do not sum or combine them.
Primary key: ISIN, FISCAL_END_DATE, EMISSIONS_YEAR, PROJECTION_TYPE.
Several fiscal years can be active at once, so filter on FISCAL_END_DATE to
read one trajectory per company.
Columns¶
| Column | Type | Unit | Example | Description |
|---|---|---|---|---|
ISIN |
string | IT0003128367 | International Securities Identification Number of the listing. | |
FISCAL_END_DATE |
date (yyyy-mm-dd) | Date | 2024-12-31 | Fiscal year end date for the company. |
EMISSIONS_YEAR |
int | Year | 2030 | The year that these emissions are forecast/targets for. |
PROJECTION_ID |
int | 0 | Unique identifier for the projection method. 0 for targets, 1 for forecasts. | |
PROJECTION_TYPE |
string | Target | Whether the projected emissions were generated using targets or forecasts. Target or Forecast. |
|
PROJECTION_METHOD |
string | Stepwise linear glide path | The specific method used to generate the projected emissions. Stepwise linear glide path for targets (a straight line between the target's baseline and target years), Monte Carlo Forecast for forecasts. |
|
NAME |
string | Enel SpA | Name of the company. | |
SCOPE1_EMISSIONS |
float / null | tCO2e | 19795443 | Projected Scope 1 emissions of the entity at the emissions year. |
SCOPE2_EMISSIONS |
float / null | tCO2e | 977226 | Projected Scope 2 emissions of the entity at the emissions year. |
SCOPE3_EMISSIONS |
float / null | tCO2e | 20980347 | Projected Scope 3 emissions of the entity at the emissions year. |
TEMP_ALIGNMENT |
float / null | °C | 1.5 | Temperature alignment of the projected emissions trajectory. |
Examples¶
Enel's emissions under its own targets at each risk year.
SELECT PROJECTION_TYPE, EMISSIONS_YEAR, SCOPE1_EMISSIONS, SCOPE2_EMISSIONS, SCOPE3_EMISSIONS,
ROUND(TEMP_ALIGNMENT, 2) AS TEMP_ALIGNMENT
FROM EMMI.PUBLIC_EQUITY_PROJECTED_CARBON_EMISSIONS
WHERE ISIN = 'IT0003128367'
AND FISCAL_END_DATE = '2024-12-31'
AND PROJECTION_TYPE = 'Target'
AND EMISSIONS_YEAR IN (2025, 2030, 2035, 2040, 2045, 2050)
ORDER BY EMISSIONS_YEAR;
| PROJECTION_TYPE | EMISSIONS_YEAR | SCOPE1_EMISSIONS | SCOPE2_EMISSIONS | SCOPE3_EMISSIONS | TEMP_ALIGNMENT |
|---|---|---|---|---|---|
| Target | 2025 | 29100992.91 | 1436605.52 | 30842903.06 | 1.50 |
| Target | 2030 | 19795442.85 | 977225.85 | 20980346.85 | 1.50 |
| Target | 2035 | 12097215.08 | 597193.58 | 11655748.25 | 1.50 |
| Target | 2040 | 4398987.30 | 217161.30 | 2331149.65 | 1.50 |
| Target | 2045 | 4398987.30 | 217161.30 | 2331149.65 | 1.50 |
| Target | 2050 | 4398987.30 | 217161.30 | 2331149.65 | 1.54 |
Enel's target against Emmi's forecast at 2030.
SELECT PROJECTION_ID, PROJECTION_TYPE, PROJECTION_METHOD, EMISSIONS_YEAR,
SCOPE1_EMISSIONS, SCOPE2_EMISSIONS, SCOPE3_EMISSIONS,
SCOPE1_EMISSIONS + SCOPE2_EMISSIONS AS SCOPE12_EMISSIONS
FROM EMMI.PUBLIC_EQUITY_PROJECTED_CARBON_EMISSIONS
WHERE ISIN = 'IT0003128367'
AND FISCAL_END_DATE = '2024-12-31'
AND EMISSIONS_YEAR = 2030
ORDER BY PROJECTION_ID;
| PROJECTION_ID | PROJECTION_TYPE | PROJECTION_METHOD | EMISSIONS_YEAR | SCOPE1_EMISSIONS | SCOPE2_EMISSIONS | SCOPE3_EMISSIONS | SCOPE12_EMISSIONS |
|---|---|---|---|---|---|---|---|
| 0 | Target | Stepwise linear glide path | 2030 | 19795442.85 | 977225.85 | 20980346.85 | 20772668.70 |
| 1 | Forecast | Monte Carlo Forecast | 2030 | 3223417.34 | 2751315.11 | 23928635.46 | 5974732.45 |
Current, target and forecast Scope 1 + 2 at 2030 for a five-stock portfolio.
WITH MY_HOLDINGS AS (
SELECT * FROM VALUES
('IT0003128367', 0.30),
('CH0038863350', 0.25),
('DE0007236101', 0.20),
('NL0010273215', 0.15),
('DK0010244508', 0.10)
AS H (ISIN, WEIGHT)
)
SELECT h.ISIN, e.NAME,
e.SCOPE1_EMISSIONS + e.SCOPE2_EMISSIONS AS CURRENT_SCOPE12,
t.SCOPE1_EMISSIONS + t.SCOPE2_EMISSIONS AS TARGET_SCOPE12_2030,
f.SCOPE1_EMISSIONS + f.SCOPE2_EMISSIONS AS FORECAST_SCOPE12_2030
FROM MY_HOLDINGS h
JOIN EMMI.PUBLIC_EQUITY_CARBON_EMISSIONS e ON e.ISIN = h.ISIN
LEFT JOIN EMMI.PUBLIC_EQUITY_PROJECTED_CARBON_EMISSIONS t
ON t.ISIN = e.ISIN AND t.FISCAL_END_DATE = e.FISCAL_END_DATE
AND t.PROJECTION_TYPE = 'Target' AND t.EMISSIONS_YEAR = 2030
LEFT JOIN EMMI.PUBLIC_EQUITY_PROJECTED_CARBON_EMISSIONS f
ON f.ISIN = e.ISIN AND f.FISCAL_END_DATE = e.FISCAL_END_DATE
AND f.PROJECTION_TYPE = 'Forecast' AND f.EMISSIONS_YEAR = 2030
WHERE YEAR(e.FISCAL_END_DATE) = 2024
ORDER BY h.WEIGHT DESC;
| ISIN | NAME | CURRENT_SCOPE12 | TARGET_SCOPE12_2030 | FORECAST_SCOPE12_2030 |
|---|---|---|---|---|
| IT0003128367 | Enel SpA | 25110000 | 20772668.70 | 5974732.45 |
| CH0038863350 | Nestlé SA | 3340000 | 2563617.00 | 2714416.96 |
| DE0007236101 | Siemens AG | 441000 | 73104.90 | 228223.81 |
| NL0010273215 | ASML Holding NV | 32800 | 111857.25 | 48068.80 |
| DK0010244508 | A.P. Møller-Mærsk A/S | 34295000 | 21594853.33 | 33130029.36 |
Public equity projected climate risk¶
EMMI.PUBLIC_EQUITY_PROJECTED_CLIMATE_RISK holds transition risk computed on a
company's projected emissions rather than its current emissions, one row per
company, fiscal year, risk year, projection type and scenario. Risk years are
2025, 2030, 2035, 2040, 2045 and 2050.
See Public equity projected carbon emissions
for what Target and Forecast mean.
Primary key: ISIN, FISCAL_END_DATE, RISK_YEAR, PROJECTION_TYPE,
TRANSITION_RISK_SCENARIO.
Value at risk and reduction columns are decimal fractions: 1 = 100%, 0.5 = 50%, 0 = 0%.
Columns¶
| Column | Type | Unit | Example | Description |
|---|---|---|---|---|
ISIN |
string | IT0003128367 | International Securities Identification Number of the listing. | |
FISCAL_END_DATE |
date (yyyy-mm-dd) | Date | 2024-12-31 | Fiscal year end date for the company. |
RISK_YEAR |
int | Year | 2030 | The forecast/target year the risk analysis is done for. |
TRANSITION_RISK_SCENARIO |
string | NGFS_NetZero2050 | Which climate scenario was used to create the row. See Climate scenarios for the full list. | |
PROJECTION_ID |
int | 0 | Unique identifier for the projection method. 0 for targets, 1 for forecasts. | |
PROJECTION_TYPE |
string | Target | Whether the projected emissions were generated using targets or forecasts. Target or Forecast. |
|
PROJECTION_METHOD |
string | Stepwise linear glide path | The specific method used to generate the projected emissions. Stepwise linear glide path for targets, Monte Carlo Forecast for forecasts. |
|
NAME |
string | Enel SpA | Name of the company. | |
TRANSITION_VAR |
float / null | % | 0.001 | Value at risk based on carbon pricing in the scenario at the risk year, computed on the projected emissions. |
REDUCTION |
float / null | % | 0.002 | Emission reduction still required to meet the scenario carbon budget at the risk year, after the projected emissions are taken into account. 0 when the projection is within budget. |
Examples¶
Transition risk left at 2030 if Enel meets its targets, under three NGFS scenarios.
SELECT TRANSITION_RISK_SCENARIO,
ROUND(REDUCTION, 3) AS REDUCTION,
ROUND(TRANSITION_VAR, 3) AS TRANSITION_VAR
FROM EMMI.PUBLIC_EQUITY_PROJECTED_CLIMATE_RISK
WHERE ISIN = 'IT0003128367'
AND FISCAL_END_DATE = '2024-12-31'
AND PROJECTION_TYPE = 'Target'
AND RISK_YEAR = 2030
AND TRANSITION_RISK_SCENARIO IN ('NGFS_NetZero2050', 'NGFS_TwoDeg', 'NGFS_Current')
ORDER BY TRANSITION_RISK_SCENARIO;
| TRANSITION_RISK_SCENARIO | REDUCTION | TRANSITION_VAR |
|---|---|---|
| NGFS_Current | 0.000 | 0.000 |
| NGFS_NetZero2050 | 0.002 | 0.001 |
| NGFS_TwoDeg | 0.000 | 0.000 |
Reduction required today against reduction still required if targets are met, at 2030 under NGFS Net Zero 2050, for each stock in a portfolio.
WITH MY_HOLDINGS AS (
SELECT * FROM VALUES
('IT0003128367', 0.30),
('CH0038863350', 0.25),
('DE0007236101', 0.20),
('NL0010273215', 0.15),
('DK0010244508', 0.10)
AS H (ISIN, WEIGHT)
)
SELECT h.ISIN,
ROUND(c.REDUCTION, 3) AS CURRENT_REDUCTION,
ROUND(p.REDUCTION, 3) AS PROJECTED_REDUCTION,
ROUND(p.TRANSITION_VAR, 3) AS PROJECTED_TRANSITION_VAR
FROM MY_HOLDINGS h
JOIN EMMI.PUBLIC_EQUITY_PROJECTED_CLIMATE_RISK p ON p.ISIN = h.ISIN
JOIN EMMI.PUBLIC_EQUITY_CLIMATE_RISK c
ON c.ISIN = p.ISIN
AND c.FISCAL_END_DATE = p.FISCAL_END_DATE
AND c.RISK_YEAR = p.RISK_YEAR
AND c.TRANSITION_RISK_SCENARIO = p.TRANSITION_RISK_SCENARIO
WHERE YEAR(p.FISCAL_END_DATE) = 2024
AND p.PROJECTION_TYPE = 'Target'
AND p.RISK_YEAR = 2030
AND p.TRANSITION_RISK_SCENARIO = 'NGFS_NetZero2050'
ORDER BY p.REDUCTION DESC;
| ISIN | CURRENT_REDUCTION | PROJECTED_REDUCTION | PROJECTED_TRANSITION_VAR |
|---|---|---|---|
| DE0007236101 | 0.886 | 0.850 | 1.000 |
| CH0038863350 | 0.486 | 0.356 | 0.174 |
| NL0010273215 | 0.320 | 0.324 | 0.066 |
| DK0010244508 | 0.484 | 0.184 | 0.147 |
| IT0003128367 | 0.416 | 0.002 | 0.001 |
Weighted transition risk of the portfolio at 2030 today, against targets and against forecasts.
WITH MY_HOLDINGS AS (
SELECT * FROM VALUES
('IT0003128367', 0.30),
('CH0038863350', 0.25),
('DE0007236101', 0.20),
('NL0010273215', 0.15),
('DK0010244508', 0.10)
AS H (ISIN, WEIGHT)
)
SELECT p.PROJECTION_TYPE,
ROUND(SUM(h.WEIGHT * c.TRANSITION_VAR), 4) AS CURRENT_TRANSITION_VAR,
ROUND(SUM(h.WEIGHT * p.TRANSITION_VAR), 4) AS PROJECTED_TRANSITION_VAR
FROM MY_HOLDINGS h
JOIN EMMI.PUBLIC_EQUITY_PROJECTED_CLIMATE_RISK p ON p.ISIN = h.ISIN
JOIN EMMI.PUBLIC_EQUITY_CLIMATE_RISK c
ON c.ISIN = p.ISIN
AND c.FISCAL_END_DATE = p.FISCAL_END_DATE
AND c.RISK_YEAR = p.RISK_YEAR
AND c.TRANSITION_RISK_SCENARIO = p.TRANSITION_RISK_SCENARIO
WHERE YEAR(p.FISCAL_END_DATE) = 2024
AND p.RISK_YEAR = 2030
AND p.TRANSITION_RISK_SCENARIO = 'NGFS_NetZero2050'
GROUP BY p.PROJECTION_TYPE
ORDER BY p.PROJECTION_TYPE;
| PROJECTION_TYPE | CURRENT_TRANSITION_VAR | PROJECTED_TRANSITION_VAR |
|---|---|---|
| Forecast | 0.4323 | 0.3190 |
| Target | 0.4323 | 0.2685 |
Fixed income carbon emissions¶
EMMI.FIXED_INCOME_CARBON_EMISSIONS holds the financed Scope 1, 2 and 3
emissions of each bond, with one row per bond per fiscal year. Note that government bonds carry Scope 1 only.
Primary key: ISIN, FISCAL_END_DATE.
Columns¶
| Column | Type | Unit | Example | Description |
|---|---|---|---|---|
ISIN |
string | FR0013455821 | International Securities Identification Number of the bond. | |
FISCAL_END_DATE |
date (yyyy-mm-dd) | Date | 2024-12-31 | Fiscal year end date for the underlying equity of the bond. |
DEBT_TYPE |
string | Corporate | The type of bond. Corporate or Government. |
|
BOND_TYPE |
string | Sovereign | Bond security type. Corporate rows are Corporate or Securitized/Collateralized. Government rows are Sovereign, Agency, Local Authority/Political Division or Supranational. |
|
NAME |
string | ENGIE SA 1.25% 24-OCT-2041 | Name of the bond. | |
COUNTRY |
string | France | Country of the underlying equity of the bond. | |
FACTSET_INDUSTRY |
string | Electric Utilities | Industry of the underlying equity of the bond. Sovereign or Supranational for government rows. |
|
SCOPE1_EMISSIONS |
float / null | tCO2e | 135031.36 | Scope 1 emissions attributed to the bond. For government rows, the bond's share of the country's national emissions. |
SCOPE2_EMISSIONS |
float / null | tCO2e | 4975.83 | Scope 2 emissions attributed to the bond. Empty for government rows. |
SCOPE3_EMISSIONS |
float / null | tCO2e | 828834.69 | Scope 3 emissions attributed to the bond. Empty for government rows. |
SCOPE1_PCAF |
int between 1 and 5 / null | Score | 2 | The PCAF score for Scope 1. PCAF is a method for recognising the quality of estimation. 1 = reported and verified, 2 = reported, 3 = estimated using historical emissions, 4 = estimated with financials only. |
SCOPE2_PCAF |
int between 1 and 5 / null | Score | 2 | The PCAF score for Scope 2. PCAF is a method for recognising the quality of estimation. 1 = reported and verified, 2 = reported, 3 = estimated using historical emissions, 4 = estimated with financials only. Empty for government rows. |
SCOPE3_PCAF |
int between 1 and 5 / null | Score | 2 | The PCAF score for Scope 3. PCAF is a method for recognising the quality of estimation. 1 = reported and verified, 2 = reported, 3 = estimated using historical emissions, 4 = estimated with financials only. Empty for government rows. |
SCOPE1_EMISSION_REPORTING_STATUS |
string | reported | Status of emissions reporting for Scope 1. reported, estimated or unavailable. |
|
SCOPE2_EMISSION_REPORTING_STATUS |
string | reported | Status of emissions reporting for Scope 2. reported, estimated or unavailable. Not Applicable for government rows. |
|
SCOPE3_EMISSION_REPORTING_STATUS |
string | reported | Status of emissions reporting for Scope 3. reported, estimated or unavailable. Not Applicable for government rows. |
|
WACI_S1 |
float / null | tCO2e per million revenue | 123.45 | Weighted Average Carbon Intensity of Scope 1. Emissions as a factor of issuer revenue. Empty for government rows. |
WACI_S12 |
float / null | tCO2e per million revenue | 123.45 | Weighted Average Carbon Intensity of Scopes 1 + 2. Emissions as a factor of issuer revenue. Empty for government rows. |
WACI_S123 |
float / null | tCO2e per million revenue | 123.45 | Weighted Average Carbon Intensity of Scopes 1 + 2 + 3. Emissions as a factor of issuer revenue. Empty for government rows. |
EVIC_CARBON_INTENSITY_S12 |
float / null | tCO2e per million EVIC | 123.45 | An intensity measure of Scope 1 and 2 emissions, as a factor of EVIC. Empty for government rows. |
EVIC_CARBON_INTENSITY_S123 |
float / null | tCO2e per million EVIC | 123.45 | An intensity measure of all emissions, as a factor of EVIC. Empty for government rows. |
Examples¶
Financed emissions history for an ENGIE bond since 2020.
SELECT ISIN, FISCAL_END_DATE, DEBT_TYPE, NAME,
ROUND(SCOPE1_EMISSIONS) AS SCOPE1_EMISSIONS,
ROUND(SCOPE2_EMISSIONS) AS SCOPE2_EMISSIONS,
ROUND(SCOPE3_EMISSIONS) AS SCOPE3_EMISSIONS,
SCOPE1_EMISSION_REPORTING_STATUS
FROM EMMI.FIXED_INCOME_CARBON_EMISSIONS
WHERE ISIN = 'FR0013455821'
AND FISCAL_END_DATE <= '2025-12-31'
ORDER BY FISCAL_END_DATE;
| ISIN | FISCAL_END_DATE | DEBT_TYPE | NAME | SCOPE1_EMISSIONS | SCOPE2_EMISSIONS | SCOPE3_EMISSIONS | SCOPE1_EMISSION_REPORTING_STATUS |
|---|---|---|---|---|---|---|---|
| FR0013455821 | 2020-12-31 | Corporate | ENGIE SA 1.25% 24-OCT-2041 | 300069 | 18123 | 1041993 | reported |
| FR0013455821 | 2021-12-31 | Corporate | ENGIE SA 1.25% 24-OCT-2041 | 259989 | 13319 | 879161 | reported |
| FR0013455821 | 2022-12-31 | Corporate | ENGIE SA 1.25% 24-OCT-2041 | 226371 | 5705 | 1090468 | reported |
| FR0013455821 | 2023-12-31 | Corporate | ENGIE SA 1.25% 24-OCT-2041 | 155476 | 5376 | 846271 | reported |
| FR0013455821 | 2024-12-31 | Corporate | ENGIE SA 1.25% 24-OCT-2041 | 135031 | 4976 | 828835 | reported |
| FR0013455821 | 2025-12-31 | Corporate | ENGIE SA 1.25% 24-OCT-2041 | 109068 | 2515 | 602171 | reported |
Fiscal year 2024 financed emissions for a six-bond portfolio of corporate and government bonds.
WITH MY_BOND_HOLDINGS AS (
SELECT * FROM VALUES
('FR0013455821', 0.25),
('XS3032045398', 0.20),
('AU3FN0094520', 0.15),
('XS1612943735', 0.10),
('DE0001030708', 0.15),
('CND000000612', 0.15)
AS H (ISIN, WEIGHT)
)
SELECT h.ISIN, h.WEIGHT, e.DEBT_TYPE, e.NAME,
ROUND(e.SCOPE1_EMISSIONS) AS SCOPE1_EMISSIONS,
ROUND(e.SCOPE2_EMISSIONS) AS SCOPE2_EMISSIONS,
ROUND(e.SCOPE3_EMISSIONS) AS SCOPE3_EMISSIONS,
e.SCOPE1_PCAF
FROM MY_BOND_HOLDINGS h
JOIN EMMI.FIXED_INCOME_CARBON_EMISSIONS e ON e.ISIN = h.ISIN
WHERE YEAR(e.FISCAL_END_DATE) = 2024
ORDER BY h.WEIGHT DESC, h.ISIN;
| ISIN | WEIGHT | DEBT_TYPE | NAME | SCOPE1_EMISSIONS | SCOPE2_EMISSIONS | SCOPE3_EMISSIONS | SCOPE1_PCAF |
|---|---|---|---|---|---|---|---|
| FR0013455821 | 0.25 | Corporate | ENGIE SA 1.25% 24-OCT-2041 | 135031 | 4976 | 828835 | 2 |
| XS3032045398 | 0.20 | Corporate | Deutsche Post AG 4.0% 24-MAR-2040 | 80951 | 845 | 338492 | 2 |
| AU3FN0094520 | 0.15 | Corporate | Ampol Limited FRN 11-DEC-2054 | 38368 | 11492 | 3211097 | 2 |
| CND000000612 | 0.15 | Government | Government of China 1.64% 15-DEC-2033 | 9398366 | 1 | ||
| DE0001030708 | 0.15 | Government | Germany 0.0% 15-AUG-2030 | 1382578 | 1 | ||
| XS1612943735 | 0.10 | Corporate | AIA Group Limited 4.47% 23-MAY-2047 | 12 | 249 | 54817 | 2 |
Portfolio summary by debt type. Intensity is empty for government bonds because they have no revenue.
WITH MY_BOND_HOLDINGS AS (
SELECT * FROM VALUES
('FR0013455821', 0.25),
('XS3032045398', 0.20),
('AU3FN0094520', 0.15),
('XS1612943735', 0.10),
('DE0001030708', 0.15),
('CND000000612', 0.15)
AS H (ISIN, WEIGHT)
)
SELECT e.DEBT_TYPE,
COUNT(*) AS BONDS,
SUM(h.WEIGHT) AS WEIGHT,
SUM(IFF(e.SCOPE1_EMISSION_REPORTING_STATUS = 'reported', h.WEIGHT, 0)) AS WEIGHT_WITH_REPORTED_SCOPE1,
ROUND(SUM(h.WEIGHT * e.WACI_S12) / SUM(h.WEIGHT), 1) AS WACI_S12
FROM MY_BOND_HOLDINGS h
JOIN EMMI.FIXED_INCOME_CARBON_EMISSIONS e ON e.ISIN = h.ISIN
WHERE YEAR(e.FISCAL_END_DATE) = 2024
GROUP BY e.DEBT_TYPE
ORDER BY e.DEBT_TYPE;
| DEBT_TYPE | BONDS | WEIGHT | WEIGHT_WITH_REPORTED_SCOPE1 | WACI_S12 |
|---|---|---|---|---|
| Corporate | 4 | 0.70 | 0.70 | 134.6 |
| Government | 2 | 0.30 | 0.30 |
Fixed income climate risk¶
EMMI.FIXED_INCOME_CLIMATE_RISK holds transition risk for corporate and
government bonds, one row per bond, fiscal year, risk year and scenario. Risk
years are the fiscal year itself plus 2030, 2035, 2040, 2045 and 2050. A bond
that has matured by the risk year carries no risk, so its columns read 0 from
that year on.
Government rows carry transition risk only.
Primary key: ISIN, FISCAL_END_DATE, RISK_YEAR, TRANSITION_RISK_SCENARIO.
Value at risk and reduction columns are decimal fractions: 1 = 100%, 0.5 = 50%, 0 = 0%.
Columns¶
| Column | Type | Unit | Example | Description |
|---|---|---|---|---|
ISIN |
string | FR0013455821 | International Securities Identification Number of the bond. | |
FISCAL_END_DATE |
date (yyyy-mm-dd) | Date | 2024-12-31 | Fiscal year end date for the underlying equity of the bond. |
RISK_YEAR |
int | Year | 2030 | Year for emission reductions and transition risk analysis. |
TRANSITION_RISK_SCENARIO |
string | NGFS_NetZero2050 | Which climate scenario was used to create the row. See Climate scenarios for the full list. | |
DEBT_TYPE |
string | Corporate | The type of bond. Corporate or Government. |
|
NAME |
string | ENGIE SA 1.25% 24-OCT-2041 | Name of the bond. | |
EMISSIONS_USED |
string | reported | Whether the analysis used reported, estimated or mix-of-estimated-reported emissions. |
|
TRANSITION_VAR |
float | % | 0.319 | Value at risk based on carbon pricing in the scenario at the risk year. Also called Potential Carbon Liability (PCL). |
REDUCTION |
float | % | 0.496 | Emission reduction required for the issuer's emissions to be aligned with the scenario at the risk year. |
UNDERLYING_TOTAL_PHYSICAL_VAR |
float / null | % | 0.001 | Value at risk to the equity of the underlying entity that issues the bond. Empty for government rows. |
TOTAL_CLIMATE_VAR |
float / null | % | 0.502 | Total value at risk based on transition and physical risk for the given scenario and risk year. Empty for government rows. |
Examples¶
Climate risk at each risk year for an ENGIE bond maturing in 2041, under the NGFS Net Zero 2050 scenario. The bond has matured by 2045, so risk is 0 from then on.
SELECT RISK_YEAR,
ROUND(REDUCTION, 3) AS REDUCTION,
ROUND(TRANSITION_VAR, 3) AS TRANSITION_VAR,
ROUND(UNDERLYING_TOTAL_PHYSICAL_VAR, 3) AS UNDERLYING_TOTAL_PHYSICAL_VAR,
ROUND(TOTAL_CLIMATE_VAR, 3) AS TOTAL_CLIMATE_VAR
FROM EMMI.FIXED_INCOME_CLIMATE_RISK
WHERE ISIN = 'FR0013455821'
AND FISCAL_END_DATE = '2024-12-31'
AND TRANSITION_RISK_SCENARIO = 'NGFS_NetZero2050'
ORDER BY RISK_YEAR;
| RISK_YEAR | REDUCTION | TRANSITION_VAR | UNDERLYING_TOTAL_PHYSICAL_VAR | TOTAL_CLIMATE_VAR |
|---|---|---|---|---|
| 2024 | 0.416 | 0.000 | 0.000 | 0.000 |
| 2030 | 0.496 | 0.319 | 0.001 | 0.502 |
| 2035 | 0.669 | 1.000 | 0.001 | 1.000 |
| 2040 | 0.931 | 1.000 | 0.002 | 1.000 |
| 2045 | 0.000 | 0.000 | 0.002 | 0.000 |
| 2050 | 0.000 | 0.000 | 0.003 | 0.000 |
A Chinese government bond at 2030 under three NGFS scenarios. Government rows have no total climate risk.
SELECT TRANSITION_RISK_SCENARIO, DEBT_TYPE, EMISSIONS_USED,
ROUND(REDUCTION, 3) AS REDUCTION,
ROUND(TRANSITION_VAR, 3) AS TRANSITION_VAR,
TOTAL_CLIMATE_VAR
FROM EMMI.FIXED_INCOME_CLIMATE_RISK
WHERE ISIN = 'CND000000612'
AND FISCAL_END_DATE = '2024-12-31'
AND RISK_YEAR = 2030
AND TRANSITION_RISK_SCENARIO IN ('NGFS_NetZero2050', 'NGFS_TwoDeg', 'NGFS_Current')
ORDER BY TRANSITION_RISK_SCENARIO;
| TRANSITION_RISK_SCENARIO | DEBT_TYPE | EMISSIONS_USED | REDUCTION | TRANSITION_VAR | TOTAL_CLIMATE_VAR |
|---|---|---|---|---|---|
| NGFS_Current | Government | reported | 0.240 | 0.001 | |
| NGFS_NetZero2050 | Government | reported | 0.524 | 0.052 | |
| NGFS_TwoDeg | Government | reported | 0.350 | 0.006 |
Weighted transition risk at 2030 for a six-bond portfolio, by debt type.
WITH MY_BOND_HOLDINGS AS (
SELECT * FROM VALUES
('FR0013455821', 0.25),
('XS3032045398', 0.20),
('AU3FN0094520', 0.15),
('XS1612943735', 0.10),
('DE0001030708', 0.15),
('CND000000612', 0.15)
AS H (ISIN, WEIGHT)
)
SELECT r.DEBT_TYPE,
ROUND(SUM(h.WEIGHT * r.TRANSITION_VAR) / SUM(h.WEIGHT), 4) AS TRANSITION_VAR,
ROUND(SUM(h.WEIGHT * r.TOTAL_CLIMATE_VAR) / SUM(h.WEIGHT), 4) AS TOTAL_CLIMATE_VAR
FROM MY_BOND_HOLDINGS h
JOIN EMMI.FIXED_INCOME_CLIMATE_RISK r ON r.ISIN = h.ISIN
WHERE YEAR(r.FISCAL_END_DATE) = 2024
AND r.TRANSITION_RISK_SCENARIO = 'NGFS_NetZero2050'
AND r.RISK_YEAR = 2030
GROUP BY r.DEBT_TYPE
ORDER BY r.DEBT_TYPE;
| DEBT_TYPE | TRANSITION_VAR | TOTAL_CLIMATE_VAR |
|---|---|---|
| Corporate | 0.3281 | 0.3935 |
| Government | 0.0270 |
Fixed income temperature alignment¶
EMMI.FIXED_INCOME_TEMPERATURE_ALIGNMENT holds the implied temperature
alignment of the issuer behind each corporate and government bond, one row per
bond, fiscal year and risk year.
Primary key: ISIN, FISCAL_END_DATE, RISK_YEAR.
Columns¶
| Column | Type | Unit | Example | Description |
|---|---|---|---|---|
ISIN |
string | FR0013455821 | International Securities Identification Number of the bond. | |
FISCAL_END_DATE |
date (yyyy-mm-dd) | Date | 2024-12-31 | Fiscal year end date for the underlying equity of the bond. |
RISK_YEAR |
int | Year | 2030 | Year the alignment is assessed at. The fiscal year itself plus 2030, 2035, 2040, 2045 and 2050. |
DEBT_TYPE |
string | Corporate | The type of bond. Corporate or Government. |
|
NAME |
string | ENGIE SA 1.25% 24-OCT-2041 | Name of the bond. | |
TEMPERATURE_ALIGNMENT |
float | °C | 4.0 | Temperature alignment indicates the global warming scenario that an issuer's current carbon footprint is consistent with. |
Examples¶
Temperature alignment at each risk year for an ENGIE bond and a Chinese government bond.
SELECT ISIN, DEBT_TYPE, RISK_YEAR, ROUND(TEMPERATURE_ALIGNMENT, 2) AS TEMPERATURE_ALIGNMENT
FROM EMMI.FIXED_INCOME_TEMPERATURE_ALIGNMENT
WHERE ISIN IN ('FR0013455821', 'CND000000612')
AND FISCAL_END_DATE = '2024-12-31'
ORDER BY ISIN, RISK_YEAR;
| ISIN | DEBT_TYPE | RISK_YEAR | TEMPERATURE_ALIGNMENT |
|---|---|---|---|
| CND000000612 | Government | 2024 | 4.00 |
| CND000000612 | Government | 2030 | 4.00 |
| CND000000612 | Government | 2035 | 1.50 |
| CND000000612 | Government | 2040 | 1.50 |
| CND000000612 | Government | 2045 | 1.50 |
| CND000000612 | Government | 2050 | 1.50 |
| FR0013455821 | Corporate | 2024 | 4.00 |
| FR0013455821 | Corporate | 2030 | 4.00 |
| FR0013455821 | Corporate | 2035 | 4.00 |
| FR0013455821 | Corporate | 2040 | 4.00 |
| FR0013455821 | Corporate | 2045 | 1.50 |
| FR0013455821 | Corporate | 2050 | 1.50 |
Temperature alignment at 2050 alongside financed Scope 1 emissions for a six-bond portfolio.
WITH MY_BOND_HOLDINGS AS (
SELECT * FROM VALUES
('FR0013455821', 0.25),
('XS3032045398', 0.20),
('AU3FN0094520', 0.15),
('XS1612943735', 0.10),
('DE0001030708', 0.15),
('CND000000612', 0.15)
AS H (ISIN, WEIGHT)
)
SELECT h.ISIN, e.NAME, t.DEBT_TYPE, ROUND(e.SCOPE1_EMISSIONS) AS SCOPE1_EMISSIONS,
ROUND(t.TEMPERATURE_ALIGNMENT, 2) AS TEMPERATURE_ALIGNMENT
FROM MY_BOND_HOLDINGS h
JOIN EMMI.FIXED_INCOME_CARBON_EMISSIONS e ON e.ISIN = h.ISIN
JOIN EMMI.FIXED_INCOME_TEMPERATURE_ALIGNMENT t
ON t.ISIN = e.ISIN AND t.FISCAL_END_DATE = e.FISCAL_END_DATE
WHERE YEAR(e.FISCAL_END_DATE) = 2024
AND t.RISK_YEAR = 2050
ORDER BY t.TEMPERATURE_ALIGNMENT DESC, h.ISIN;
| ISIN | NAME | DEBT_TYPE | SCOPE1_EMISSIONS | TEMPERATURE_ALIGNMENT |
|---|---|---|---|---|
| AU3FN0094520 | Ampol Limited FRN 11-DEC-2054 | Corporate | 38368 | 4.00 |
| CND000000612 | Government of China 1.64% 15-DEC-2033 | Government | 9398366 | 1.50 |
| DE0001030708 | Germany 0.0% 15-AUG-2030 | Government | 1382578 | 1.50 |
| FR0013455821 | ENGIE SA 1.25% 24-OCT-2041 | Corporate | 135031 | 1.50 |
| XS1612943735 | AIA Group Limited 4.47% 23-MAY-2047 | Corporate | 12 | 1.50 |
| XS3032045398 | Deutsche Post AG 4.0% 24-MAR-2040 | Corporate | 80951 | 1.50 |
Weighted temperature alignment of the portfolio at 2050, and the share of it aligned to 2°C or better.
WITH MY_BOND_HOLDINGS AS (
SELECT * FROM VALUES
('FR0013455821', 0.25),
('XS3032045398', 0.20),
('AU3FN0094520', 0.15),
('XS1612943735', 0.10),
('DE0001030708', 0.15),
('CND000000612', 0.15)
AS H (ISIN, WEIGHT)
)
SELECT ROUND(SUM(h.WEIGHT * t.TEMPERATURE_ALIGNMENT) / SUM(h.WEIGHT), 2) AS PORTFOLIO_TEMPERATURE_ALIGNMENT,
ROUND(SUM(IFF(t.TEMPERATURE_ALIGNMENT <= 2.0, h.WEIGHT, 0)) / SUM(h.WEIGHT), 2) AS WEIGHT_ALIGNED_TO_2C
FROM MY_BOND_HOLDINGS h
JOIN EMMI.FIXED_INCOME_TEMPERATURE_ALIGNMENT t ON t.ISIN = h.ISIN
WHERE YEAR(t.FISCAL_END_DATE) = 2024
AND t.RISK_YEAR = 2050;
| PORTFOLIO_TEMPERATURE_ALIGNMENT | WEIGHT_ALIGNED_TO_2C |
|---|---|
| 1.88 | 0.85 |
Fixed income projected carbon emissions¶
EMMI.FIXED_INCOME_PROJECTED_CARBON_EMISSIONS holds the financed emissions of
a corporate bond in future years, one row per bond, fiscal year, emissions year
and projection type. As in
Fixed income carbon emissions, the figures
are the bond's share of the issuer's emissions. Two kinds of projection are
provided:
- Target. The issuer's own published SBTi target, taken at face value. Emissions move in a straight line from the target's baseline year to its target year and stay there afterwards.
- Forecast. Emmi's forecast of the issuer's Scope 1, 2 and 3 emissions to 2030, from its emissions history. The forecast is a probabilistic model and the median path is provided.
Targets and forecasts are two different projections of the same issuer. Do not sum or combine them.
Corporate bonds only.
Primary key: ISIN, FISCAL_END_DATE, EMISSIONS_YEAR, PROJECTION_TYPE.
Several fiscal years can be active at once, so filter on FISCAL_END_DATE to
read one trajectory per bond.
Columns¶
| Column | Type | Unit | Example | Description |
|---|---|---|---|---|
ISIN |
string | XS3032045398 | International Securities Identification Number of the bond. | |
FISCAL_END_DATE |
date (yyyy-mm-dd) | Date | 2024-12-31 | Fiscal year end date for the underlying equity of the bond. |
EMISSIONS_YEAR |
int | Year | 2030 | The year that these emissions are forecast/targets for. |
PROJECTION_ID |
int | 0 | Unique identifier for the projection method. 0 for targets, 1 for forecasts. | |
PROJECTION_TYPE |
string | Target | Whether the projected emissions were generated using targets or forecasts. Target or Forecast. |
|
PROJECTION_METHOD |
string | Stepwise linear glide path | The specific method used to generate the projected emissions. Stepwise linear glide path for targets (a straight line between the target's baseline and target years), Monte Carlo Forecast for forecasts. |
|
DEBT_TYPE |
string | Corporate | Always Corporate. |
|
BOND_TYPE |
string | Corporate | Bond security type. Corporate or Securitized/Collateralized. |
|
NAME |
string | Deutsche Post AG 4.0% 24-MAR-2040 | Name of the bond. | |
SCOPE1_EMISSIONS |
float / null | tCO2e | 44745 | Projected Scope 1 emissions attributed to the bond at the emissions year. |
SCOPE2_EMISSIONS |
float / null | tCO2e | 1226 | Projected Scope 2 emissions attributed to the bond at the emissions year. |
SCOPE3_EMISSIONS |
float / null | tCO2e | 252522 | Projected Scope 3 emissions attributed to the bond at the emissions year. |
TEMP_ALIGNMENT |
float / null | °C | 1.57 | Temperature alignment of the projected emissions trajectory. |
Examples¶
Emissions attributed to a Deutsche Post bond under the issuer's own targets at each risk year.
SELECT PROJECTION_TYPE, EMISSIONS_YEAR,
ROUND(SCOPE1_EMISSIONS) AS SCOPE1_EMISSIONS,
ROUND(SCOPE2_EMISSIONS) AS SCOPE2_EMISSIONS,
ROUND(SCOPE3_EMISSIONS) AS SCOPE3_EMISSIONS,
ROUND(TEMP_ALIGNMENT, 2) AS TEMP_ALIGNMENT
FROM EMMI.FIXED_INCOME_PROJECTED_CARBON_EMISSIONS
WHERE ISIN = 'XS3032045398'
AND FISCAL_END_DATE = '2024-12-31'
AND PROJECTION_TYPE = 'Target'
AND EMISSIONS_YEAR IN (2025, 2030, 2035, 2040, 2045, 2050)
ORDER BY EMISSIONS_YEAR;
| PROJECTION_TYPE | EMISSIONS_YEAR | SCOPE1_EMISSIONS | SCOPE2_EMISSIONS | SCOPE3_EMISSIONS | TEMP_ALIGNMENT |
|---|---|---|---|---|---|
| Target | 2025 | 62746 | 1719 | 299285 | 1.54 |
| Target | 2030 | 44745 | 1226 | 252522 | 1.57 |
| Target | 2035 | 35487 | 972 | 197809 | 1.55 |
| Target | 2040 | 0 | 0 | 0 | 1.54 |
| Target | 2045 | 0 | 0 | 0 | 1.54 |
| Target | 2050 | 0 | 0 | 0 | 1.54 |
The issuer's target against Emmi's forecast at 2030 for the same bond.
SELECT PROJECTION_ID, PROJECTION_TYPE, PROJECTION_METHOD, EMISSIONS_YEAR,
ROUND(SCOPE1_EMISSIONS) AS SCOPE1_EMISSIONS,
ROUND(SCOPE2_EMISSIONS) AS SCOPE2_EMISSIONS,
ROUND(SCOPE3_EMISSIONS) AS SCOPE3_EMISSIONS
FROM EMMI.FIXED_INCOME_PROJECTED_CARBON_EMISSIONS
WHERE ISIN = 'XS3032045398'
AND FISCAL_END_DATE = '2024-12-31'
AND EMISSIONS_YEAR = 2030
ORDER BY PROJECTION_ID;
| PROJECTION_ID | PROJECTION_TYPE | PROJECTION_METHOD | EMISSIONS_YEAR | SCOPE1_EMISSIONS | SCOPE2_EMISSIONS | SCOPE3_EMISSIONS |
|---|---|---|---|---|---|---|
| 0 | Target | Stepwise linear glide path | 2030 | 44745 | 1226 | 252522 |
| 1 | Forecast | Monte Carlo Forecast | 2030 | 85015 | 617640 |
Financed Scope 1 today and at 2030 for a six-bond portfolio. Government bonds and issuers without a target return empty projections.
WITH MY_BOND_HOLDINGS AS (
SELECT * FROM VALUES
('FR0013455821', 0.25),
('XS3032045398', 0.20),
('AU3FN0094520', 0.15),
('XS1612943735', 0.10),
('DE0001030708', 0.15),
('CND000000612', 0.15)
AS H (ISIN, WEIGHT)
)
SELECT h.ISIN, e.NAME, e.DEBT_TYPE,
ROUND(e.SCOPE1_EMISSIONS) AS CURRENT_SCOPE1,
ROUND(f.SCOPE1_EMISSIONS) AS FORECAST_SCOPE1_2030,
ROUND(t.SCOPE1_EMISSIONS) AS TARGET_SCOPE1_2030
FROM MY_BOND_HOLDINGS h
JOIN EMMI.FIXED_INCOME_CARBON_EMISSIONS e ON e.ISIN = h.ISIN
LEFT JOIN EMMI.FIXED_INCOME_PROJECTED_CARBON_EMISSIONS f
ON f.ISIN = e.ISIN AND f.FISCAL_END_DATE = e.FISCAL_END_DATE
AND f.PROJECTION_TYPE = 'Forecast' AND f.EMISSIONS_YEAR = 2030
LEFT JOIN EMMI.FIXED_INCOME_PROJECTED_CARBON_EMISSIONS t
ON t.ISIN = e.ISIN AND t.FISCAL_END_DATE = e.FISCAL_END_DATE
AND t.PROJECTION_TYPE = 'Target' AND t.EMISSIONS_YEAR = 2030
WHERE YEAR(e.FISCAL_END_DATE) = 2024
ORDER BY h.WEIGHT DESC, h.ISIN;
| ISIN | NAME | DEBT_TYPE | CURRENT_SCOPE1 | FORECAST_SCOPE1_2030 | TARGET_SCOPE1_2030 |
|---|---|---|---|---|---|
| FR0013455821 | ENGIE SA 1.25% 24-OCT-2041 | Corporate | 135031 | 56007 | |
| XS3032045398 | Deutsche Post AG 4.0% 24-MAR-2040 | Corporate | 80951 | 85015 | 44745 |
| AU3FN0094520 | Ampol Limited FRN 11-DEC-2054 | Corporate | 38368 | 52584 | |
| CND000000612 | Government of China 1.64% 15-DEC-2033 | Government | 9398366 | ||
| DE0001030708 | Germany 0.0% 15-AUG-2030 | Government | 1382578 | ||
| XS1612943735 | AIA Group Limited 4.47% 23-MAY-2047 | Corporate | 12 | 6 |
Fixed income projected climate risk¶
EMMI.FIXED_INCOME_PROJECTED_CLIMATE_RISK holds transition risk computed on a
corporate bond issuer's projected emissions rather than its current emissions,
one row per bond, fiscal year, risk year, projection type and scenario. Risk
years are 2025, 2030, 2035, 2040, 2045 and 2050.
Corporate bonds only. See
Fixed income projected carbon emissions
for what Target and Forecast mean.
TRANSITION_VAR here is the bond measure. It is not the same measure as
TRANSITION_VAR on
Public equity projected climate risk,
so do not compare the two across asset classes.
Primary key: ISIN, FISCAL_END_DATE, RISK_YEAR, PROJECTION_TYPE,
TRANSITION_RISK_SCENARIO.
Value at risk and reduction columns are decimal fractions: 1 = 100%, 0.5 = 50%, 0 = 0%.
Columns¶
| Column | Type | Unit | Example | Description |
|---|---|---|---|---|
ISIN |
string | FR0013455821 | International Securities Identification Number of the bond. | |
FISCAL_END_DATE |
date (yyyy-mm-dd) | Date | 2024-12-31 | Fiscal year end date for the underlying equity of the bond. |
RISK_YEAR |
int | Year | 2030 | The forecast/target year the risk analysis is done for. |
TRANSITION_RISK_SCENARIO |
string | NGFS_NetZero2050 | Which climate scenario was used to create the row. See Climate scenarios for the full list. | |
PROJECTION_ID |
int | 0 | Unique identifier for the projection method. 0 for targets, 1 for forecasts. | |
PROJECTION_TYPE |
string | Target | Whether the projected emissions were generated using targets or forecasts. Target or Forecast. |
|
PROJECTION_METHOD |
string | Stepwise linear glide path | The specific method used to generate the projected emissions. Stepwise linear glide path for targets, Monte Carlo Forecast for forecasts. |
|
DEBT_TYPE |
string | Corporate | Always Corporate. |
|
NAME |
string | Deutsche Post AG 4.0% 24-MAR-2040 | Name of the bond. | |
TRANSITION_VAR |
float / null | % | 0.0 | Value at risk based on carbon pricing in the scenario at the risk year, computed on the projected emissions. |
REDUCTION |
float / null | % | 0.298 | Emission reduction still required to meet the scenario carbon budget at the risk year, after the projected emissions are taken into account. 0 when the projection is within budget. |
Examples¶
Reduction still required at 2030 if ENGIE meets its targets, under three NGFS scenarios.
SELECT TRANSITION_RISK_SCENARIO,
ROUND(REDUCTION, 3) AS REDUCTION,
ROUND(TRANSITION_VAR, 3) AS TRANSITION_VAR
FROM EMMI.FIXED_INCOME_PROJECTED_CLIMATE_RISK
WHERE ISIN = 'FR0013455821'
AND FISCAL_END_DATE = '2024-12-31'
AND PROJECTION_TYPE = 'Target'
AND RISK_YEAR = 2030
AND TRANSITION_RISK_SCENARIO IN ('NGFS_NetZero2050', 'NGFS_TwoDeg', 'NGFS_Current')
ORDER BY TRANSITION_RISK_SCENARIO;
| TRANSITION_RISK_SCENARIO | REDUCTION | TRANSITION_VAR |
|---|---|---|
| NGFS_Current | 0.000 | 0.000 |
| NGFS_NetZero2050 | 0.298 | 0.000 |
| NGFS_TwoDeg | 0.023 | 0.000 |
Reduction required today against reduction still required under each projection, at 2030 under NGFS Net Zero 2050, for each bond in a portfolio. Government bonds return no rows.
WITH MY_BOND_HOLDINGS AS (
SELECT * FROM VALUES
('FR0013455821', 0.25),
('XS3032045398', 0.20),
('AU3FN0094520', 0.15),
('XS1612943735', 0.10),
('DE0001030708', 0.15),
('CND000000612', 0.15)
AS H (ISIN, WEIGHT)
)
SELECT h.ISIN, p.PROJECTION_TYPE,
ROUND(c.REDUCTION, 3) AS CURRENT_REDUCTION,
ROUND(p.REDUCTION, 3) AS PROJECTED_REDUCTION,
ROUND(p.TRANSITION_VAR, 3) AS PROJECTED_TRANSITION_VAR
FROM MY_BOND_HOLDINGS h
JOIN EMMI.FIXED_INCOME_PROJECTED_CLIMATE_RISK p ON p.ISIN = h.ISIN
JOIN EMMI.FIXED_INCOME_CLIMATE_RISK c
ON c.ISIN = p.ISIN
AND c.FISCAL_END_DATE = p.FISCAL_END_DATE
AND c.RISK_YEAR = p.RISK_YEAR
AND c.TRANSITION_RISK_SCENARIO = p.TRANSITION_RISK_SCENARIO
WHERE YEAR(p.FISCAL_END_DATE) = 2024
AND p.RISK_YEAR = 2030
AND p.TRANSITION_RISK_SCENARIO = 'NGFS_NetZero2050'
ORDER BY h.ISIN, p.PROJECTION_TYPE;
| ISIN | PROJECTION_TYPE | CURRENT_REDUCTION | PROJECTED_REDUCTION | PROJECTED_TRANSITION_VAR |
|---|---|---|---|---|
| AU3FN0094520 | Forecast | 0.827 | ||
| FR0013455821 | Forecast | 0.496 | 0.447 | 0.000 |
| FR0013455821 | Target | 0.496 | 0.298 | 0.000 |
| XS1612943735 | Forecast | 0.609 | ||
| XS1612943735 | Target | 0.609 | 0.608 | 0.000 |
| XS3032045398 | Forecast | 0.426 | ||
| XS3032045398 | Target | 0.426 | 0.192 | 0.000 |
Weighted reduction and transition risk of the corporate bonds at 2030 today, against targets and against forecasts.
WITH MY_BOND_HOLDINGS AS (
SELECT * FROM VALUES
('FR0013455821', 0.25),
('XS3032045398', 0.20),
('AU3FN0094520', 0.15),
('XS1612943735', 0.10),
('DE0001030708', 0.15),
('CND000000612', 0.15)
AS H (ISIN, WEIGHT)
)
SELECT p.PROJECTION_TYPE,
ROUND(SUM(h.WEIGHT * c.REDUCTION) / SUM(h.WEIGHT), 3) AS CURRENT_REDUCTION,
ROUND(SUM(h.WEIGHT * p.REDUCTION) / SUM(h.WEIGHT), 3) AS PROJECTED_REDUCTION,
ROUND(SUM(h.WEIGHT * c.TRANSITION_VAR) / SUM(h.WEIGHT), 3) AS CURRENT_TRANSITION_VAR,
ROUND(SUM(h.WEIGHT * p.TRANSITION_VAR) / SUM(h.WEIGHT), 3) AS PROJECTED_TRANSITION_VAR
FROM MY_BOND_HOLDINGS h
JOIN EMMI.FIXED_INCOME_PROJECTED_CLIMATE_RISK p ON p.ISIN = h.ISIN
JOIN EMMI.FIXED_INCOME_CLIMATE_RISK c
ON c.ISIN = p.ISIN
AND c.FISCAL_END_DATE = p.FISCAL_END_DATE
AND c.RISK_YEAR = p.RISK_YEAR
AND c.TRANSITION_RISK_SCENARIO = p.TRANSITION_RISK_SCENARIO
WHERE YEAR(p.FISCAL_END_DATE) = 2024
AND p.RISK_YEAR = 2030
AND p.TRANSITION_RISK_SCENARIO = 'NGFS_NetZero2050'
GROUP BY p.PROJECTION_TYPE
ORDER BY p.PROJECTION_TYPE;
| PROJECTION_TYPE | CURRENT_REDUCTION | PROJECTED_REDUCTION | CURRENT_TRANSITION_VAR | PROJECTED_TRANSITION_VAR |
|---|---|---|---|---|
| Forecast | 0.563 | 0.160 | 0.328 | 0.000 |
| Target | 0.491 | 0.316 | 0.145 | 0.000 |
Climate scenarios¶
The climate risk views carry one row per scenario, for the sixteen scenarios below and no others. Temperature alignment does not change between scenarios, so the temperature alignment views have no scenario column.
| Transition risk scenario | Warming | Description |
|---|---|---|
IPCC_AR6_SustDev |
1.2°C | Sustainable Development. Pairs deep decarbonisation with broader sustainability goals. Lowest-temperature pathway in the AR6 set. Recommended AR6 low emissions scenario. |
IPCC_AR6_LowDemand |
1.3°C | Low Demand. Reaches below 1.5°C mainly through energy and material efficiency, electrification, and demand-side change, with minimal reliance on carbon dioxide removal. |
IPCC_AR6_HighRen |
1.4°C | High Renewables. Rapid near-term scale-up of solar and wind plus electrification of end uses. Supply-side transformation as the central lever. |
NGFS_LowDemand |
1.4°C | Low Demand. Reaches Paris-aligned outcomes mainly through efficiency, electrification, and behavioural change, with reduced reliance on carbon dioxide removal. |
IPCC_AR6_1p5NegEm |
1.5°C | Negative Emissions Trajectory. Slower fossil phase-out, compensated by large-scale carbon dioxide removal delivering net-negative emissions later in the century. |
NGFS_NetZero2050 |
1.5°C | Net Zero 2050. Immediate, coordinated policy action with a smooth carbon-price trajectory to reach global net-zero by 2050. Recommended NGFS low emissions scenario. |
NGFS_Delayed |
1.6°C | Delayed Transition. Climate policy stalls until 2030 then tightens abruptly to catch up, producing sharp repricing and stranded-asset risk. |
IPCC_AR6_Gradual |
1.7°C | Gradual Strengthening. Holds to current NDCs through 2030 then accelerates sharply, capturing the cost of delayed ambition. Recommended AR6 medium emissions scenario. |
NGFS_TwoDeg |
1.8°C | Below 2°C. Gradual strengthening of policy to hold warming below 2°C, less ambitious than Net Zero 2050 but still coordinated. Recommended NGFS medium emissions scenario. |
IPR_FPS |
2.3°C | Inevitable Policy Response, Forecast Policy Scenario. Forecast of the policy response governments are likely to enact as climate impacts intensify. Realistic but late and forceful. |
NGFS_NDC |
2.5°C | NDC. Only the current Nationally Determined Contributions are implemented, with no further tightening, driving high physical risk later in the century. |
NGFS_Fragmented |
2.6°C | Fragmented World. Uncoordinated, region-by-region policy response producing divergent carbon prices and uneven transition costs. |
IPCC_AR6_ModAction |
2.7°C | Moderate Action. Modest tightening beyond today's policies but well short of Paris alignment. Emissions peak late and warming overshoots 2°C. |
IPCC_AR6_Current |
3.0°C | Current Policies. Implements only legislated and operational policies, no new pledges, no NDC tightening, leading to roughly 3°C warming. |
NGFS_Current |
3.3°C | Current Policies. No additional policy action beyond what is already legislated, leading to roughly 3.3°C warming and severe physical risk. Recommended NGFS high emissions scenario. |
IPCC_AR6_BAU |
3.5°C | Business as Usual. High-end stress test based on a CD-LINKS "National Policies Included" baseline: minimal additional climate action and continued high fossil dependence. Recommended AR6 high emissions scenario. |
Using the views together¶
Emissions, 2030 climate risk under NGFS Net Zero 2050 and 2030 temperature alignment for each stock in a five-stock portfolio.
WITH MY_HOLDINGS AS (
SELECT * FROM VALUES
('IT0003128367', 0.30),
('CH0038863350', 0.25),
('DE0007236101', 0.20),
('NL0010273215', 0.15),
('DK0010244508', 0.10)
AS H (ISIN, WEIGHT)
)
SELECT h.ISIN, e.NAME, h.WEIGHT,
e.SCOPE1_EMISSIONS + e.SCOPE2_EMISSIONS AS SCOPE12_EMISSIONS,
ROUND(e.WACI_S12, 1) AS WACI_S12,
ROUND(r.TRANSITION_VAR, 3) AS TRANSITION_VAR,
ROUND(r.TOTAL_PHYSICAL_VAR, 3) AS TOTAL_PHYSICAL_VAR,
ROUND(t.TEMPERATURE_ALIGNMENT, 2) AS TEMPERATURE_ALIGNMENT
FROM MY_HOLDINGS h
JOIN EMMI.PUBLIC_EQUITY_CARBON_EMISSIONS e ON e.ISIN = h.ISIN
JOIN EMMI.PUBLIC_EQUITY_CLIMATE_RISK r
ON r.ISIN = e.ISIN AND r.FISCAL_END_DATE = e.FISCAL_END_DATE
AND r.RISK_YEAR = 2030 AND r.TRANSITION_RISK_SCENARIO = 'NGFS_NetZero2050'
JOIN EMMI.PUBLIC_EQUITY_TEMPERATURE_ALIGNMENT t
ON t.ISIN = e.ISIN AND t.FISCAL_END_DATE = e.FISCAL_END_DATE
AND t.RISK_YEAR = 2030
WHERE YEAR(e.FISCAL_END_DATE) = 2024
ORDER BY h.WEIGHT DESC;
| ISIN | NAME | WEIGHT | SCOPE12_EMISSIONS | WACI_S12 | TRANSITION_VAR | TOTAL_PHYSICAL_VAR | TEMPERATURE_ALIGNMENT |
|---|---|---|---|---|---|---|---|
| IT0003128367 | Enel SpA | 0.30 | 25110000 | 306.5 | 0.288 | 0.001 | 1.69 |
| CH0038863350 | Nestlé SA | 0.25 | 3340000 | 31.6 | 0.299 | 0.005 | 1.62 |
| DE0007236101 | Siemens AG | 0.20 | 441000 | 5.4 | 1.000 | 0.004 | 4.00 |
| NL0010273215 | ASML Holding NV | 0.15 | 32800 | 1.1 | 0.065 | 0.002 | 1.50 |
| DK0010244508 | A.P. Møller-Mærsk A/S | 0.10 | 34295000 | 614.3 | 0.613 | 0.002 | 4.00 |
Temperature alignment of each stock's current emissions at 2030, against the alignment of its target and forecast trajectories at 2030.
WITH MY_HOLDINGS AS (
SELECT * FROM VALUES
('IT0003128367', 0.30),
('CH0038863350', 0.25),
('DE0007236101', 0.20),
('NL0010273215', 0.15),
('DK0010244508', 0.10)
AS H (ISIN, WEIGHT)
)
SELECT h.ISIN, e.NAME,
ROUND(a.TEMPERATURE_ALIGNMENT, 2) AS CURRENT_ALIGNMENT,
ROUND(t.TEMP_ALIGNMENT, 2) AS TARGET_ALIGNMENT,
ROUND(f.TEMP_ALIGNMENT, 2) AS FORECAST_ALIGNMENT
FROM MY_HOLDINGS h
JOIN EMMI.PUBLIC_EQUITY_CARBON_EMISSIONS e ON e.ISIN = h.ISIN
JOIN EMMI.PUBLIC_EQUITY_TEMPERATURE_ALIGNMENT a
ON a.ISIN = e.ISIN AND a.FISCAL_END_DATE = e.FISCAL_END_DATE AND a.RISK_YEAR = 2030
LEFT JOIN EMMI.PUBLIC_EQUITY_PROJECTED_CARBON_EMISSIONS t
ON t.ISIN = e.ISIN AND t.FISCAL_END_DATE = e.FISCAL_END_DATE
AND t.PROJECTION_TYPE = 'Target' AND t.EMISSIONS_YEAR = 2030
LEFT JOIN EMMI.PUBLIC_EQUITY_PROJECTED_CARBON_EMISSIONS f
ON f.ISIN = e.ISIN AND f.FISCAL_END_DATE = e.FISCAL_END_DATE
AND f.PROJECTION_TYPE = 'Forecast' AND f.EMISSIONS_YEAR = 2030
WHERE YEAR(e.FISCAL_END_DATE) = 2024
ORDER BY h.WEIGHT DESC;
| ISIN | NAME | CURRENT_ALIGNMENT | TARGET_ALIGNMENT | FORECAST_ALIGNMENT |
|---|---|---|---|---|
| IT0003128367 | Enel SpA | 1.69 | 1.50 | 1.50 |
| CH0038863350 | Nestlé SA | 1.62 | 1.51 | 1.50 |
| DE0007236101 | Siemens AG | 4.00 | 4.00 | 4.00 |
| NL0010273215 | ASML Holding NV | 1.50 | 1.50 | 1.50 |
| DK0010244508 | A.P. Møller-Mærsk A/S | 4.00 | 1.94 | 4.00 |
Weighted transition risk at 2030 under NGFS Net Zero 2050 for a portfolio holding both equities and bonds, by asset class.
WITH MY_HOLDINGS AS (
SELECT * FROM VALUES
('Equity', 'IT0003128367', 0.30),
('Equity', 'CH0038863350', 0.20),
('Equity', 'DK0010244508', 0.10),
('Bond', 'FR0013455821', 0.20),
('Bond', 'XS3032045398', 0.10),
('Bond', 'CND000000612', 0.10)
AS H (ASSET_CLASS, ISIN, WEIGHT)
),
CLIMATE_RISK AS (
SELECT ISIN, FISCAL_END_DATE, RISK_YEAR, TRANSITION_RISK_SCENARIO, TRANSITION_VAR
FROM EMMI.PUBLIC_EQUITY_CLIMATE_RISK
UNION ALL
SELECT ISIN, FISCAL_END_DATE, RISK_YEAR, TRANSITION_RISK_SCENARIO, TRANSITION_VAR
FROM EMMI.FIXED_INCOME_CLIMATE_RISK
)
SELECT h.ASSET_CLASS,
SUM(h.WEIGHT) AS WEIGHT,
ROUND(SUM(h.WEIGHT * r.TRANSITION_VAR) / SUM(h.WEIGHT), 4) AS TRANSITION_VAR
FROM MY_HOLDINGS h
JOIN CLIMATE_RISK r ON r.ISIN = h.ISIN
WHERE YEAR(r.FISCAL_END_DATE) = 2024
AND r.TRANSITION_RISK_SCENARIO = 'NGFS_NetZero2050'
AND r.RISK_YEAR = 2030
GROUP BY h.ASSET_CLASS
ORDER BY h.ASSET_CLASS;
| ASSET_CLASS | WEIGHT | TRANSITION_VAR |
|---|---|---|
| Bond | 0.40 | 0.1724 |
| Equity | 0.60 | 0.3460 |