-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_phase3.py
More file actions
28 lines (25 loc) · 1.26 KB
/
run_phase3.py
File metadata and controls
28 lines (25 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from sfdr2.data import SAMPLE_PORTFOLIO
from sfdr2.alignment import assess
a = assess(SAMPLE_PORTFOLIO, pab_replication=False)
print("=" * 74)
print("PHASE 3 - TAXONOMY ALIGNMENT & THE 70% TEST")
print("=" * 74)
print(f"{'Issuer':<26}{'Wt%':>6} {'Outcome':<11}{'Basis'}")
print("-" * 74)
for iss, w, out, _c, why in a["rows"]:
print(f"{iss:<26}{w:>6.1f} {out:<11}{why}")
print("\n" + "-" * 74)
print("DECARBONISATION PATHWAY (PAB: -50% vs parent, then -7% p.a.)")
print(f" Parent-benchmark intensity (proxy) : {a['parent_intensity']:>8.1f} tCO2e/EURm")
print(f" 1.5C pathway target (this year) : {a['pathway_target']:>8.1f} tCO2e/EURm")
print(f" Post-exclusion portfolio WACI : {a['post_excl_waci']:>8.1f} tCO2e/EURm")
print(f" Pathway-aligned? : {a['pathway_aligned']}")
print("\n" + "-" * 74)
print(f"Portfolio Taxonomy-aligned revenue : {a['taxonomy_aligned_pct']:.1f}% "
f"(15% deem {'MET' if a['deem_15'] else 'NOT met'})")
print(f"PAB-replication product? : {a['pab_replication']}")
print("\nCATEGORY TEST (floor 70% of total investments):")
for c, d in a["categories"].items():
print(f" {c:<12} direct {d['direct_pct']:>6.1f}% -> "
f"{'QUALIFIES' if d['meets'] else 'fails':<10} via {d['path']}")
print("-" * 74)