Mobil Menü

Python ile Hisse Senedi Temel Analiz Programı

Yatırım dünyasında doğru bilgiye ulaşmak, başarılı bir strateji geliştirmenin temelidir. Hisse senedi yatırımları, potansiyel kazançlar sunarken, aynı zamanda riskler de barındırır. Bu nedenle, temel analiz yapmak, yatırımcıların bilinçli kararlar almasına yardımcı olur. Bu yazıda, Python programlama dili ve yfinance kütüphanesi kullanarak hisse senetlerinin temel analizini nasıl gerçekleştirebileceğinizi öğreneceksiniz.

Temel Analiz Nedir?

Temel analiz, bir şirketin finansal durumunu ve piyasa değerini değerlendirmek için kullanılan bir yöntemdir. Bu analiz, şirketin gelir tablosu, bilanço ve nakit akış tablosu gibi finansal belgelerini inceleyerek yapılır. Yatırımcılar, bu verileri kullanarak şirketin gelecekteki performansını tahmin etmeye çalışır.

Python ile Hisse Senedi Analizi Yapma

Yazdığım Python kodu, yfinance kütüphanesini kullanarak belirli bir hisse senedinin temel analizini yapmanıza olanak tanır. Bu kod, yatırımcıların hisse senedi verilerini anlık olarak çekmesine ve analiz etmesine yardımcı olur. Kullanıcıdan alınan hisse sembolü ile birlikte, kapanış fiyatı, piyasa değeri, temettü verimi gibi önemli finansal verileri sunar.

Kod, ayrıca şirketin finansal oranlarını, gelir tablosunu, bilançosunu ve nakit akışını analiz ederek, yatırımcıların daha bilinçli kararlar almasına yardımcı olur. Örneğin, F/K oranı, PD/DD oranı ve borç/sermaye oranı gibi kritik finansal göstergeleri hesaplayarak, şirketin piyasa değerini ve finansal sağlığını değerlendirir.

Sonuç

Python ile hisse senedi temel analizi yapmak, yatırımcılar için büyük bir avantaj sağlar. yfinance kütüphanesi sayesinde, hisse senedi verilerine kolayca erişebilir ve bu verileri analiz ederek daha bilinçli yatırım kararları alabilirsiniz. Bu tür bir analiz, yatırım stratejinizi güçlendirecek ve piyasa trendlerini daha iyi anlamanızı sağlayacaktır. Hisse senedi yatırımlarınızda başarılar dileriz!

Dikkat

Bu kodlar eğitim amaçlı yazılmış olup kesinlikle yatırım tavsiyesi içermemektedir. Kullanıcının başına gelebilecek her şeyden kendisi sorumludur.

import yfinance as yf

