iToverDose/Yazılım· 2 HAZIRAN 2026 · 04:01

Python ile ABD Hisse Senedi Zaman Dilimlerini WebSocket Verilerinden Ayırma

ABD piyasalarının farklı oturum saatlerinde alım-satım verilerini doğru analiz etmek için Python kodlarıyla nasıl sınıflandırabileceğinizi keşfedin. Ön piyasa, normal ve kapanış sonrası oturumlarını ayırt etmenin püf noktaları burada.

DEV Community3 dk okuma0 Yorumlar

ABD hisse senetlerine ait gerçek zamanlı WebSocket verileriyle çalışırken, fiyat göstergelerinizin neden olağandışı hareket ettiğini hiç merak ettiniz mi? Piyasaların kapalı olduğu saatlerde oluşan veriler, algoritmalarınızın performansını doğrudan etkileyebilir. Neyse ki, bu sorunun üstesinden gelmek için basit bir Python çözümü mevcut. İşte ABD piyasalarının farklı oturumlarına ait verileri nasıl tanımlayacağınıza dair adım adım rehber.

ABD Piyasası Oturumlarının Temel Özellikleri

ABD hisse senetleri piyasasının üç ana oturumunda farklı fiyat ve hacim dinamikleri gözlemlenir. Bu oturumları doğru şekilde ayırt etmek, veri temizliği ve algoritmik stratejiler için kritik önem taşır:

  • Ön Piyasa (Pre-market): 04:00 – 09:30 EST

Düşük hacimli ve dalgalı fiyat hareketleriyle karakterize edilir. Genellikle kurumsal haberlere tepki olarak ortaya çıkar.

  • Normal Oturum (Regular Hours): 09:30 – 16:00 EST

Yüksek likidite ve istikrarlı fiyat akışıyla en yoğun işlemlerin gerçekleştiği dönemdir.

  • Kapanış Sonrası (After-hours): 16:00 – 20:00 EST

Haber akışına bağlı olarak yüksek volatiliteye sahip olabilir, ancak hacim genellikle normal oturuma kıyasla daha düşüktür.

Yöntem 1: Zaman Damgasını ABD Doğu Saatine Dönüştürme

Çoğu veri sağlayıcısı, zaman damgalarını UTC olarak gönderir. Bu bilgiyi ABD Doğu Saati’ne (EST) çevirerek oturumları sınıflandırabilirsiniz. İşte basit bir Python uygulaması:

from datetime import datetime
import pytz

# ABD Doğu Saati bölgesini tanımlayın
us_eastern = pytz.timezone('US/Eastern')

def oturum_belirle(zaman_damgasi):
    # UTC zaman damgasını ABD Doğu Saati'ne çevirin
    yerel_zaman = datetime.fromtimestamp(zaman_damgasi, us_eastern)
    
    # Ön piyasa: 04:00 – 09:30
    if yerel_zaman.hour < 9 or (yerel_zaman.hour == 9 and yerel_zaman.minute < 30):
        return "ön_piyasa"
    
    # Normal oturum: 09:30 – 16:00
    elif yerel_zaman.hour < 16:
        return "normal"
    
    # Kapanış sonrası: 16:00 – 20:00
    else:
        return "kapanis_sonrasi"

Bu yöntem, herhangi bir üçüncü taraf kütüphanesine ihtiyaç duymadan doğrudan yerel zaman dilimine göre sınıflandırma yapmanızı sağlar. Önemli olan, zaman damgasının doğru şekilde dönüştürülmesidir.

Yöntem 2: Sağlayıcıdan Gelen Oturum Bilgisini Kullanma

Bazı veri sağlayıcıları, sessionType veya benzeri bir alanla birlikte verileri gönderir. Bu durumda, zaman dilimi dönüştürmeye gerek kalmadan doğrudan oturum bilgisi kullanılabilir. Ancak, oturum geçiş saatlerinde (örneğin 09:30 veya 16:00) hassasiyeti kontrol etmek önemlidir. Yanlış sınıflandırmaları önlemek için sınır koşullarını test edin.

Gerçek Zamanlı WebSocket Entegrasyonu

Gerçek zamanlı veri akışında, her yeni fiyat güncellemesiyle birlikte oturum bilgisi de kaydedilebilir. Aşağıdaki örnekte, AllTick gibi bir WebSocket sağlayıcısından gelen verileri anında sınıflandıran bir sistem gösterilmektedir:

import websocket
import json
from datetime import datetime
import pytz

# ABD Doğu Saati bölgesini tanımlayın
us_eastern = pytz.timezone('US/Eastern')

def oturum_belirle(zaman_damgasi):
    yerel_zaman = datetime.fromtimestamp(zaman_damgasi, us_eastern)
    if yerel_zaman.hour < 9 or (yerel_zaman.hour == 9 and yerel_zaman.minute < 30):
        return "ön_piyasa"
    elif yerel_zaman.hour < 16:
        return "normal"
    else:
        return "kapanis_sonrasi"

def mesaj_isleme(ws, mesaj):
    veri = json.loads(mesaj)
    oturum_tipi = oturum_belirle(veri["timestamp"])
    
    # Sembol, oturum tipi, fiyat ve hacmi ekrana yazdırın
    print(f"{veri['symbol']} | {oturum_tipi} | {veri['price']} | {veri['volume']}")

# WebSocket bağlantısını başlatın
ws = websocket.WebSocketApp(
    "wss://ws.alltick.co/stock",
    on_message=mesaj_isleme
)
ws.run_forever()

Bu yaklaşım, verilerin işlenmesi sırasında oturum bilgilerini anında etiketleyerek, algoritmalarınızın yalnızca ilgili piyasa saatlerinde çalışmasını sağlar. Böylece gereksiz gürültüden arındırılmış, daha güvenilir sinyaller elde edersiniz.

Veri İşleme Verimliliği ve Önemi

Oturum sınıflandırmanın gerçek zamanlı veri akışına entegre edilmesi, sadece birkaç satırlık bir kod değişikliğine mal olurken, algoritmik ticaret stratejilerinizin doğruluğunu önemli ölçüde artırır. Örneğin, hareketli ortalama hesaplamaları yaparken yalnızca normal oturum verilerini kullanabilir, ön piyasa ve kapanış sonrası verilerinden kaynaklanan sapmaları ortadan kaldırabilirsiniz. Küçük bir hesaplama maliyetinin uzun vadede büyük avantajlar sağlayacağına şüphe yok.

Verilerinizi doğru şekilde sınıflandırdığınızda, modelinizin hem eğitim hem de canlı ortamda daha tutarlı performans göstermesi kaçınılmazdır. ABD hisse senetleriyle çalışırken bu detaylara dikkat etmek, algoritmik ticaret dünyasında önemli bir rekabet avantajı yaratabilir.

Yapay zeka özeti

ABD piyasalarının farklı oturum saatlerine ait verileri Python kullanarak nasıl ayırt edebilirsiniz? Ön piyasa, normal ve kapanış sonrası oturumlarını WebSocket verilerinden sınıflandırın.

Yorumlar

00
YORUM BIRAK
ID #604PAJ

0 / 1200 KARAKTER

İnsan doğrulaması

8 + 9 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.