Yapay zeka alım satım geçmişi nasıl doğrulanır?
Yapay zeka alım satım performansının doğrulanması için gereken altı temel kriter. Tek bir çeyrek dönemlik sonuçların neden yetersiz olduğu ve piyasa verileriyle kontrol yöntemleri.
Bir yapay zeka (AI) alım satım geçmişi, yabancı bir gözlemci geçmişe dönük kayıtları kullanarak sonuçları yeniden oluşturabildiğinde doğrulanabilir hale gelir. İnternette yayınlanan içeriklerin çok azı bu kriteri karşılar. Aşağıda, bir okuyucunun yaklaşık iki dakika içinde uygulayabileceği kontrol listesi yer almaktadır; bu listenin dört maddesi piyasa verilerine dayanır: kıyaslama (benchmark), zaman damgaları, işlem maliyetleri ve örneklem süresi.
Bir AI alım satım geçmişini ne doğrulanabilir kılar?
Altı özellik. Bunların her biri, öznel bir yargıdan ziyade kontrol edebileceğiniz somut unsurlardır.
- Sonuçlar bilinmeden önce yayınlanan girişler. Zaman damgası, yazarın değiştiremeyeceği bir yerde (örneğin o anda gönderilmiş bir commit veya aracı kurum ekstresi) bulunmalıdır. Geçmiş işlemleri listeleyen bir dosya, işlemin kaydı değil, geçmişe dair bir iddiadır.
- Başlangıçta belirlenen ve asla değiştirilmeyen tek bir kıyaslama. "Piyasayı yenmek", karşılaştırma belirli bir dönemde belirli bir fona sabitlenmediği sürece hiçbir anlam ifade etmez.
- Raporlanan rakamların içindeki maliyetler. Komisyonlar, düzenleyici ücretler, kısa pozisyonlardaki borçlanma maliyetleri ve hem girişte hem de çıkışta ödenen spread.
- Düzenlenmiş değil, sürümlendirilmiş bir çalışma günlüğü (runbook). Kayıt, halka açık bir depo (repository) tarafından desteklendiğinde, faydalı bağlantı etiketli bir sürüme veya commit hash değerine işaret etmelidir. Varsayılan dala (default branch) verilen bir bağlantı, Mart ayında işlem yapan strateji olmayabilecek bugünkü stratejiyi gösterir.
- Kaybedenler dahil her pozisyon ve her hesap. İşlem gören beş hesaptan sadece birinin yayınlanması bir seçkidir.
- Gerçekleşebilir emirler için yeterli başlangıç sermayesi. Birkaç yüz dolarlık bir tutar, gerçek bir emrin basılı fiyattan asla gerçekleşmeyeceği pozisyonları "tutabilir".
Bu maddelerden birinin eksik olması, kaydın otomatik olarak sahte olduğu anlamına gelmez. Ancak bu durum, kaydın doğrulanamaz olduğunu gösterir ki bu da daha yaygın ve okuyucu için aynı derecede değersizdir.
Kıyaslama neden önceden belirlenmelidir?
Sonuçlar belli olduktan sonra seçilen bir kıyaslama, finans dünyasındaki en ucuz avantajdır. Altı büyük ABD endeks fonu, 2026'nın aynı altı ayı, sadece fiyat değişimi:
Her verinin arkasındaki tam SQL
WITH rets AS (
SELECT ticker,
round(100 * (toFloat64(argMax(close, window_start))
/ toFloat64(argMin(close, window_start)) - 1), 2) AS return_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'IWM', 'DIA', 'RSP', 'MDY')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-02')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker
)
SELECT ticker,
return_pct,
round(return_pct - min(return_pct) OVER (), 2) AS points_above_worst
FROM rets
ORDER BY return_pct DESCIWM, 21.12% getiri sağlarken DIA, 8.42% getiri sağlamış; bu da aynı dönem içinde 6'in en üstü ile en altı arasında 12.7 puanlık bir fark bırakmıştır. Dönem kapandıktan sonra hangisiyle kıyaslama yapılacağını seçmek, o aradaki farkın tamamını kazandırır ve bunun için herhangi bir stratejiye gerek yoktur. Bunlar temettü öncesi fiyat getirileridir; bu, en başta belirtilmesi gereken ikinci bir ölçüm kuralıdır (aylık getirilerin nasıl ölçüldüğü toplam getiri aritmetiğini kapsar).
Giriş zaman damgası neden iddianın tamamıdır?
Fiyat hareketinden sonra görünen bir giriş, sadece bir grafiğin açıklamasıdır. Bir piyasanın tek bir seans içinde katettiği mesafe o kadar geniştir ki, "09:35'te paylaşıldı" ile "15:55'te paylaşıldı" arasındaki fark, iddia edilen çoğu avantajı gölgede bırakır. İşte 2026'nın ilk yarısında, her seansın ilk işleminden ölçülen bu mesafe:
Her verinin arkasındaki tam SQL
WITH minute_px AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toTimeZone(window_start, 'America/New_York') AS et,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-02')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
),
opens AS (
SELECT session_date, argMin(px, et) AS open_px
FROM minute_px
GROUP BY session_date
),
buckets AS (
SELECT session_date,
toStartOfInterval(et, INTERVAL 30 MINUTE) AS bucket,
argMax(px, et) AS bucket_px
FROM minute_px
GROUP BY session_date, bucket
)
SELECT formatDateTime(b.bucket, '%H:%i') AS et_time,
count() AS session_count,
round(quantileDeterministic(0.5)(abs(100 * (b.bucket_px / o.open_px - 1)),
cityHash64(b.session_date)), 3) AS median_abs_move_pct
FROM buckets AS b
INNER JOIN opens AS o ON b.session_date = o.session_date
GROUP BY et_time
ORDER BY et_time09:30 ET aralığında, medyan seans açılış fiyatından 0.216% uzakta kapandı. 15:30 aralığında ise medyan mesafe 0.415% oldu. Bir aracın açılışta bildiği her şey, bu hareketin neredeyse tamamını dışarıda bırakır. Bir commit geçmişi veya tarihli bir halka açık akış, sıralamanın kanıtını taşır (AI günlük piyasa araştırma raporları aynı özelliğe dayanır). Bir özkaynak eğrisi ekran görüntüsü ise bunların hiçbirini taşımaz.
Rakamların içinde neler olmalıdır?
Brüt getiriler, kimsenin sahip olamayacağı bir portföyü tanımlar. Her giriş ve çıkış, alış-satış spread'ini (en iyi alış ve en iyi satış fiyatı arasındaki fark) geçer ve bu fark her hissede aynı değildir:
Her verinin arkasındaki tam SQL
SELECT ticker,
round(quantileDeterministic(0.5)(20000 * (toFloat64(ask_price) - toFloat64(bid_price))
/ (toFloat64(ask_price) + toFloat64(bid_price)),
cityHash64(sip_timestamp)), 2) AS median_spread_bps,
round(25000 * quantileDeterministic(0.5)(2 * (toFloat64(ask_price) - toFloat64(bid_price))
/ (toFloat64(ask_price) + toFloat64(bid_price)),
cityHash64(sip_timestamp)), 2) AS round_trip_cost_per_25k_usd
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'MSTR')
AND sip_timestamp >= toDateTime('2026-07-15 15:00:00')
AND sip_timestamp < toDateTime('2026-07-15 16:00:00')
AND bid_price > 1
AND ask_price > bid_price
GROUP BY ticker
ORDER BY median_spread_bps DESCGünün orta saatindeki o bir saatlik dilimde, medyan spread MSTR üzerinde 10.08 baz puan iken SPY üzerinde 0.27 idi. Bir baz puan, yüzde birin yüzde biridir. 25.000 dolarlık bir pozisyonda, bu spread'i her iki yönde bir kez geçmek, komisyonlar hariç, bu listenin geniş ucunda 25.2 dolar, dar ucunda ise 0.66 dolar maliyet yaratır. Haftada bir kez tamamen dönen bir portföy bu bedeli yılda yaklaşık elli kez öder; bunu içermeyen bir kayıt, bu dolarları sessizce kendine kredi olarak yazmış olur (bir hisse senedi alıp satmanın maliyeti faturanın geri kalanını detaylandırır).
Canlı sonuçların bir anlam ifade etmesi için ne kadar süre gerekir?
Canlı alım satımın bir çeyreği, geniş bir dağılımdan alınan tek bir örnektir ve bu genişlik ölçülebilir. Ocak 2015'ten bu yana, en büyük S&P 500 takip fonu olan SPY için belirli uzunluktaki her örtüşen dönem, yüzdelik dilimlere göre sıralanmıştır:
Her verinin arkasındaki tam SQL
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toFloat64(argMax(close, window_start)) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2015-01-02')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session_date
),
series AS (
SELECT groupArray(close_px) AS px
FROM (SELECT close_px FROM daily ORDER BY session_date)
),
horizons AS (
SELECT arrayJoin([21, 63, 126, 252]) AS sessions, px
FROM series
),
windows AS (
SELECT sessions,
arrayJoin(arrayMap(i -> (i, 100 * (px[i + sessions] / px[i] - 1)),
range(1, length(px) - sessions + 1))) AS w
FROM horizons
),
measured AS (
SELECT sessions,
w.1 AS window_index,
w.2 AS window_return_pct
FROM windows
)
SELECT multiIf(sessions = 21, '1 month',
sessions = 63, '3 months',
sessions = 126, '6 months',
'12 months') AS holding_period,
count() AS window_count,
round(quantileDeterministic(0.05)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS p05_return_pct,
round(quantileDeterministic(0.50)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS median_return_pct,
round(quantileDeterministic(0.95)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS p95_return_pct,
round(quantileDeterministic(0.95)(window_return_pct,
cityHash64(window_index * 1000 + sessions))
- quantileDeterministic(0.05)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS spread_pct,
round(stddevSamp(window_return_pct), 1) AS stdev_pct
FROM measured
GROUP BY sessions
ORDER BY sessions2826 adet örtüşen üç aylık dönemde, sadece elde tutup hiçbir şey yapmamanın medyan sonucu 3.9% olmuş; 5. yüzdelik dilim -8.8%, 95. yüzdelik dilim ise 12.2% seviyesinde gerçekleşerek 21.1 puanlık bir bant oluşturmuştur. Bu bant içindeki herhangi bir çeyreklik sonuç, endekse sahip olup tatile çıkmakla tutarlıdır. Yirmi adet AI aracı başlatın, bir çeyrek boyunca çalıştırın, en iyisini yayınlayın; ekrandaki sayı, kurgu gereği böyle bir bandın tepesinden gelecektir.
Örneklem uzunluğu konusundaki aritmetik acımasızdır. Aynı serideki on iki aylık sonuçlar 13.6 puanlık bir standart sapmaya sahiptir. Gerçek bir avantajı gürültüden ayırmak, kabaca (2 × varyasyon ÷ avantaj)² yıl süren canlı sonuç gerektirir. Bu varyasyon seviyesinde, yıllık 3 puanlık varsayımsal bir avantajın doğrulanması onlarca yıl, 10 puanlık bir avantajınki bile aylar değil yıllar sürer. Yukarıdaki dönemler örtüşmektedir, bu nedenle 2826 bağımsız örneklemleri değil, örtüşen dönemleri sayar.
25.000 dolarlık gerçek para durumu çözer mi?
Gerçek para, kanıtı belirli bir şekilde yükseltir. Kağıt üzerinde alım satım (paper trading), hiçbir karşı tarafın kabul etmediği fiyatlardan gerçekleşir ve hiçbir zaman emir reddi yaşanmaz. 25.000 dolarlık fonlu bir hesap, canlı fiyatlar üzerinden gerçekleşir, gerçek komisyonlar öder, üçüncü tarafların denetleyebileceği ekstreler sunar ve pozisyon büyüklükleri, gerçekleşmelerin hayali değil sıradan olmasını sağlayacak kadar büyüktür.
Ancak bu, örneklem sorununu çözmez. Dört ay boyunca işlem gören yirmi beş bin dolar, hala yukarıdaki dağılımdan alınan tek bir örnektir ve canlı bir hesap, bir düşüşten (drawdown) sonra kapatılıp kayıt sıfırdan başlatılarak yeniden açılabilir. Büyüklük, gerçekleşmeleri dürüst kılar. Sadece zaman, sonuçları bilgilendirici kılar.
Tanınması gereken dört başarısızlık modu
- Bir geçmiş performans kaydı kılığına girmiş backtest. Geçmiş veriler üzerindeki simüle edilmiş sonuçlar, geçmişe dair hipotezlerdir. İleriye dönük önyargı (look-ahead bias), bir simülasyonun stratejinin o anda sahip olamayacağı bilgileri nasıl emdiğini gösterir; bunun en belirgin işareti, kodun yazıldığı tarihten yıllar önce başlayan bir özkaynak eğrisidir.
- Sahnede sadece hayatta kalanın olması. On araç başlatıldı, biri yayınlandı. Çok etmenli AI alım satım sistemleri bunu kazara yapmayı kolaylaştırır, çünkü on varyantı çalıştıran çerçeve aynı zamanda hakkında yazılmaya değer olanı da seçer.
- Yeniden başlatma. Bir düşüş, bir duraklama, yeni bir hesap ve yeniden başlama tarihinde başlayan bir eğri. Sorunu çözecek soru şudur: İlk hesabın ilk dolarından itibaren özkaynak eğrisini gösterin.
- Yeniden yazılmış çalışma günlüğü. İşlem ile yazı arasında değiştirilen komutlar (prompt) ve pozisyon limitleri. LLM tarafından üretilen alfa faktörleri binlerce üretilebilir, bu nedenle seçim kuralı seçimden önce yayınlanmalıdır; aksi takdirde kayıt, hangi faktörlerin işe yaradığına dair bir hikayeye dönüşür.
SSS
Bir AI alım satım geçmişi doğrulanabilir mi?
Evet; girişler sonuçlar bilinmeden önce yayınlandığında, kıyaslama önceden sabitlendiğinde, maliyetler rakamların içinde olduğunda ve her hesap gösterildiğinde. Kontrol mekaniktir ve dakikalar sürer. Yayınlanan kayıtların çoğu ilk maddede başarısız olur.
Canlı bir AI alım satım kaydı ne kadar süre çalışmalıdır?
Yayınlanan hemen hemen her kayıttan daha uzun. Endeks için on iki aylık sonuçlar, burada ölçülen dönemlerde 13.6 puanlık bir standart sapmaya sahipti; bu nedenle mütevazı bir avantajı şanstan ayırmak, geleneksel güven düzeylerinde en az yıllar, küçük bir avantaj için ise on yıllar sürer.
25.000 dolar, bir AI portföyünün sonuçlarını anlamlı kılmak için yeterli mi?
Gerçekleşmelerin gerçek olması için yeterlidir: canlı fiyatlar, gerçek komisyonlar, denetlenebilir ekstreler. Birkaç aylık sonuçları istatistiksel olarak anlamlı kılmak için yeterli değildir; bu, hesap büyüklüğünden ziyade geçen zamanla ilgili bir sorudur.
Backtest ile alım satım geçmişi arasındaki fark nedir?
Backtest, kuralları zaten var olan verilere uygular. Alım satım geçmişi ise sonuçlarından önce yayınlanan bir dizi karardır. Sadece ikincisi, bir sonraki adımda ne olacağıyla yanlışlanabilir; onu kanıt yapan da budur.
Kıyaslama seçimi neden bu kadar önemlidir?
2026'nın ilk yarısında, yukarıdaki altı endeks fonu sadece fiyat bazında 12.7 puan farkla kapandı. Dönem kapandıktan sonra seçilen bir kıyaslama, hiçbir strateji gerektirmeden bu marjın tamamını sağlayabilir.
Bu sayfadaki her sayı, piyasa verileri üzerinde saklanan bir sorgudur ve SQL her panelin altında yer alır. Aynı dönemleri Strasmore terminalinde kendi tarihleriniz için kullanabilirsiniz.