Yahoo Finance’den Veri Nasıl Çekilir?

Merhabalar, bugünkü yazımızda sizlere Yahoo Finance üzerinden Python programlama dili kullanarak ilgilenilen hisse senedine ait tarihsel verilere nasıl erişebileceğimizden bahsedeceğim.

Bu işlemi yapabilmek için ilk olarak yfinance kütüphanesini kurmamız gerekiyor.

pip install yfinance

Gerekli kurulumu yaptıktan sonra işlem boyunca kullanacağımız kütüphaneleri import edelim.

import pandas as pd
import yfinance as yf

İmport işlemlerinin ardından yfinance kütüphanesinin içinde bulunan download fonksiyonunu kullanarak ilgilendiğimiz hisse senedinin verilerine erişelim.

yf.download() fonksiyonun içerisine istediğimiz hisse senedinin sembolünü giriyoruz. Biz örneğimizde İstanbul Borsasında işlem gören Garanti hisse senedini(GARAN) kullandık. Bu yüzden sembolün sonuna .IS eklentisini eklememiz gerekiyor.

yf.download("GARAN.IS")

Download fonksiyonu bizlere hisse senedine ait tüm verileri getiriyor. Eğer tüm zamanlara ait verilere erişmek istemiyorsak fonksiyonun içinde bulunana start argümanı ile başlangıç tarihi end argümanını kullanarak bitiş tarihini belirleyebiliriz.

Örneğin belirli bir tarihten itibaren görmek istiyorsak:

yf.download("GARAN.IS", start="2010-01-01")

Belirli bir tarihe kadar görmek istiyorsak:

yf.download("GARAN.IS", end="2018-01-01")

Ya da belirli bir aralıkta görmek istiyorsak:

yf.download("GARAN.IS", start="2012-01-01", end="2018-01-01")

Basitçe Yahoo Finance üzerinden veri çekme işlemi bu şekilde özetlenebilir. Şimdi biz bu işlemi bir adım ileriye götürelim ve işlemleri fonksiyonlaştıralım.

Öncelikle ihtiyacımız olan şeyleri bir düşünelim.

  • Hangi hisse senedini incelemek istiyoruz?
  • İncelemek istediğimiz hisse senedi Borsa İstanbulda’ mı işlem görüyor?
  • Hangi başlangıç ve bitiş tarihlerini kullanmak istiyoruz?

Bu ihtiyaçlar doğrultusunda yukarıda yaptığımız işlemleri bir fonksiyona dökelim.

def dataImporter(symbol="", date='2017-01-01', inBist=True):
    
    if inBist:
        symbol = symbol + ".IS"
        df = yf.download(symbol,
                         start=date,
                         progress=False)
        
    else:
        df = yf.download(symbol,
                         start=date,
                         progress=False)
    return df

Artık istediğimiz hisse senedinin verilerine kolaylıkla erişebiliriz. (Progress argümanı işlemlerin tamamlanma durumunu gösteren çubuğu temsil eder. Biz bu argümanı görmek istersek argüman değerini True yapabiliriz.)

Örneğin Amazon’un verilerine erişmek istersek:

dataImporter("AMZN", inBist=False)

Yahoo Finance üzerinden veri çekme ile ilgili bahsedeceklerimiz bu kadardı.  Kodlara GitHub hesabımızdan erişebilirsiniz.

Bir sonraki yazımızda görüşmek üzere.

Bizleri sosyal medya hesaplarımız üzerinden takip etmeyi unutmayın!

Would you like to review our products?