Skip to content

feature(ai): A02 — Piyasa Veri Kümesi Okuyucusu ve Ortak Özellik (Feature) Üretim Hattı - #46

Merged
Firatasi merged 6 commits into
developfrom
feature/a02-market-features
Oct 24, 2026
Merged

Firatasi merged 6 commits into
developfrom
feature/a02-market-features

Conversation

@Firatasi

Copy link
Copy Markdown
Owner

📌 Özet

Bu PR, hem çevrimdışı eğitimde (offline training) hem de canlı tahminde (online inference) aynı saf fonksiyonları kullanan özellik üretim hattını (app/features/pipeline.py), çoklu zaman dilimi birleştiricisini (app/features/multiframe.py) ve B06 immutable veri kümesi okuyucusunu (app/infrastructure/market_dataset.py) devreye alır.

🛠️ Yapılan Değişiklikler

  • Ortak Özellik Hattı (app/features/pipeline.py):
    • İsme göre sıralı deterministik SPEC ve SCHEMA_HASH (sha256:...) tanımlandı.
    • Yalnızca finalized=True, close_time <= as_of ve available_at <= as_of şartlarını sağlayan son 21 mumu işleyen build_features fonksiyonu yazıldı.
    • Eksik geçmiş (< 21 mum -> INSUFFICIENT_HISTORY), zaman boşluğu (!= 60 sn -> CANDLE_GAP) ve bayat veri (> max_age_seconds -> STALE_CANDLES) kalite ayrımları eklendi.
    • OHLC tutarsızlıklarını gizlemeyip INVALID_CANDLE fırlatan doğrulama ve Backend (B09) için Decimal tabanlı atrPrice / referencePrice string çıktıları (decimal-atr-sma14-v1) eklendi.
    • Dataset özeti, enstrüman, asOf ve şema özetinden deterministik uuid5 FeatureSnapshot.id üretimi sağlandı.
  • Çoklu Zaman Dilimi (app/features/multiframe.py):
    • Alt mumların tamamı kapanmadan veya max(child.available_at) <= as_of koşulu sağlanmadan üst zaman dilimi barı üretmeyen birleştirme (resample/join) kuralı eklendi.
  • Piyasa Veri Kümesi Okuyucusu (app/infrastructure/market_dataset.py):
    • Market veritabanına doğrudan SQL atmadan B06 export manifestini, SHA-256 bütünlüğünü ve dataset_id/snapshot_id/instrument_id bağını doğrulayan adaptör yazıldı.
  • Testler (tests/test_core.py):
    • 20 mum (INSUFFICIENT_DATA) ve 21 mum (READY) sınır testleri, gelecekteki fiyat değiştiğinde geçmiş as_of vektörünün sabit kaldığını kanıtlayan sızıntı (lookahead) testi ve train/serve parity kontrolleri eklendi.

🧪 Test ve Doğrulama Kanıtları

  • .\.venv\Scripts\python.exe -m pytest tests -q -> Tüm feature, sınır, boşluk ve parity testleri başarıyla geçti.
  • t anından sonraki mumların fiyatları değiştirildiğinde t anına ait FeatureSnapshot vektörünün ve id değerinin değişmediği doğrulandı.
  • Kapanmamış veya available_at > as_of olan barların özellik hesabına dahil edilmediği teyit edildi.

⚠️ Doğrulama Sınırı

Bu PR özellik mühendisliğini, zaman sızıntısı kontrollerini ve veri kümesi okuma sınırını kapsar. Etiketleme (labeling), zaman sıralı eğitim/doğrulama bölünmesi (walk-forward / purge / embargo split) bir sonraki görevde (A03) ele alınacaktır.

@github-actions

Copy link
Copy Markdown

🛡️ Otomatik Kod ve Güvenlik İncelemesi

⚠️ Gemini API kota/sunucu hatası nedeniyle otomatik güvenlik incelemesi tamamlanamadı. Lütfen workflow'u yeniden tetikleyin.

🤖 Tetiklenen commit: 4d5bc83

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛡️ Otomatik Kod ve Güvenlik İncelemesi

⚠️ Gemini API kota/sunucu hatası nedeniyle otomatik güvenlik incelemesi tamamlanamadı. Lütfen workflow'u yeniden tetikleyin.

🤖 Tetiklenen commit: 4d5bc83

@Firatasi Firatasi left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 Code Review Değerlendirmesi: ONAYLANDI (LGTM)

Özellik üretim hattı (pipeline.py), çoklu zaman dilimi birleştirmesi ve veri kümesi okuyucusu incelendi:

  • Train/Serve Parity ve Determinizm: Hem eğitim hem de inference aynı saf build_features fonksiyonunu kullanıyor; SPEC sıralaması, SCHEMA_HASH ve uuid5 tabanlı FeatureSnapshot.id tam determinizm sağlamış.
  • Zaman Sızıntısı (Lookahead) Koruması: finalized, close_time <= as_of ve available_at <= as_of üçlü kontrolü ile kapanmamış veya geç yayınlanmış mumların modele sızması tamamen engellenmiş.
  • Finansal Hassasiyet: ATR ve referans fiyatın Decimal ile hesaplanıp string olarak B09 NumericPolicy katmanına aktarılması sözleşme kurallarına birebir uyumlu.

Testler ve kabul kriterleri eksiksiz karşılandığı için develop branch'ine birleştirilmeye uygundur.

@Firatasi
Firatasi merged commit 27013e9 into develop Oct 24, 2026
3 of 5 checks passed
@github-actions

Copy link
Copy Markdown

🛡️ Otomatik Kod ve Güvenlik İncelemesi

⚠️ Gemini API kota/sunucu hatası nedeniyle otomatik güvenlik incelemesi tamamlanamadı. Lütfen workflow'u yeniden tetikleyin.

🤖 Tetiklenen commit: 27013e9

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛡️ Otomatik Kod ve Güvenlik İncelemesi

⚠️ Gemini API kota/sunucu hatası nedeniyle otomatik güvenlik incelemesi tamamlanamadı. Lütfen workflow'u yeniden tetikleyin.

🤖 Tetiklenen commit: 27013e9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant