
İşte tam bu noktada polinomsal regresyon (Polynomial Regression) devreye girer. Bu yöntem, fiyat serisini eğri formunda modelleyerek daha esnek ve gerçekçi trend yorumları sunar.
Bu yazıda polinomsal regresyonun ne olduğu, nasıl hesaplandığı, finansal grafikte nasıl kullanıldığı ve hangi durumlarda işe yaradığı detaylı şekilde anlatılacaktır.
Polinomsal regresyon, bağımlı bir değişkeni (örneğin kapanış fiyatı) zamana karşı bir polinom fonksiyonu ile modellemeye çalışan istatistiksel bir tekniktir.
y: Tahmin edilen fiyatx: Zaman (örneğin bar numarası)n: Polinomun derecesi (2: parabol, 3+: eğri)| Amaç | Açıklama |
|---|---|
| Trend eğrisini çizmek | Fiyat serisinin eğilim yönünü eğrisel şekilde modellemek |
| Dönüş noktalarını saptamak | Eğrinin lokal maksimum/minimum noktaları potansiyel dönüş alanlarını verir |
| Trendin hızını ve yönünü analiz etmek | Eğrinin eğimi ve derecesi bu konuda ipuçları verir |
| Fiyat sapmalarını analiz etmek | Gerçek fiyat ile regresyon eğrisi arasındaki farklar aşırılık göstergesi olabilir |
| Polinom Derecesi | Teknik Anlamı | Kullanım Senaryosu |
|---|---|---|
| 1 (Lineer) | Basit yükselen/düşen trend | Doğrusal regresyon kanalı |
| 2 (Parabolik) | Dip/tepe oluşumları, dönüş eğilimleri | Orta vadeli dönüşler |
| 3–4 (Kübik / 4. derece) | Trend içinde minör dalgalar, Elliott analizi | Dalga yapısı çıkarımı |
| 5+ | Çok kısa vadeli dönüşler ve gürültü filtreleme | Algoritmik stratejiler (dikkatli kullanılmalı) |
Uyarı: Polinom derecesi yükseldikçe overfitting riski artar. Dengeli seçim yapılmalıdır.
Dipten dönen bir hisse senedinde, fiyatlar ikinci derece eğriyle modellenirse yukarı kıvrılan bir parabol çizilir → trend dönüşü teyit edilmiş olabilir.
Fiyatın düşük-dalga-yüksek-dalga yapısı, 3. veya 4. derece bir eğriyle oldukça yakın şekilde yakalanabilir.
Eğri ile gerçek kapanış fiyatı arasındaki farkın standardize edilmiş hali (Z-score gibi) aşırılık göstergesi olabilir.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
# --- Veriyi Yükle ---
df = pd.read_excel("your_stock_data.xlsx")
# "DATE" sütunu tarih formatına çevrilsin
df["DATE"] = pd.to_datetime(df["DATE"])
# --- Bağımlı ve bağımsız değişkenler ---
y = df["CLOSING_TL"].values # Kapanış fiyatları
x = np.arange(len(y)).reshape(-1, 1) # 0,1,2,... şeklinde indeks
# --- Polinom regresyon (3. dereceden) ---
poly = PolynomialFeatures(degree=3)
X_poly = poly.fit_transform(x)
model = LinearRegression().fit(X_poly, y)
# --- Tahmin ---
y_pred = model.predict(X_poly)
# --- Grafik ---
plt.figure(figsize=(10, 5))
plt.plot(df["DATE"], y, label="Gerçek Fiyat", color="blue")
plt.plot(df["DATE"], y_pred, label="Polinomsal Regresyon (d=3)", linestyle="--", color="red")
plt.legend()
plt.title("Polinomsal Regresyon ile Trend Analizi")
plt.xlabel("Tarih")
plt.ylabel("Fiyat (TL)")
plt.grid(True)
plt.show()
| Durum | Kullanım |
|---|---|
| Belirsiz trend yönü | 2. veya 3. derece regresyon eğrisi |
| Dalgalı piyasa | 3–4 derece trend eğrisi analizi |
| Tepe/dip analizi | 2. derece regresyon yeterlidir |
| Otomatik trade | 3+ dereceler + filtrelerle |
Polinomsal regresyon, klasik teknik analiz araçlarının ötesine geçerek piyasa davranışını eğrisel ve daha doğal biçimde modellemek için etkili bir araçtır. Özellikle trendin yönü ve dönüş ihtimali hakkında daha rafine bir bakış sunar.
Ancak her güçlü araç gibi, dikkatli kullanılmalıdır. Gereksiz derecede yüksek polinomlar, yanıltıcı olabilir. Bu nedenle regresyon eğrisi, diğer teknik sinyallerle (RSI, MACD, Bollinger, hacim) birlikte kullanılmalıdır.
Son Yorumlar