Bu Python kodu, yatırımcıların hisse senetlerinin potansiyel değerini hesaplamalarına yardımcı olmak için tasarlanmıştır. yfinance
kütüphanesini kullanarak, belirli bir hisse senedinin finansal verilerini alır ve bu veriler üzerinden potansiyel piyasa değerini, olması gereken fiyatı ve prim potansiyelini hesaplar.
Kodun İşleyişi
- Hisse Verilerini Alma: Kullanıcıdan alınan hisse ismi ile
yfinance
kütüphanesi aracılığıyla hisse senedinin finansal bilgileri çekilir. Bu bilgiler arasında özsermaye, yıllık net faaliyet karı ve son fiyat gibi veriler bulunmaktadır. - Hesaplamalar:
- Özsermaye: Hisse senedinin toplam özsermayesi hesaplanır.
- Yıllık Net Faaliyet Karı: Hisse senedinin yıllık net faaliyet karı belirlenir.
- Potansiyel Piyasa Değeri: Hisse senedinin potansiyel piyasa değeri, yıllık net faaliyet karı ve özsermaye kullanılarak hesaplanır.
- Olması Gereken Fiyat: Potansiyel piyasa değeri üzerinden hisse başına olması gereken fiyat hesaplanır.
- Prim Potansiyeli: Son fiyat ile olması gereken fiyat arasındaki oran hesaplanarak prim potansiyeli yüzdesi bulunur.
- Sonuçların Gösterimi: Hesaplanan değerler, kullanıcıya okunabilir bir formatta sunulur.
Kullanım
Kodu çalıştırdıktan sonra, kullanıcıdan hisse ismini girmesi istenir. Örneğin, “EREGL.IS” gibi bir hisse ismi girilebilir. Kullanıcı “çık” yazarak programdan çıkabilir. Program, girilen hisse ismi için potansiyel değer hesaplamalarını yapar ve sonuçları ekrana yazdırır.
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
def hesapla_potansiyel(hisse_ismi):
# Hisse verilerini al
hisse = yf.Ticker(hisse_ismi)
# Hisse bilgilerini al
try:
ozsermaye = hisse.info['bookValue'] * hisse.info['sharesOutstanding']
yillik_net_faaliyet_kari = hisse.info['trailingEps'] * hisse.info['sharesOutstanding']
son_fiyat = hisse.history(period='1d')['Close'][-1]
odenmis_sermaye = hisse.info['sharesOutstanding'] # Ödenmiş sermaye genellikle hisse adedi olarak alınır
except KeyError:
print("Gerekli veriler alınamadı. Lütfen hisse ismini kontrol edin.")
return
# Potansiyel piyasa değeri hesapla
potansiyel_piyasa_degeri = (yillik_net_faaliyet_kari * 7) + (0.5 * ozsermaye)
# Olması gereken fiyat hesapla
olmasi_gereken_fiyat = potansiyel_piyasa_degeri / odenmis_sermaye
# Prim potansiyeli hesapla
prim_potansiyeli = olmasi_gereken_fiyat / son_fiyat
yuzde_prim_potansiyeli = (prim_potansiyeli - 1) * 100
# Sonuçları yazdır
print(f"\nHisse: {hisse_ismi}")
print(f"Özsermaye: {ozsermaye:.2f} TL")
print(f"Yıllık Net Faaliyet Karı: {yillik_net_faaliyet_kari:.2f} TL")
print(f"Son Fiyat: {son_fiyat:.2f} TL")
print(f"Potansiyel Piyasa Değeri: {potansiyel_piyasa_degeri:.2f} TL")
print(f"Olması Gereken Fiyat: {olmasi_gereken_fiyat:.2f} TL")
print(f"Prim Potansiyeli: %{yuzde_prim_potansiyeli:.2f}\n")
# Kullanıcıdan hisse ismini sürekli al
while True:
hisse_ismi = input("Hisse ismini girin (örneğin: EREGL.IS) veya çıkmak için 'çık' yazın: ")
if hisse_ismi.lower() == 'çık':
print("Programdan çıkılıyor...")
break
hesapla_potansiyel(hisse_ismi)