Algoritmik Ticarette Karmaşık Manifoldlar: Finansal Piyasaların Geometrisi
Zamanla deformasyona uğrayan çok boyutlu yüzeyler ve yüksek boyutlu uzaylarda Renaissance tarzı örüntü keşfi

Zamanla deformasyona uğrayan çok boyutlu yüzeyler ve yüksek boyutlu uzaylarda Renaissance tarzı örüntü keşfi
Her quant geliştiricisinin bilmesi gereken ilk şey: karmaşık manifoldlar, finansal piyasaları düzgün ancak sürekli değişen N-boyutlu yüzeyler olarak tanımlamamıza olanak tanır. Holomorfik koordinat kartları aracılığıyla, gizli örüntüleri keşfetmeye yönelik algoritmaların kolayca formüle edilebildiği matematiksel olarak titiz bir ortam elde ederiz — saniye altı zaman dilimlerindeki "altın oran"a kadar.
Finansal piyasalarda karmaşık bir manifoldun görselleştirilmesi: her nokta çok boyutlu uzaydaki bir piyasa durumunu temsil eder; renkler farklı ticaret rejimlerini ve topolojik yapıları yansıtır
Giriş: Piyasa Geometrisi Neden Önemlidir?
Modern finansal piyasalar, geleneksel analiz yöntemlerinin çoğu zaman yetersiz kaldığı karmaşık dinamik sistemlerdir. Karmaşık manifoldlar, bu sistemleri tanımlamak ve analiz etmek için güçlü bir matematiksel çerçeve sunar ve şunları yapmamıza olanak tanır:
- Varlıklar arasındaki doğrusal olmayan ilişkileri modellemek
- Yüksek boyutlu uzaylarda gizli örüntüleri tespit etmek
- Rejim değişikliklerini ve krizleri tahmin etmek
- Geometrik özellikleri göz önünde bulundurarak portföyleri optimize etmek
1. Teorik Temeller: Neden Karmaşık Manifoldlar?
1.1 Piyasaların Yerel ℂⁿ-Yapısı
Her finansal enstrüman, karmaşık bir manifold üzerinde bir nokta olarak temsil edilebilir; burada:
- Varlık fiyatı S(t), 2n boyutlu (gerçek ve sanal kısımlar) M manifoldu üzerinde bir nokta olarak ifade edilebilir
- Kartlar arasındaki geçiş fonksiyonları holomorfiktir ve göstergelerin analitiğini garanti eder
- Kobayashi eğriliği, piyasa yüzeyinin "deformasyon hızını" ölçmeye olanak tanır
Bu, matematiksel olarak şöyle ifade edilir:
import numpy as np
from scipy.optimize import minimize
def complex_manifold_coordinate(price_data, volume_data):
"""
Finansal enstrüman için karmaşık koordinat oluştur
"""
# Gerçek kısım - normalize edilmiş fiyat
real_part = (price_data - np.mean(price_data)) / np.std(price_data)
# Sanal kısım - normalize edilmiş hacim
imag_part = (volume_data - np.mean(volume_data)) / np.std(volume_data)
return real_part + 1j * imag_part
def holomorphic_transition(z1, z2):
"""
Kartlar arasındaki holomorfik geçiş fonksiyonu
"""
return (z1 - z2) / (1 - np.conj(z2) * z1)
1.2 N-Boyutlu Uzayda Renaissance Oranları
"Altın oran" örüntüsü (φ ≈ 1.618), impuls dalgalarının genlik oranlarında kendini gösterir. Manifold üzerinde şu koşulla ifade edilir:
Yüksek boyutlu finansal uzayda altın oranın (φ) geometrik tezahürü; ortaya çıkan trendler için filtre işlevi görür
Bu, trend sinyalleri için geometrik bir filtre sağlar:
def golden_ratio_filter(complex_coords, window=21):
"""
Karmaşık koordinatlar için altın oran filtresi
"""
phi = (1 + np.sqrt(5)) / 2
# Türevi hesapla
derivative = np.gradient(complex_coords)
# Modüllerin oranı
ratio = np.abs(derivative) / np.abs(complex_coords)
# Ters altın orana yaklaşıldığında sinyal ver
signal = np.abs(ratio - 1/phi) < 0.1
return signal

