# zahinsyukran/bursa-malaysia-esg-performance-analysis architecture

> Architecture diagram of the GitHub repository zahinsyukran/bursa-malaysia-esg-performance-analysis, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/zahinsyukran/bursa-malaysia-esg-performance-analysis
- Repository: https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis

## Overview

This repository is a Bursa Malaysia ESG-versus-KLCI analytics project: market data is acquired and prepared, then presented through a Power BI report backed by a semantic model. The README documents the acquisition, risk/return calculations, and three dashboard layers; the tree identifies the relevant notebooks, datasets, and Power BI files. Notebook internals and model wiring were not sampled, so the data-flow links reflect documented pipeline behavior rather than inspected implementation details.

Main entry points: [`scripts/clean_data.ipynb`](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/scripts/clean_data.ipynb) (Clean and Engineer), [`ESG_Bursa_Analytics.Report/report.json`](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.Report/report.json) (Report Layout), [`scripts/pull_data.ipynb`](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/scripts/pull_data.ipynb) (Pull Market Data), [`ESG_Bursa_Analytics.SemanticModel/model.bim`](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.SemanticModel/model.bim) (DAX Model and Schema)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_pipeline["Data Pipeline"]
  node_pull["Pull Market Data<br/>[pull_data.ipynb]"]
  node_clean["Clean and Engineer<br/>[clean_data.ipynb]"]
end

subgraph group_data["Analysis Data"]
  node_raw_prices["Historical Prices"]
  node_mapping["Sector and ESG Mapping<br/>[mapping_table.csv]"]
  node_processed["Processed Analysis Data"]
end

subgraph group_model["Semantic Model"]
  node_semantic["DAX Model and Schema<br/>[model.bim]"]
end

subgraph group_report["Power BI Report"]
  node_report_entry["Report Model Link<br/>[definition.pbir]"]
  node_report_layout["Report Layout<br/>[report.json]"]
  node_benchmark["Performance Benchmarking<br/>[report.json]"]
  node_risk["Risk-Adjusted Efficiency<br/>[report.json]"]
  node_insights["Strategic Insights<br/>[report.json]"]
end

node_analyst(("Analyst"))
node_yfinance["Yahoo Finance"]
node_powerbi["Power BI Desktop"]
node_project["Project Entry Point"]

node_pull -->|"fetches prices"| node_yfinance
node_pull -->|"writes data"| node_raw_prices
node_clean -->|"reads prices"| node_raw_prices
node_clean -->|"uses metadata"| node_mapping
node_clean -->|"writes analysis data"| node_processed
node_semantic -->|"uses dataset"| node_processed
node_report_entry -->|"links model"| node_semantic
node_report_layout -->|"presents"| node_benchmark
node_report_layout -->|"presents"| node_risk
node_report_layout -->|"presents"| node_insights
node_analyst -->|"opens"| node_project
node_project -->|"launches in"| node_powerbi
node_powerbi -->|"loads report"| node_report_entry

click node_pull "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/scripts/pull_data.ipynb"
click node_clean "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/scripts/clean_data.ipynb"
click node_raw_prices "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/data/raw/bursa_full_universe.csv"
click node_mapping "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/data/raw/mapping_table.csv"
click node_processed "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/data/processed/bursa_analysis_final.csv"
click node_semantic "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.SemanticModel/model.bim"
click node_report_entry "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.Report/definition.pbir"
click node_report_layout "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.Report/report.json"
click node_benchmark "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.Report/report.json"
click node_risk "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.Report/report.json"
click node_insights "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.Report/report.json"
click node_project "https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.pbip"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_pull,node_clean toneBlue
class node_raw_prices,node_mapping,node_processed toneAmber
class node_semantic toneMint
class node_report_entry,node_report_layout,node_benchmark,node_risk,node_insights toneRose
class node_analyst,node_yfinance,node_powerbi toneIndigo
class node_project toneTeal
```

## Components

### Data Pipeline

- [Pull Market Data](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/scripts/pull_data.ipynb): `scripts/pull_data.ipynb`
- [Clean and Engineer](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/scripts/clean_data.ipynb): `scripts/clean_data.ipynb`

### Analysis Data

- [Historical Prices](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/data/raw/bursa_full_universe.csv): `data/raw/bursa_full_universe.csv`
- [Sector and ESG Mapping](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/data/raw/mapping_table.csv): `data/raw/mapping_table.csv`
- [Processed Analysis Data](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/data/processed/bursa_analysis_final.csv): `data/processed/bursa_analysis_final.csv`

### Semantic Model

- [DAX Model and Schema](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.SemanticModel/model.bim): `ESG_Bursa_Analytics.SemanticModel/model.bim`

### Power BI Report

- [Report Model Link](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.Report/definition.pbir): `ESG_Bursa_Analytics.Report/definition.pbir`
- [Report Layout](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.Report/report.json): `ESG_Bursa_Analytics.Report/report.json`
- [Performance Benchmarking](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.Report/report.json): `ESG_Bursa_Analytics.Report/report.json`
- [Risk-Adjusted Efficiency](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.Report/report.json): `ESG_Bursa_Analytics.Report/report.json`
- [Strategic Insights](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.Report/report.json): `ESG_Bursa_Analytics.Report/report.json`

### Other components

- **Analyst**
- **Yahoo Finance**
- **Power BI Desktop**
- [Project Entry Point](https://github.com/zahinsyukran/bursa-malaysia-esg-performance-analysis/blob/main/ESG_Bursa_Analytics.pbip): `ESG_Bursa_Analytics.pbip`

## Connections

- Pull Market Data → Yahoo Finance: fetches prices
- Pull Market Data → Historical Prices: writes data
- Clean and Engineer → Historical Prices: reads prices
- Clean and Engineer → Sector and ESG Mapping: uses metadata
- Clean and Engineer → Processed Analysis Data: writes analysis data
- DAX Model and Schema → Processed Analysis Data: uses dataset
- Report Model Link → DAX Model and Schema: links model
- Report Layout → Performance Benchmarking: presents
- Report Layout → Risk-Adjusted Efficiency: presents
- Report Layout → Strategic Insights: presents
- Analyst → Project Entry Point: opens
- Project Entry Point → Power BI Desktop: launches in
- Power BI Desktop → Report Model Link: loads report
