Skip to content

zer0dayf/Bist-KAP-Dataset-Builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📈 Bist-KAP-Dataset-Builder

Bist-KAP-Dataset-Builder, Borsa İstanbul (BIST) şirketlerine ait finansal haber metinlerini (KAP bildirimleri vb.), hisse senetlerinin T+5 (gelecek 5 işlem günü) fiyat hareketlerine göre otomatik olarak etiketleyerek Finansal NLP (Doğal Dil İşleme) modelleri için veri seti oluşturan bir Python aracıdır.

Bu proje, özellikle FinBERT gibi modellerin eğitimi için gerekli olan etiketli veri (labeled data) ihtiyacını karşılamak amacıyla geliştirilmiştir.


🚀 Özellikler

  • Otomatik Fiyat Analizi Girilen hisse kodu ve tarih bilgisi ile yfinance üzerinden geçmiş fiyat verilerini çeker ve 5 işlem günü sonraki fiyat değişimini hesaplar.

  • Akıllı Etiketleme Fiyat değişim yüzdesine göre veriyi otomatik olarak etiketler:

    • 🟢 AL (Label: 2): %1 üzeri artış
    • 🔵 NÖTR (Label: 1): %-1 ile %1 arası değişim
    • 🔴 SAT (Label: 0): %-1 üzeri düşüş
  • Güvenli Veri Girişi Haber metinleri kullanıcı tarafından manuel olarak girilir. Scraping yapılmaz, yasal risk içermez.

  • Hata Önleme Yanlış girişleri kaydetmeden önce iptal etme seçeneği sunar.

  • Yerel Depolama Veriler yerel bir Excel dosyasında (.xlsx) saklanır ve .gitignore sayesinde GitHub’a yüklenmez.


🛠️ Kurulum

Projeyi bilgisayarınıza klonlayın ve gerekli kütüphaneleri yükleyin.

# 1. Repoyu klonlayın (KULLANICI_ADINIZ kısmını değiştirin)
git clone https://github.com/zer0dayf/Bist-KAP-Dataset-Builder.git

# 2. Proje dizinine girin
cd Bist-KAP-Dataset-Builder

# 3. Gerekli kütüphaneleri yükleyin
pip install -r requirements.txt

requirements.txt içeriği:

pandas
yfinance
colorama
openpyxl

💻 Kullanım

Uygulamayı başlatmak için:

python main.py

Adım Adım Kullanım

  1. Konsol ekranında Hisse Kodu ve Tarih girin Örnek:

    THYAO 2023-05-15
    
  2. İlgili haber metnini (KAP bildirimi, haber özeti vb.) kopyalayıp yapıştırın.

  3. Girişi bitirmek için yeni satıra SON yazıp Enter’a basın.

  4. Program fiyat değişimini hesaplayarak bir etiket önerir.

  5. Seçenekler:

    • Öneriyi kabul etmek için Enter
    • Etiketi değiştirmek için 0, 1 veya 2
    • Girişi iptal etmek için i

📊 Etiketleme Mantığı (Labeling Logic)

Algoritma, haberin yayınlandığı gündeki kapanış fiyatı (P₀) ile 5 işlem günü sonraki kapanış fiyatını (P₅) karşılaştırır.

Hassasiyet oranı: %1.0

Değişim Oranı (D) Label Anlamı
D < -1.0% 0 SAT (Negative)
-1.0% ≤ D ≤ 1.0% 1 NÖTR (Neutral)
D > 1.0% 2 AL (Positive)

⚠️ Yasal Uyarı (Disclaimer)

  • Yatırım Tavsiyesi Değildir Bu araç yalnızca eğitim ve araştırma amaçlıdır. Üretilen veriler yatırım kararlarında kullanılmamalıdır.

  • Veri Kaynağı Fiyat verileri yfinance kütüphanesi aracılığıyla Yahoo Finance üzerinden alınmaktadır. Verilerin doğruluğu garanti edilmez ve ticari amaçla kullanılamaz.

  • Telif Hakları Veri setine girilen haber metinlerinin telif hakları ilgili yayın kuruluşlarına (KAP, haber ajansları vb.) aittir. Oluşturulan veri setinin halka açık paylaşımı, ilgili kullanım koşullarına tabidir.

  • Veri Gizliliği Oluşturulan .xlsx dosyaları .gitignore ile otomatik olarak gizlenir ve GitHub’a yüklenmez. Sorumluluk kullanıcıya aittir.


🤝 Katkı

Bu proje açık kaynaklıdır ve katkılara açıktır.

  • Hata bildirmek için Issues sekmesini kullanabilirsiniz.
  • Yeni özellikler eklemek için Pull Request gönderebilirsiniz.

📄 Lisans

Bu proje MIT License ile lisanslanmıştır.

Releases

No releases published

Packages

 
 
 

Languages