This repository was archived by the owner on Feb 12, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmarketdata.py
More file actions
76 lines (60 loc) · 2.64 KB
/
Copy pathmarketdata.py
File metadata and controls
76 lines (60 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import tkinter as tk
from tkinter import messagebox, font
import yfinance as yf
def fetch_stock_data():
symbol = entry_symbol.get().strip().upper()
if not symbol:
messagebox.showerror("Hata", "Lütfen bir hisse senedi sembolü girin.")
return
try:
stock = yf.Ticker(symbol)
historical_data = stock.history(period='1d')
if historical_data.empty:
messagebox.showerror("Hata", "Geçersiz hisse senedi sembolü.")
return
latest_data = historical_data.iloc[-1]
label_result.config(text=(
f'Sembol: {symbol}\n\n'
f'Tarih: {latest_data.name.date()}\n\n'
f'Açılış Fiyatı: {format_price(latest_data["Open"])}\n\n'
f'Yüksek Fiyat: {format_price(latest_data["High"])}\n\n'
f'Düşük Fiyat: {format_price(latest_data["Low"])}\n\n'
f'Kapanış Fiyatı: {format_price(latest_data["Close"])}\n\n'
f'Hacim: {latest_data["Volume"]}'
))
# Kalın font ayarları
formatted_text = (
f'Sembol: {symbol}\n\n'
f'Tarih: {latest_data.name.date()}\n\n'
f'Açılış Fiyatı: {format_price(latest_data["Open"])}\n\n'
f'Yüksek Fiyat: {format_price(latest_data["High"])}\n\n'
f'Düşük Fiyat: {format_price(latest_data["Low"])}\n\n'
f'Kapanış Fiyatı: {format_price(latest_data["Close"])}\n\n'
f'Hacim: {latest_data["Volume"]}'
)
label_result.config(text=formatted_text)
except Exception as e:
messagebox.showerror("Hata", f"Veri alınırken hata oluştu: {str(e)}")
def format_price(price):
return f"{price:.2f}"
# Ana pencereyi oluştur
root = tk.Tk()
root.title("Hisse Senedi Verileri")
root.geometry("400x350") # Pencere boyutu
root.configure(bg="#f0f0f0") # Arka plan rengi
# Yazı tipi ayarları
header_font = font.Font(family="Helvetica", size=14, weight="bold")
label_font = font.Font(family="Helvetica", size=12)
# Kullanıcıdan hisse senedi sembolü girişi
label_prompt = tk.Label(root, text="Hisse Senedi Sembolü (ör. AAPL, MSFT):", bg="#f0f0f0", font=header_font)
label_prompt.pack(pady=10)
entry_symbol = tk.Entry(root, font=label_font, width=20)
entry_symbol.pack(pady=5)
# Verileri al butonu
button_fetch = tk.Button(root, text="Verileri Al", command=fetch_stock_data, bg="#4CAF50", fg="white", font=label_font, relief=tk.RAISED)
button_fetch.pack(pady=10)
# Sonuçları göstermek için etiket
label_result = tk.Label(root, text="", justify=tk.LEFT, bg="#f0f0f0", font=label_font)
label_result.pack(pady=10)
# Ana döngüyü başlat
root.mainloop()