# Temel Analiz Fonksiyonu
def temel_analiz(hisse_adi):
    # Hisse senedi verilerini çek
    hisse = yf.Ticker(hisse_adi)
    bilanço = hisse.balance_sheet
    gelir_tablosu = hisse.financials
    nakit_akış = hisse.cashflow
    finansal_oranlar = hisse.info

    # Finansal oranları ve temel bilgileri yazdır
    print(f"\n{hisse_adi} Temel Analiz Sonuçları:\n")

    # Hisse fiyatı ve piyasa değeri
    kapanış_fiyatı = finansal_oranlar.get("currentPrice", "Veri Yok")
    piyasa_değeri = finansal_oranlar.get("marketCap", "Veri Yok")
    temettu_verimi = finansal_oranlar.get("dividendYield", "Veri Yok")
    calisan_sayisi = finansal_oranlar.get("fullTimeEmployees", "Veri Yok")
    eps = finansal_oranlar.get("trailingEps", "Veri Yok")

    print(f"Kapanış Fiyatı: {kapanış_fiyatı} TL")
    print(f"Piyasa Değeri: {piyasa_değeri} TL")
    print(f"Temettü Verimi: {temettu_verimi}")
    print(f"Çalışan Sayısı: {calisan_sayisi}")
    print(f"Hisse Başına Kar (EPS): {eps} TL")

    # Finansal Oranlar
    beta = finansal_oranlar.get("beta", "Veri Yok")
    pe_oranı = finansal_oranlar.get("trailingPE", "Veri Yok")
    pb_oranı = finansal_oranlar.get("priceToBook", "Veri Yok")
    borç_sermaye = finansal_oranlar.get("debtToEquity", "Veri Yok")

    print(f"Beta: {beta}")
    print(f"F/K Oranı (PE): {pe_oranı}")
    print(f"PD/DD Oranı (PB): {pb_oranı}")
    print(f"Borç/Sermaye Oranı: {borç_sermaye}")

    # Gelir Tablosu: Toplam Gelir, Net Kar, Faaliyet Giderleri
    try:
        toplam_gelir = gelir_tablosu.loc['Total Revenue'].iloc[0]
        net_kar = gelir_tablosu.loc['Net Income'].iloc[0]
        faaliyet_giderleri = gelir_tablosu.loc['Operating Expenses'].iloc[0]

        print(f"Toplam Gelir: {toplam_gelir} TL")
        print(f"Net Kar: {net_kar} TL")
        print(f"Faaliyet Giderleri: {faaliyet_giderleri} TL")
    except KeyError:
        print("Gelir Tablosu verileri bulunamadı.")

    # Bilanço: Toplam Varlıklar, Toplam Yükümlülükler, Borçlar
    try:
        toplam_varlıklar = bilanço.loc['Total Assets'].iloc[0]
        toplam_yükümlülükler = bilanço.loc['Total Liab'].iloc[0]
        toplam_borç = bilanço.loc['Short Long Term Debt'].iloc[0]

        print(f"Toplam Varlıklar: {toplam_varlıklar} TL")
        print(f"Toplam Yükümlülükler: {toplam_yükümlülükler} TL")
        print(f"Toplam Borç: {toplam_borç} TL")
    except KeyError:
        print("Bilanço verileri bulunamadı.")

    # Nakit Akış: Faaliyet ve Yatırım Nakit Akışları, Hisse Geri Alımları
    try:
        faaliyet_nakit_akışı = nakit_akış.loc['Total Cash From Operating Activities'].iloc[0]
        yatırım_nakit_akışı = nakit_akış.loc['Total Cashflows From Investing Activities'].iloc[0]
        hisse_geri_alımları = nakit_akış.loc['Repurchase of Stock'].iloc[0]

        print(f"Faaliyet Nakit Akışı: {faaliyet_nakit_akışı} TL")
        print(f"Yatırım Nakit Akışı: {yatırım_nakit_akışı} TL")
        print(f"Hisse Geri Alımları: {hisse_geri_alımları} TL")
    except KeyError:
        print("Nakit Akış verileri bulunamadı.")

    # Ek Finansal Bilgiler
    faaliyet_marjı = finansal_oranlar.get("operatingMargins", "Veri Yok")
    brüt_kar_marjı = finansal_oranlar.get("grossMargins", "Veri Yok")
    nakit_değeri = finansal_oranlar.get("totalCash", "Veri Yok")

    print(f"Faaliyet Marjı: {faaliyet_marjı}")
    print(f"Brüt Kar Marjı: {brüt_kar_marjı}")
    print(f"Nakit Değeri: {nakit_değeri} TL")

    # Özkaynak Karlılığı (ROE)
    try:
        özkaynak = bilanço.loc['Total Stockholder Equity'].iloc[0]
        roe = (net_kar / özkaynak) * 100
        print(f"Özkaynak Karlılığı (ROE): {roe:.2f}%")
    except (KeyError, ZeroDivisionError):
        print("ROE hesaplanamadı.")

    # Hisse Geri Alımları ve Nakit Akış
    try:
        hisse_geri_alımları = nakit_akış.loc['Repurchase of Stock'].iloc[0]
        print(f"Hisse Geri Alımları: {hisse_geri_alımları} TL")
    except KeyError:
        print("Hisse geri alım verileri bulunamadı.")

# Kullanıcıdan hisse sembolü alma
hisse = input("Analiz etmek istediğiniz hisse senedi sembolünü girin (örn: 'GARAN.IS'): ")
temel_analiz(hisse)
Osman Bayrak
Osman Bayrak

Yazılım Mühendisiyim. Teknoloji ve yazılıma meraklıyım.

Articles: 154