Skip to content

onder-akkaya/esg-stock-returns-anova

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESG Skorları ve Hisse Senedi Getirileri: ANOVA Analizi

Course University Language Status

Bu depo (repository), Hacettepe Üniversitesi İstatistik Bölümü 2025-2026 Güz Dönemi, İST367 İstatistiksel Yöntemler II dersi kapsamında hazırlanan dönem sonu proje dosyalarını içermektedir.

📄 Hızlı Erişim

Sunum📊 Analizler📑
Sunum Kaynak Kodu
Sunum Çıktısı
Analiz Kaynak Kodu
Analiz Çıktısı

📝 Proje Özeti

Proje Başlığı: Dow 30 Şirketlerinde ESG Skorları ile Hisse Senedi Getirileri Arasındaki İlişki

Bu çalışmada, Dow 30 endeksine dahil şirketlerin ESG (Çevre–Sosyal–Yönetişim) puanları ile hisse senedi getirileri arasındaki ilişki istatistiksel yöntemler kullanılarak analiz edilmektedir.

Araştırma Soruları

  1. ESG skoru yüksek şirketlerin hisse getirilerinde (52 haftalık değişim) anlamlı farklılık var mıdır?
  2. Sektör etkisi kontrol edildiğinde ESG grupları arasındaki fark değişiyor mu?
  3. ESG'nin etkisi şirketin bulunduğu sektöre göre farklılık gösteriyor mu (etkileşim)?
  4. Aynı şirketlerin farklı zaman dilimlerindeki getirileri arasında anlamlı fark var mıdır?

📈 Temel Bulgular

Yöntem Sonuç p-değeri
Tek Yönlü ANOVA ESG grupları arası fark anlamsız p > 0.05
Rastgele Blok Düzeni Bloklama MSE'yi düşürdü -
Faktöriyel ANOVA ESG × Sektör etkileşimi anlamsız p > 0.05
Tekrarlı Ölçümlü ANOVA Çeyrekler arası fark anlamlı p < 0.05

Sonuç: ESG skorlarının tek başına hisse getirisi üzerinde anlamlı bir etkisi bulunamamıştır. Ancak zaman içinde getiriler önemli ölçüde değişmektedir.

👤 Yazarlar

İsim Öğrenci No
Ahmed Önder Akkaya 2230329042
Ahmet Hazar Gürbüz 2210329080

Hacettepe Üniversitesi, İstatistik Bölümü

Bu proje, Prof. Dr. Serpil Aktaş Altunay ve Ar. Gör. Hatice Nur Karakavak tarafından yürütülen ders kapsamında 4 Ocak 2026 teslim tarihli dönem ödevi olarak hazırlanmıştır.

🎯 Uygulanan Yöntemler

Ders müfredatına uygun olarak, aşağıdaki deney tasarımı ve analiz yöntemlerinden dördü seçilerek bu projede uygulanmıştır:

No Yöntem Amaç Durum
1 Tek Yönlü ANOVA ESG grupları arası ortalama karşılaştırma
2 Rastgele Blok Düzeni Sektör etkisini kontrol ederek ESG etkisini ölçme
3 Faktöriyel ANOVA ESG × Sektör etkileşimini inceleme
4 Tekrarlı Ölçümlü ANOVA Zaman içindeki getiri değişimini analiz etme
  • Tek Yönlü ANOVA (One-Way ANOVA)
  • Tekrarlı Ölçümlü ANOVA (Repeated Measures ANOVA)
  • Rastgele Blok Düzeni (Randomized Block Design)
  • Latin Kare Deney Düzeni (Latin Square Design)
  • Çok Etkenli Deney Düzeni (Factorial Experimental Design)

📊 Veri Seti Hakkında

