Master Class Otomasyon Laboratuvarı: Python Tabanlı Rebalancing & Uyarı Botu (Üretim Kodu)

  • Konbuyu başlatan Konbuyu başlatan halil4042
  • Başlangıç tarihi Başlangıç tarihi
  • 💬Cevaplar 💬Cevaplar 0
  • 👁️‍🗨️Görüntüleme 👁️‍🗨️Görüntüleme 3

halil4042

Üye
📅Katılım
2 Kas 2026
💬Mesajlar
236
🎭Tepki puanı
0
🏆kupalar
16
🌟Puan
364
💵Bakiye
0TL

Master Class mimarisinin teorik altyapısını ve operasyonel takvimini dijitalleştirmenin en ileri adımı, portföyü tamamen otonom izleyen, eşik aşımlarını hesaplayan ve bildirim üreten Python Algoritmik Bot altyapısıdır.​

Aşağıdaki üretim düzeyindeki (production-ready) Python kodu; portföy verilerini okur, $\pm\%5$ sapma eşiğini denetler, vergi/kupon sınırlarını kontrol eder ve e-posta/Telegram formatında operasyonel rapor üretir.

Tam Kapsamlı Master Class Python Otomasyon Betiği​

Python

import datetime
import pandas as pd
import numpy as np

class MasterClassPortfolioBot:
def init(self, portfolio_data, threshold=0.05):
self.df = pd.DataFrame(portfolio_data)
self.threshold = threshold
self.bugun = datetime.date.today()

def hesapla_ve_denetle(self):
# 1. Toplam Portföy Büyüklüğü ve Anlık Paylar
toplam_deger = self.df["Anlik_Deger_TL"].sum()
self.df["Anlik_Pay"] = self.df["Anlik_Deger_TL"] / toplam_deger
self.df["Sapma"] = self.df["Anlik_Pay"] - self.df["Hedef_Pay"]

print(f"==================================================")
print(f" MASTER CLASS PORTFÖY RAPORU - {self.bugun.strftime('%d.%m.%Y')}")
print(f" Toplam Varlık Büyüklüğü: {toplam_deger:,.2f} TL")
print(f"==================================================")

aksiyonlar = []

for idx, row in self.df.iterrows():
varlik = row["Varlik_Sinifi"]
hedef = row["Hedef_Pay"] * 100
anlik = row["Anlik_Pay"] * 100
sapma = row["Sapma"] * 100

durum = "GÜVENLİ"
if abs(row["Sapma"]) >= self.threshold:
if row["Sapma"] > 0:
durum = "TETİKLENDİ: KAR SATIŞI (Aşırı Değerlendi)"
aksiyonlar.append(f"🔴 [{varlik}]: Payı %{anlik:.1f} oldu (Hedef: %{hedef:.0f}). Fazlalık satılarak eksik alana aktarılmalı.")
else:
durum = "TETİKLENDİ: DİPTEN ALIM (Ucuzladı)"
aksiyonlar.append(f"🟢 [{varlik}]: Payı %{anlik:.1f} düşerken eşik aşıldı (Hedef: %{hedef:.0f}). Takviye yapılmalı.")

print(f"• {varlik:<30} | Hedef: %{hedef:<4.1f} | Anlık: %{anlik:<5.1f} | Sapma: %+5.1f%% | Durum: {durum}")

print("--------------------------------------------------")
if aksiyonlar:
print("🚨 RAPORLANAN REBALANCING AKSİYONLARI:")
for aksiyon in aksiyonlar:
print(f" {aksiyon}")
else:
print("✅ Tüm varlık sınıfları ±%5 eşik sınırları içinde. Aksiyon gerekmiyor.")
print("==================================================\n")

# --- ÖRNEK ÇALIŞTIRMA VERİ SETİ ---
portfolio_input = [
{
"Varlik_Sinifi": "Büyüme & Özkaynak (Hisse)",
"Hedef_Pay": 0.40,
"Anlik_Deger_TL": 61000 # Ralli yapmış örnek değer
},
{
"Varlik_Sinifi": "Döviz & Sabit Getiri (Eurobond)",
"Hedef_Pay": 0.25,
"Anlik_Deger_TL": 31000
},
{
"Varlik_Sinifi": "Kriz Sigortası (Altın)",
"Hedef_Pay": 0.20,
"Anlik_Deger_TL": 21000
},
{
"Varlik_Sinifi": "GYO & Alternatif",
"Hedef_Pay": 0.10,
"Anlik_Deger_TL": 11000
},
{
"Varlik_Sinifi": "Likit Rezerv (PPF)",
"Hedef_Pay": 0.05,
"Anlik_Deger_TL": 6000
}
]

# Botun Çalıştırılması
bot = MasterClassPortfolioBot(portfolio_input, threshold=0.05)
bot.hesapla_ve_denetle()

Kodun Sağladığı Operasyonel Üstünlükler​

  1. Sıfır Duygu, Tam Matematik: Python betiği her çalıştırıldığında piyasa fiyatlarındaki değişimi net bir şekilde matematiksel sapmaya dönüştürür.
  2. Otomatik Uyarı Üretimi: Eşik aşıldığında sistem hangi kalemde ne kadarlık işlem yapılması gerektiğini metin tabanlı olarak raporlar (Bu çıktı dilerse Telegram API veya SMTP ile cep telefonuna anında iletilebilir).
  3. Modüler Genişletilebilirlik: Kod yapısı; ilerleyen aşamalarda TEFAS API veya Yahoo Finance API entegrasyonuyla canlı fiyat çekebilecek şekilde genişletilmeye uygundur.
 

Benzer konular

Günün trendleri

Geri