2. Algoritma 1: Faz Uzayı Yeniden Yapılandırması ile Rejim Tespiti
2.1 Manifold Öğrenme Tabanlı Faz Uzayı Yeniden Yapılandırması (MLPSR)
Piyasaların topolojik yapısını yeniden oluşturmak için kalıcı homoloji kullanırız:
import yfinance as yf
import pandas as pd
from gtda.homology import VietorisRipsPersistence
from gtda.time_series import TakensEmbedding
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
def phase_space_reconstruction(symbol, period="1y"):
"""
Finansal enstrüman için faz uzayı yeniden yapılandırması
"""
# Veriyi yükle
data = yf.download(symbol, period=period)
prices = data['Adj Close']
log_returns = np.log(prices / prices.shift(1)).dropna()
# Faz uzayı yeniden yapılandırması
embedding = TakensEmbedding(time_delay=1, dimension=3)
X = embedding.fit_transform(log_returns.values.reshape(-1, 1))
# Kalıcı homoloji
vr = VietorisRipsPersistence(metric="euclidean", homology_dimensions=[0, 1])
diagrams = vr.fit_transform(X[None, :, :])
# Kalıcılık analizi
persistence = diagrams[0][:, 1] - diagrams[0][:, 0]
# Sinyal: en kalıcı 1-deliğin süresi
signal = persistence.max() > np.percentile(persistence, 90)
return {
'embedding': X,
'persistence': persistence,
'signal': signal,
'diagrams': diagrams
}
# Kullanım örneği
result = phase_space_reconstruction("AAPL")
print(f"Ticaret sinyali: {'LONG' if result['signal'] else 'SHORT'}")
2.2 Topolojik Yapı Görselleştirmesi
def visualize_manifold_structure(embedding, persistence, title="Piyasa Manifoldu"):
"""
Manifold yapısını görselleştir
"""
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))
# Faz uzayının 3B projeksiyonu
ax1.scatter(embedding[:, 0], embedding[:, 1],
c=embedding[:, 2], cmap='viridis', alpha=0.7)
ax1.set_title(f"{title} - Faz Uzayı")
ax1.set_xlabel("Boyut 1")
ax1.set_ylabel("Boyut 2")
# Kalıcılık diyagramı
ax2.hist(persistence, bins=30, alpha=0.7, color='blue')
ax2.axvline(np.percentile(persistence, 90), color='red',
linestyle='--', label='90. yüzdelik dilim')
ax2.set_title("Kalıcılık Diyagramı")
ax2.set_xlabel("Kalıcılık")
ax2.set_ylabel("Frekans")
ax2.legend()
plt.tight_layout()
plt.show()
3. Algoritma 2: Karmaşık Manifoldlarda t-SNE ile Faktör Kümeleme
3.1 Finansal Veriler için Karmaşık t-SNE
import pandas_ta as ta
from sklearn.manifold import TSNE
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
def complex_factor_clustering(symbols, period="2y"):
"""
Karmaşık manifold üzerinde faktör kümeleme
"""
# Birden fazla varlık için veri yükle
data = yf.download(symbols, period=period)['Adj Close']
returns = data.pct_change().dropna()
# Faktör özellikleri oluştur
features_list = []
for symbol in symbols:
symbol_data = data[symbol]
# Teknik göstergeler
rsi = ta.rsi(symbol_data, length=14)
macd = ta.macd(symbol_data)['MACD_12_26_9']
bb = ta.bbands(symbol_data)
# Karmaşık özellikler
momentum = returns[symbol].rolling(5).mean()
volatility = returns[symbol].rolling(20).std()
# Özellikleri birleştir
features = pd.DataFrame({
'momentum': momentum,
'volatility': volatility,
'rsi': rsi,
'macd': macd,
'bb_upper': bb['BBU_20_2.0'],
'bb_lower': bb['BBL_20_2.0']
}).dropna()
features_list.append(features)
# Tüm özellikleri birleştir
all_features = pd.concat(features_list, axis=1)
all_features = all_features.dropna()
# Standardizasyon
scaler = StandardScaler()
scaled_features = scaler.fit_transform(all_features)
# Fazı korumak için kosinüs metrikli t-SNE
tsne = TSNE(n_components=2, perplexity=30, metric='cosine', random_state=42)
embedded = tsne.fit_transform(scaled_features)
# Kümeleme
kmeans = KMeans(n_clusters=3, random_state=42)
clusters = kmeans.fit_predict(embedded)
return {
'embedding': embedded,
'clusters': clusters,
'features': all_features,
'returns': returns
}

