← Makalelere geri dön
July 3, 2025
5 dakikalık okuma

Algoritmik Ticarette Karmaşık Manifoldlar: Finansal Piyasaların Geometrisi

Algoritmik Ticarette Karmaşık Manifoldlar: Finansal Piyasaların Geometrisi
#karmaşık manifoldlar
#algoritmik ticaret
#topolojik veri analizi
#geometri
#makine öğrenmesi
#kantitatif finans

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.

Finansta Karmaşık Manifoldlar 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:

  1. Varlık fiyatı S(t), 2n boyutlu (gerçek ve sanal kısımlar) M manifoldu üzerinde bir nokta olarak ifade edilebilir
  2. Kartlar arasındaki geçiş fonksiyonları holomorfiktir ve göstergelerin analitiğini garanti eder
  3. 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
    """
    real_part = (price_data - np.mean(price_data)) / np.std(price_data)
    
    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:

f/zf=ϕ1\frac{\| \partial f/\partial z \|}{\| f \|} = \phi^{-1}

Karmaşık Manifoldda Altın Oran 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
    
    derivative = np.gradient(complex_coords)
    
    ratio = np.abs(derivative) / np.abs(complex_coords)
    
    signal = np.abs(ratio - 1/phi) < 0.1
    
    return signal

Takens gömme: zaman serisinin 3B faz uzayı çekicisine açılımı

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ı
    """
    data = yf.download(symbol, period=period)
    prices = data['Adj Close']
    log_returns = np.log(prices / prices.shift(1)).dropna()
    
    embedding = TakensEmbedding(time_delay=1, dimension=3)
    X = embedding.fit_transform(log_returns.values.reshape(-1, 1))
    
    vr = VietorisRipsPersistence(metric="euclidean", homology_dimensions=[0, 1])
    diagrams = vr.fit_transform(X[None, :, :])
    
    persistence = diagrams[0][:, 1] - diagrams[0][:, 0]
    
    signal = persistence.max() > np.percentile(persistence, 90)
    
    return {
        'embedding': X,
        'persistence': persistence,
        'signal': signal,
        'diagrams': diagrams
    }

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))
    
    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")
    
    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
    """
    data = yf.download(symbols, period=period)['Adj Close']
    returns = data.pct_change().dropna()
    
    features_list = []
    
    for symbol in symbols:
        symbol_data = data[symbol]
        
        rsi = ta.rsi(symbol_data, length=14)
        macd = ta.macd(symbol_data)['MACD_12_26_9']
        bb = ta.bbands(symbol_data)
        
        momentum = returns[symbol].rolling(5).mean()
        volatility = returns[symbol].rolling(20).std()
        
        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)
    
    all_features = pd.concat(features_list, axis=1)
    all_features = all_features.dropna()
    
    scaler = StandardScaler()
    scaled_features = scaler.fit_transform(all_features)
    
    tsne = TSNE(n_components=2, perplexity=30, metric='cosine', random_state=42)
    embedded = tsne.fit_transform(scaled_features)
    
    kmeans = KMeans(n_clusters=3, random_state=42)
    clusters = kmeans.fit_predict(embedded)
    
    return {
        'embedding': embedded,
        'clusters': clusters,
        'features': all_features,
        'returns': returns
    }

Eğri manifold üzerinde portföy optimizasyonu için Riemann jeodezik yolları

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.

Portföy Optimizasyonu için Riemann Jeodezikleri 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
    """
    cov_matrix = returns_data.cov()
    
    correlation_matrix = returns_data.corr()
    
    distances = np.arccos(np.clip(correlation_matrix.abs(), -1, 1))
    
    from scipy.cluster.hierarchy import linkage
    from scipy.spatial.distance import squareform
    
    condensed_distances = squareform(distances, checks=False)
    
    linkage_matrix = linkage(condensed_distances, method='ward')
    
    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
    """
    derivatives = np.gradient(complex_coords)
    second_derivatives = np.gradient(derivatives)
    
    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
    """
    complex_coords = complex_manifold_coordinate(
        portfolio_data['prices'], 
        portfolio_data['volumes']
    )
    
    curvature = calculate_kobayashi_curvature(complex_coords)
    
    risk_signal = curvature[-1] > threshold
    
    if risk_signal:
        print("⚠️  UYARI: Yüksek manifold eğriliği - olası ani çökme!")
        return True
    
    return False

Gerçek Zamanlı Manifold Risk İzleme 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']
    
    volatility = returns.rolling(30).std()
    
    low_vol_regime = volatility < volatility.quantile(0.33)
    high_vol_regime = volatility > volatility.quantile(0.67)
    
    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:

  1. Gizli yapıları tespit etmek — yüksek boyutlu finansal verilerde
  2. Rejim değişikliklerini tahmin etmek — topolojik analiz yöntemleriyle
  3. Portföyleri optimize etmek — varlık ilişkilerinin geometrik özelliklerini göz önünde bulundurarak
  4. 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

  1. Karmaşık Manifoldlar - Wikipedia
  2. Finansta Diferansiyel Geometri Uygulamaları
  3. Ticarette Topolojik Veri Analizi
  4. Teknik Analizde Altın Oran
  5. Fibonacci Ticaret Stratejileri
  6. Faz Uzayı Yeniden Yapılandırma Yöntemleri
  7. Finansta Manifold Öğrenmesi
  8. Finansal Veri Görselleştirmesi için t-SNE
  9. Manifoldlar Üzerinde Makine Öğrenmesi
  10. Portföy Analizi için UMAP
Sorumluluk Reddi: Bu makalede sağlanan bilgiler yalnızca eğitim ve bilgilendirme amaçlıdır ve finansal, yatırım veya ticaret tavsiyesi niteliği taşımaz. Kripto para ticareti önemli bir kayıp riski içerir.

Yazarlar

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Piyasanın Önünde Olun

Özel yapay zeka ticaret içgörüleri, piyasa analizi ve platform güncellemeleri için bültenimize abone olun.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.