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.
-
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.gitignoresayesinde GitHub’a yüklenmez.
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.txtrequirements.txt içeriği:
pandas
yfinance
colorama
openpyxl
Uygulamayı başlatmak için:
python main.py-
Konsol ekranında Hisse Kodu ve Tarih girin Örnek:
THYAO 2023-05-15 -
İlgili haber metnini (KAP bildirimi, haber özeti vb.) kopyalayıp yapıştırın.
-
Girişi bitirmek için yeni satıra SON yazıp Enter’a basın.
-
Program fiyat değişimini hesaplayarak bir etiket önerir.
-
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
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) |
-
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
yfinancekü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
.xlsxdosyaları.gitignoreile otomatik olarak gizlenir ve GitHub’a yüklenmez. Sorumluluk kullanıcıya aittir.
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.
Bu proje MIT License ile lisanslanmıştır.