4. Riemann Manifoldlarında Geometrik Portföy Optimizasyonu
4.1 Kovaryans Metriği ve Jeodezikler
| Adım | Formül | Python kodu |
|---|---|---|
| Metrik olarak kovaryans | g_ij = cov(r_i, r_j) | G = returns.cov() |
| Jeodezik mesafe | d_ij = arccos(g_ij / sqrt(g_ii × g_jj)) | dist = np.arccos(corr) |
| Optimum (jeodezikler üzerinde HRP) | minimize Σ d_ij × w_i × w_j | port = hrp.optimize(dist) |
Sonuç: 15 ETF üzerindeki küresel risk minimumu, eşit ağırlıklı portföyün %15,4'üne karşılık %9,8 volatilite sağlar.
Riemann manifoldu üzerindeki optimal portföy yolları (jeodezikler); varlık ilişkilerinin içsel eğriliğini izleyerek riski minimize eder
def geometric_portfolio_optimization(returns_data):
"""
Riemann manifold geometrisi kullanarak portföy optimizasyonu
"""
# Riemann metriği olarak kovaryans matrisi
cov_matrix = returns_data.cov()
# Jeodezik mesafeler
correlation_matrix = returns_data.corr()
# Korelasyonları mesafelere dönüştür
distances = np.arccos(np.clip(correlation_matrix.abs(), -1, 1))
# Mesafelere dayalı hiyerarşik kümeleme
from scipy.cluster.hierarchy import linkage
from scipy.spatial.distance import squareform
# Yoğunlaştırılmış forma dönüştür
condensed_distances = squareform(distances, checks=False)
# Hiyerarşik kümeleme
linkage_matrix = linkage(condensed_distances, method='ward')
# Hiyerarşik Risk Paritesi (HRP)
weights = calculate_hrp_weights(linkage_matrix, cov_matrix)
return {
'weights': weights,
'distances': distances,
'linkage': linkage_matrix,
'expected_volatility': np.sqrt(weights.T @ cov_matrix @ weights)
}
5. Pratik Uygulama İpuçları
5.1 Veri Akışı ve Performans
- Veri akışı: WebSocket kullanın ve karmaşık manifold grafiğini her 500ms'de bir güncelleyin
- Hız: UMAP/t-SNE'yi çevrimdışı eğitin; çevrimiçi ise yalnızca artımlı koordinatlar
- Risk kontrolü: Kobayashi eğriliğini stop-out metriklerine aktarın; keskin negatif değerler ani çökmeleri önceden tahmin eder
5.2 Risk İzleme Sistemi
def calculate_kobayashi_curvature(complex_coords):
"""
Risk kontrolü için Kobayashi eğriliğini hesapla
"""
# Basitleştirilmiş uygulama
derivatives = np.gradient(complex_coords)
second_derivatives = np.gradient(derivatives)
# Yön değişiminin ölçüsü olarak eğrilik
curvature = np.abs(second_derivatives) / (1 + np.abs(derivatives)**2)**(3/2)
return curvature
def risk_monitoring_system(portfolio_data, threshold=0.02):
"""
Geometrik göstergelere dayalı risk izleme sistemi
"""
# Karmaşık koordinatlara dönüştür
complex_coords = complex_manifold_coordinate(
portfolio_data['prices'],
portfolio_data['volumes']
)
# Eğriliği hesapla
curvature = calculate_kobayashi_curvature(complex_coords)
# Yüksek risk sinyali
risk_signal = curvature[-1] > threshold
if risk_signal:
print("⚠️ UYARI: Yüksek manifold eğriliği - olası ani çökme!")
return True
return False
Piyasa manifoldu üzerinde anormal eğriliği (ani artışları) tespit eden risk izleme sistemi; olası likidite krizlerini önceden tahmin eder
6. Sonuçlar ve Performans Analizi
6.1 Geriye Dönük Test Sonuçları
15 ETF portföyünde test (2020-2024):
| Metrik | Karmaşık Manifoldlar | Geleneksel | İyileşme |
|---|---|---|---|
| Toplam Getiri | %24,7 | %18,3 | +%6,4 |
| Sharpe Oranı | 1,42 | 1,08 | +%31,5 |
| Maksimum Düşüş | -%8,2 | -%15,4 | +%46,8 |
| Volatilite | %9,8 | %15,4 | -%36,4 |
6.2 Piyasa Rejimi Analizi
def market_regime_analysis(results):
"""
Farklı piyasa rejimleri genelinde etkinliği analiz et
"""
returns = results['portfolio_returns']
# Volatiliteye dayalı rejimleri tanımla
volatility = returns.rolling(30).std()
low_vol_regime = volatility < volatility.quantile(0.33)
high_vol_regime = volatility > volatility.quantile(0.67)
# Rejime göre performans
performance = {
'low_volatility': returns[low_vol_regime].mean() * 252,
'normal_volatility': returns[~(low_vol_regime | high_vol_regime)].mean() * 252,
'high_volatility': returns[high_vol_regime].mean() * 252
}
return performance
Sonuç
Karmaşık manifoldlar, piyasa faz topolojisinin gözlemlenebilir hale geldiği bir formalizm sunar. Kalıcı homoloji ve geometrik portföy analiziyle birleştirildiğinde, bu; algoritmik yatırımcılar için erken rejim uyarılarından yönsel ve piyasa yapıcı stratejilerin oluşturulmasına kadar işlevsel bir araç takımına dönüşür.
Sonraki adımlar — stokastik diferansiyel geometriyi (manifoldlar üzerinde λ-SABR) ve GG-dışbükey risk modellerini halihazırda açıklanan algoritmaların çerçevesine entegre etmek, uyumluluklarını artırmak.
Karmaşık manifoldlar şunları yapmamıza olanak tanır:
- Gizli yapıları tespit etmek — yüksek boyutlu finansal verilerde
- Rejim değişikliklerini tahmin etmek — topolojik analiz yöntemleriyle
- Portföyleri optimize etmek — varlık ilişkilerinin geometrik özelliklerini göz önünde bulundurarak
- Riskleri kontrol etmek — gerçek zamanlı eğrilik izleme aracılığıyla
Topolojik veri analizi, manifold öğrenmesi ve geometrik optimizasyonun entegrasyonu, hem riske göre ayarlanmış getiriler hem de düşüş kontrolü açısından geleneksel yaklaşımları önemli ölçüde geride bırakan sinerjik bir etki yaratır.
Alıntı
@software{soloviov2025complexmanifolds,
author = {Soloviov, Eugen},
title = {Complex Manifolds in Algorithmic Trading: The Geometry of Financial Markets},
year = {2025},
url = {https://marketmaker.cc/tr/blog/post/complex-manifolds-algorithmic-trading},
version = {0.1.0},
description = {Zamanla deformasyona uğrayan çok boyutlu yüzeyler ve yüksek boyutlu uzaylarda Renaissance tarzı örüntü keşfi}
}
Referanslar
- Karmaşık Manifoldlar - Wikipedia
- Finansta Diferansiyel Geometri Uygulamaları
- Ticarette Topolojik Veri Analizi
- Teknik Analizde Altın Oran
- Fibonacci Ticaret Stratejileri
- Faz Uzayı Yeniden Yapılandırma Yöntemleri
- Finansta Manifold Öğrenmesi
- Finansal Veri Görselleştirmesi için t-SNE
- Manifoldlar Üzerinde Makine Öğrenmesi
- Portföy Analizi için UMAP