Proje değerlendirme kriterlerinde belirtildiği üzere, bu çalışmada kullanılan veriler yapay zeka araçlarıyla üretilmemiş veya hazır şablonlardan alınmamıştır; gerçek kaynaklardan toplanmıştır.

  • Veri Konusu: ESG (Çevre–Sosyal–Yönetişim) skorları ile Dow 30 şirketlerinin hisse senedi getirileri arasındaki ilişki.
  • Veri Kaynağı: https://www.kaggle.com/datasets/jenniferaduffy/esg-ratings-and-stock-data-for-dow-30-companies
  • Gözlem Sayısı: 30 şirket (Dow 30 endeksi)
  • Değişkenler:
    • Bağımlı Değişken: week52_change (52 haftalık hisse getirisi %)
    • Bağımsız Değişkenler: ESG_group (Düşük/Orta/Yüksek), Sector_Group (Tech-Comm/Cyclical/Defensive)
    • Tekrarlı Ölçüm: Quarter (Q1, Q2, Q3, Q4)

Veri seti, yatırım ve finansal kararlarda kullanılan ESG göstergelerini içermektedir. ESG performansı; sera gazı emisyonları, insan hakları ve yönetim kurulu etik ilkeleri gibi başlıklara ilişkin metriklerle ölçülür ve şirketlerin sürdürülebilirlik hedeflerine ilerleyişini izlemek için kullanılır. Düşük ESG skorları, sektör emsallerine göre daha yüksek yatırım riski olarak değerlendirilebilmektedir.

Bu veri setinde üç iyi bilinen sağlayıcının ESG skorları bulunmaktadır: MSCI, S&P Global ve Sustainalytics. Buna ek olarak, medya ve basın bültenlerinden yapay zekâ ile "ESG sinyalleri" çıkarıp anlık duygu analizine dayalı skor üreten ESGAnalytics.io skorları yer almaktadır (ESGAnalytics gerçek zamanlı; diğer üç sağlayıcı genellikle yıllık olarak günceller).

Hisse senedi tarafında değerleme analizlerinde sık kullanılan oranlar (P/B, P/E, PEG, Borç/Özsermaye) mevcuttur. Piyasa verileri, 2024 Haziran ayının son haftasında Finazon.io ve Yahoo Finance kaynaklarından derlenmiştir.

📚 Veri Atıfı

🛠️ Kullanılan Teknolojiler

Analizler R programlama dili kullanılarak yapılmıştır.

  • Veri Manipülasyonu: dplyr, readxl
  • İstatistiksel Analiz: car (Levene testi), emmeans (post-hoc), effectsize (etki büyüklüğü), afex (tekrarlı ölçüm ANOVA)
  • Tablo Formatları: broom, knitr, kableExtra
  • Görselleştirme: ggplot2
  • Raporlama ve Yayınlama: Quarto
  • Ortam: RStudio, VS Code

📁 Proje Yapısı

  • README.md: Proje açıklaması ve dokümantasyon.
  • data/: Veri dosyaları.
    • dataset.md: Veri seti açıklamaları.
    • processed/: İşlenmiş veri dosyaları.
      • to-be-filled.txt: Doldurulması gereken dosya.
    • raw/: Ham veri dosyaları.
      • Dow30-DATASET-Q2_2024.csv: Ham veri seti.
  • docs/: Proje ile ilgili belgeler.
  • src/: Kaynak dosyaları.
    • analysis/: Analiz dosyaları.
      • analysis.qmd: Analiz raporu (Quarto kaynak dosyası).
      • analysis.pdf: Analiz raporunun PDF çıktısı.
      • esg_anova_analysis.R: ANOVA analizleri için R script dosyası.
    • presentation/: Sunum dosyaları.
      • presentation.qmd: Sunum raporu (Quarto kaynak dosyası).
      • presentation.pdf: Sunum raporunun PDF çıktısı.

🚀 Çalıştırma ve Render

Statik PDF çıktıları Quarto ile üretmek için aşağıdaki adımları izleyin.

  • Ön koşullar: Quarto, R ve bir LaTeX dağıtımı (TinyTeX veya MacTeX).

Ortam Kontrolü

quarto check

Sunumu (Beamer/PDF) Render Etme

quarto render src/presentation/presentation.qmd

Çıktı PDF dosyası src/presentation/ altında oluşturulur.

Analizi Render Etme

quarto render src/analysis/analysis.qmd

PDF İçin LaTeX Kurulumu (macOS)

LaTeX yoksa aşağıdaki seçeneklerden birini kullanın:

  • Quarto üzerinden TinyTeX:
