Türk finansal piyasaları için Python veri kütüphanesi. BIST hisseleri, döviz, kripto, yatırım fonları ve ekonomik veriler için yfinance benzeri API.
pip install borsapyimport borsapy as bp
# Hisse senedi verisi
hisse = bp.Ticker("THYAO")
print(hisse.info) # Anlık fiyat ve şirket bilgileri
print(hisse.history(period="1ay")) # Geçmiş OHLCV verileri
print(hisse.balance_sheet) # Bilanço
# Çoklu hisse
data = bp.download(["THYAO", "GARAN", "AKBNK"], period="1ay")
print(data)
# Döviz
usd = bp.FX("USD")
print(usd.current) # Güncel kur
print(usd.history(period="1ay")) # Geçmiş veriler
# Kripto
btc = bp.Crypto("BTCTRY")
print(btc.current) # Güncel fiyat
# Yatırım fonu
fon = bp.Fund("AAK")
print(fon.info) # Fon bilgileri
# Enflasyon
enf = bp.Inflation()
print(enf.latest()) # Son TÜFE verileriTicker sınıfı, BIST hisse senetleri için kapsamlı veri erişimi sağlar.
import borsapy as bp
hisse = bp.Ticker("THYAO")
# Hızlı fiyat bilgisi (cache'den, API çağrısı yapmaz)
print(hisse.fast_info["last_price"]) # Son fiyat
print(hisse.fast_info["previous_close"]) # Önceki kapanış
print(hisse.fast_info["volume"]) # Hacim
print(hisse.fast_info["market_cap"]) # Piyasa değeri
print(hisse.fast_info["pe_ratio"]) # F/K oranı
print(hisse.fast_info["free_float"]) # Halka açıklık oranı
print(hisse.fast_info["foreign_ratio"]) # Yabancı oranı
# Detaylı bilgiler (tüm verileri yükler)
print(hisse.info["last"]) # Son fiyat
print(hisse.info["marketCap"]) # Piyasa değeri
print(hisse.info["trailingPE"]) # F/K oranı
print(hisse.info["dividendYield"]) # Temettü verimi# Dönem bazlı
df = hisse.history(period="1ay") # Son 1 ay
df = hisse.history(period="3ay") # Son 3 ay
df = hisse.history(period="1y") # Son 1 yıl
df = hisse.history(period="max") # Tüm geçmiş
# Tarih aralığı
df = hisse.history(start="2024-01-01", end="2024-06-30")
# Farklı zaman dilimleri (interval)
df = hisse.history(period="1g", interval="1m") # 1 dakikalık mumlar
df = hisse.history(period="1g", interval="3m") # 3 dakikalık mumlar
df = hisse.history(period="1g", interval="5m") # 5 dakikalık mumlar
df = hisse.history(period="1g", interval="15m") # 15 dakikalık mumlar
df = hisse.history(period="1g", interval="30m") # 30 dakikalık mumlar
df = hisse.history(period="1g", interval="45m") # 45 dakikalık mumlar
df = hisse.history(period="5g", interval="1h") # Saatlik mumlar
df = hisse.history(period="1ay", interval="1d") # Günlük mumlar (varsayılan)# Yıllık tablolar
print(hisse.balance_sheet) # Bilanço
print(hisse.income_stmt) # Gelir tablosu
print(hisse.cashflow) # Nakit akış
# Çeyreklik tablolar
print(hisse.quarterly_balance_sheet)
print(hisse.quarterly_income_stmt)
print(hisse.quarterly_cashflow)
# TTM (Son 12 ay)
print(hisse.ttm_income_stmt)
print(hisse.ttm_cashflow)print(hisse.dividends) # Temettü geçmişi
print(hisse.splits) # Sermaye artırımları
print(hisse.actions) # Tüm kurumsal işlemler
# Geçmiş verilerde temettü ve split
df = hisse.history(period="1y", actions=True)print(hisse.major_holders) # Ana ortaklarprint(hisse.analyst_price_targets) # Hedef fiyatlar
print(hisse.recommendations_summary) # AL/TUT/SAT dağılımı
print(hisse.recommendations) # Detaylı tavsiyelerprint(hisse.news) # Son bildirimler
print(hisse.calendar) # Beklenen açıklamalar
print(hisse.earnings_dates) # Finansal rapor tarihleriprint(hisse.isin) # ISIN kodu
print(hisse.info["sector"]) # Sektör
print(hisse.info["industry"]) # Alt sektör
print(hisse.info["website"]) # Web sitesi
print(hisse.info["longBusinessSummary"]) # Faaliyet konusuBirden fazla hisse için toplu veri çekme.
import borsapy as bp
# Birden fazla hisse
hisseler = bp.Tickers(["THYAO", "GARAN", "AKBNK"])
# Her hissenin bilgilerine erişim
for sembol in hisseler.symbols:
ticker = hisseler.tickers[sembol]
print(f"{sembol}: {ticker.info['last']}")# Basit kullanım
df = bp.download(["THYAO", "GARAN", "AKBNK"], period="1ay")
# Ticker bazlı gruplama
df = bp.download(["THYAO", "GARAN"], period="1ay", group_by="ticker")
# Sütun bazlı gruplama (varsayılan)
df = bp.download(["THYAO", "GARAN"], period="1ay", group_by="column")BIST endekslerine erişim.
import borsapy as bp
# Mevcut endeksler
print(bp.indices())
# Endeks verisi
xu100 = bp.Index("XU100")
print(xu100.history(period="1ay"))Döviz kurları ve emtia fiyatları.
import borsapy as bp
usd = bp.FX("USD")
print(usd.current) # Güncel kur
print(usd.history(period="1ay")) # Geçmiş veriler
# Diğer dövizler
eur = bp.FX("EUR")
gbp = bp.FX("GBP")
chf = bp.FX("CHF")# Altın
gram_altin = bp.FX("gram-altin")
ceyrek = bp.FX("ceyrek-altin")
yarim = bp.FX("yarim-altin")
tam = bp.FX("tam-altin")
cumhuriyet = bp.FX("cumhuriyet-altini")
# Gümüş
gumus = bp.FX("gumus")
print(gram_altin.current)
print(gram_altin.history(period="1ay"))BtcTurk üzerinden kripto para verileri.
import borsapy as bp
# Mevcut çiftler
print(bp.crypto_pairs())
# Bitcoin/TRY
btc = bp.Crypto("BTCTRY")
print(btc.current) # Güncel fiyat
print(btc.history(period="1ay")) # OHLCV geçmişi
# Ethereum/TRY
eth = bp.Crypto("ETHTRY")
print(eth.current)TEFAS üzerinden yatırım fonu verileri.
import borsapy as bp
# Fon arama
print(bp.search_funds("banka"))
# Fon verisi
fon = bp.Fund("AAK")
print(fon.info) # Fon bilgileri
print(fon.history(period="1ay")) # Fiyat geçmişi
print(fon.performance) # Performans verileriTCMB enflasyon verileri.
import borsapy as bp
enf = bp.Inflation()
# Son TÜFE verileri (Tüketici Fiyat Endeksi)
print(enf.latest())
print(enf.tufe()) # TÜFE geçmişi
# ÜFE verileri (Üretici Fiyat Endeksi)
print(enf.ufe())
# Enflasyon hesaplayıcı
# 100.000 TL'nin 2020-01'den 2024-01'e değeri
sonuc = enf.calculate(100000, "2020-01", "2024-01")
print(sonuc)İş Yatırım üzerinden vadeli işlem ve opsiyon verileri.
import borsapy as bp
viop = bp.VIOP()
# Tüm vadeli işlem kontratları
print(viop.futures)
# Tüm opsiyonlar
print(viop.options)
# Vadeli işlem alt kategorileri
print(viop.stock_futures) # Pay vadeli
print(viop.index_futures) # Endeks vadeli
print(viop.currency_futures) # Döviz vadeli
print(viop.commodity_futures) # Emtia vadeli
# Opsiyon alt kategorileri
print(viop.stock_options) # Pay opsiyonları
print(viop.index_options) # Endeks opsiyonları
# Sembol bazlı arama
print(viop.get_by_symbol("THYAO")) # THYAO'nun tüm türevleriBIST şirketlerini listeleme ve arama.
import borsapy as bp
# Tüm şirketler
df = bp.companies()
print(df)
# Şirket arama
sonuc = bp.search_companies("banka")
print(sonuc)| Modül | Kaynak | Açıklama |
|---|---|---|
| Ticker | İş Yatırım, Paratic, KAP, hedeffiyat.com.tr, isinturkiye.com.tr | Hisse verileri, finansallar, bildirimler, analist hedefleri, ISIN |
| Index | Paratic | BIST endeksleri |
| FX | doviz.com | Döviz kurları, altın, emtia |
| Crypto | BtcTurk | Kripto para verileri |
| Fund | TEFAS | Yatırım fonu verileri |
| Inflation | TCMB | Enflasyon verileri |
| VIOP | İş Yatırım | Vadeli işlem ve opsiyon |
Ticker,Tickerssınıflarıdownload()fonksiyonuinfo,history(), finansal tablolar- Temettü, split, kurumsal işlemler
- Analist hedefleri ve tavsiyeler
- FX: Döviz ve emtia verileri (doviz.com)
- Crypto: Kripto para (BtcTurk)
- Fund: Yatırım fonları (TEFAS)
- Inflation: Enflasyon verileri ve hesaplayıcı (TCMB)
- VIOP: Vadeli işlem ve opsiyon
- KAP Entegrasyonu: Resmi bildirimler ve takvim
Ek özellik istekleri ve öneriler için GitHub Discussions üzerinden tartışma açabilirsiniz.
Bu kütüphane aracılığıyla erişilen veriler, ilgili veri kaynaklarına (İş Yatırım, Paratic, KAP, TCMB, BtcTurk, TEFAS, doviz.com, hedeffiyat.com.tr, isinturkiye.com.tr) aittir. Kütüphane yalnızca kişisel kullanım amacıyla hazırlanmıştır ve veriler ticari amaçlarla kullanılamaz.
Apache 2.0