quarto tools install tinytex
  • R üzerinden TinyTeX:
install.packages("tinytex")
tinytex::install_tinytex()
  • Alternatif: MacTeX (daha büyük paket)
brew install --cask mactex-no-gui

PDF İçin LaTeX Kurulumu (Windows)

Windows'ta PDF üretimi için TinyTeX veya MiKTeX kullanabilirsiniz:

  • Quarto üzerinden TinyTeX (önerilen, hafif):
quarto tools install tinytex
  • R üzerinden TinyTeX:
install.packages("tinytex")
tinytex::install_tinytex()
  • Alternatif: MiKTeX (winget ile kurulabilir):
winget install MiKTeX.MiKTeX

Kurulumdan sonra doğrulama için:

quarto check

Önizleme

quarto preview src/presentation/presentation.qmd

Temizlik

quarto clean

⚡ Hızlı Başlangıç (QMD)

Bu proje .qmd dosyalarıyla çalışır. Aşağıdaki adımlar hem .ipynb deneyimi olanlar hem de .qmd'ye yeni başlayanlar için yeterlidir:

  1. Gerekliler yüklü olsun: R, Quarto, LaTeX (TinyTeX/MacTeX/MiKTeX).
  2. R paketlerini kurun:
Rscript -e 'install.packages(c("tidyverse","ggplot2","rstatix","agricolae","car","ggpubr","readr","dplyr"))'
  1. Sunumu render edin:
quarto render src/presentation/presentation.qmd
  1. Analizi render edin:
quarto render src/analysis/analysis.qmd
  1. Gerekirse canlı önizleme:
quarto preview src/presentation/presentation.qmd

VS Code / RStudio ile çalışma

  • VS Code: Komut Paleti → "Quarto: Render Document". Önizleme için "Quarto: Preview".
  • RStudio: "Render" butonu veya uygun kısayol (Windows için Ctrl+Shift+K, macOS için Cmd+Shift+K).

Örnek R kod bloğu (chunk) ve seçenekler

```{r}
#| label: load-data
#| echo: false
#| cache: true
df <- readr::read_csv("data/raw/Dow30-DATASET-Q2_2024.csv")
summary(df)

- `#| echo: false` kodu gizler, yalnızca çıktı görünür.
- `#| cache: true` uzun hesaplamalarda render süresini kısaltır.
- Çalışma dizini proje köküdür; yolları göreli verin: `data/raw/...`.

## 📎 .ipynb → .qmd farkları (kısa)

- `.qmd` dosyaları tek bir kaynak dosyadan rapor/sunum üretir; **üstten alta** sırayla çalışır.
- Hücre seçenekleri `#|` satırlarıyla verilir (knitr/Quarto). Örn. `#| fig-height: 4`, `#| out-width: "80%"`.
- PDF (Beamer) **interaktif** grafikleri desteklemez (plotly vb.); statik `ggplot2` kullanın.
- Geniş içeriklerde slayt taşarsa `## Başlık {.allowframebreaks}` ile otomatik bölün.

## 🔒 İsteğe bağlı: renv ile yeniden üretilebilir ortam

Proje paket sürümlerini sabitlemek için `renv` kullanabilirsiniz:

```r
install.packages("renv")
renv::init()      # Projeyi renv ile başlatır
renv::snapshot()  # Paket durumunu renv.lock'a yazar

Takım arkadaşınız renv::restore() ile aynı paket sürümlerini kurabilir.

🧯 Sık karşılaşılan sorunlar

  • "LaTeX bulunamadı" veya paket eksik: TinyTeX/MacTeX/MiKTeX kurun, ardından quarto check.
  • Türkçe karakter/font sorunları: PDF için pdf-engine: xelatex ve uygun fontlar (mevcut ayarlarda etkin).
  • Eski/bozuk derleme artıkları: quarto clean ardından tekrar render.

📚 Daha Fazla Bilgi

Quarto hakkında daha fazla bilgi için Quarto Documentation sayfasını ziyaret edebilirsiniz.

About

This repository is for the collaborative term project for the class İST-367(Statistical Methods-II)

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages