Teknik Analiz Dünyasına Hoşgeldiniz.

Paylaşmak ◄ ► Güzeldir

DİKKAT: Formüller, Sistemler eğitim amaçlıdır. Alım satım, olası anapara kaybı ve diğer kayıplar dahil olmak üzere "YÜKSEK RİSK" içerir.

Yayından kaldırmak istediğiniz formüller için algoritmabul@gmail.com ile iletişime geçebilirsiniz...

  • DİKKAT: Formüller, Sistemler sadece eğitim amaçlıdır. Alım satım, olası anapara kaybı ve diğer kayıplar dahil olmak üzere "YÜKSEK RİSK" içerir.

ML - Python Büyük Sayılar Yasası (BSY)

Machine Learning Algorithms - Makine Öğrenimi Algoritmaları BORSA

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,826
Teknik analizde Büyük Sayılar Yasası (Law of Large Numbers), genellikle küçük bir örneklem üzerinden yapılan analizlerin daha geniş veri setlerine uygulandığında daha güvenilir ve geçerli sonuçlar elde edeceğimizi ifade eder. Yani, daha fazla veri toplandıkça, elde edilen istatistiksel tahminlerin doğruluğu artar. Bu yasayı, finansal analiz ve teknik analiz bağlamında şöyle daha detaylı açıklayabiliriz:

Büyük Sayılar Yasası (BSY) Nedir?​

Büyük Sayılar Yasası, istatistiksel bir kavramdır ve şöyle özetlenebilir: Eğer yeterince büyük bir örneklem büyüklüğüne sahipsek, örneklemdeki istatistiksel ölçümler (örneğin, ortalama) beklenen gerçek değere çok yakın olur. Kısacası, daha fazla veri toplamak, analizlerinizin doğruluğunu artırır. Örneğin, borsa gibi finansal piyasalarda, çok sayıda işlem ve çok uzun bir zaman diliminde yapılan analizlerin daha anlamlı sonuçlar vereceği söylenebilir.

Teknik Analizde Büyük Sayılar Yasası​

Teknik analizde, özellikle fiyat hareketlerini ve ticaret hacmini inceleyerek piyasa davranışlarını anlamaya çalışırız. Büyük Sayılar Yasası'nın burada nasıl çalıştığını daha iyi anlamak için şu örneklere göz atalım:

1. Ortalama Getiri ve Volatilite Hesaplamaları

Büyük Sayılar Yasası'nın, ortalama getiri (mean return) ve volatilite (price volatility) gibi temel finansal metriklerde nasıl işlediğini inceleyebiliriz. Diyelim ki belirli bir hisse senedi için günlük kapanış fiyatlarını incelemek istiyorsunuz:

  • Eğer yalnızca kısa bir dönem için fiyat verileri toplarsanız (örneğin sadece birkaç gün veya birkaç hafta), analizinizin sonucu rastgele olabilir ve piyasa koşullarındaki küçük değişikliklerden etkilenebilir.
  • Ancak, daha uzun bir süre zarfında (örneğin yıllık verilerle) analiz yaparsanız, daha doğru ve güvenilir sonuçlar elde edersiniz. Çünkü büyük bir veri seti, küçük dalgalanmalara karşı daha sağlam ve tutarlı bir genel sonuç sağlar.

2. Risk-Getiri Oranı (Sharpe Oranı)

Büyük Sayılar Yasası'nın bir diğer önemli etkisi, risk-getiri oranı gibi hesaplamalarda da gözlemlenir. Finansal analizde, bir yatırımın getirisini ve riskini (volatilite) değerlendirdiğimizde, daha fazla veri toplamak risk-getiri oranını (Sharpe oranı gibi) daha doğru bir şekilde hesaplamamıza olanak tanır. Küçük veri setlerinde, örneğin yalnızca birkaç aylık verilerde, yatırımın risk-getiri oranı yanlış bir şekilde düşük veya yüksek olabilir. Ancak daha uzun süreli verilere dayanan hesaplamalar, bu oranı daha güvenilir bir şekilde ölçmenizi sağlar.

3. Teknik Göstergeler ve İstatistiksel Güven

Teknik analizde, genellikle belirli göstergelerin (örneğin RSI, MACD, Bollinger Bands) hesaplanması ve fiyat hareketlerinin bu göstergelere göre değerlendirilmesi yapılır. Ancak, bu göstergeler yalnızca kısa bir süreye dayanıyorsa yanıltıcı olabilir. Örneğin, yalnızca birkaç işlem gününe bakarak MACD gibi göstergelerin sinyallerini yorumlamak, yanıltıcı olabilir. Fakat daha geniş bir veri seti ile bu göstergelerin davranışı daha güvenilir hale gelir. Büyük Sayılar Yasası burada da geçerli olur; büyük bir örneklem ile yapılan analiz, daha doğru ve güvenilir sonuçlar verecektir.

4. Piyasa Davranışının Anlaşılması

Büyük Sayılar Yasası, piyasa davranışını anlamada da çok önemlidir. Piyasaların dalgalanma ve trend değiştirme gibi özellikleri, kısa vadeli fiyat hareketlerine göre daha doğru bir şekilde uzun vadeli verilerle anlaşılabilir. Yani, daha fazla veri toplandıkça, piyasanın temel eğilimlerini ve potansiyel dönüşlerini daha iyi anlayabiliriz.

Büyük Sayılar Yasası ve Portföy Yönetimi​

Büyük Sayılar Yasası, portföy yönetiminde de kritik bir rol oynar. Yatırımcılar genellikle portföylerini çeşitlendirerek riski azaltmaya çalışırlar. Çeşitli varlık sınıflarına yapılan yatırımlar, kısa vadeli dalgalanmalara karşı daha dirençli olur. Yani, tek bir hisseye odaklanmak yerine, birden fazla varlıkla çalışarak daha güvenilir analizler elde edilir.

Örnek: İki Hissenin Risk-Getiri Oranı​

Diyelim ki iki hisse senedi üzerinde analiz yapıyorsunuz:

  • Hisse A: 1 yıllık veriye dayalı olarak %5 getiri ve %10 volatilite (riski).
  • Hisse B: 5 yıllık veriye dayalı olarak %6 getiri ve %8 volatilite.
Eğer sadece Hisse A'nın kısa vadeli verilerini incelemiş olsaydınız, daha yüksek volatilite ve riskli bir hisse olduğunu düşünebilirdiniz. Ancak, Hisse B'nin uzun vadeli verileri göz önüne alındığında, daha düşük volatilite ve daha istikrarlı bir performans gösterdiği görülür. Bu da Büyük Sayılar Yasası'nın etkisini gösterir: daha fazla veri, daha doğru bir risk-getiri analizi sağlar.

Sonuç​

Teknik analizde Büyük Sayılar Yasası, verilerinizi ve analizlerinizi daha güvenilir ve sağlam hale getiren bir kavramdır. Küçük bir veri seti, kısa vadeli dalgalanmalara çok duyarlı olabilir, ancak büyük bir veri setiyle yapılan analizler piyasa davranışlarının uzun vadeli eğilimlerini daha iyi yansıtır. Bu, yatırımcıların daha doğru kararlar almasına ve finansal piyasalarda daha sağlıklı tahminler yapmasına olanak tanır.

Kod:
import yfinance as yf
import numpy as np
import pandas as pd

# Hisse senetleri sembolleri
symbols = [
    'AEFES.IS', 'AGHOL.IS', 'AKBNK.IS', 'AKCNS.IS', 'AKENR.IS', 'AKFGY.IS', 'AKGRT.IS', 'AKSA.IS', 'AKSEN.IS',
    'ALARK.IS', 'ALBRK.IS', 'ALCAR.IS', 'ALGYO.IS', 'ARCLK.IS', 'ASELS.IS', 'AVISA.IS', 'AYDEM.IS', 'AYGAZ.IS',
    'BIMAS.IS', 'BIOEN.IS', 'BRISA.IS', 'CANTE.IS', 'CCOLA.IS', 'CEMTS.IS', 'CIMSA.IS', 'COSMO.IS', 'DEVA.IS',
    'DOAS.IS', 'DOGUB.IS', 'DOHOL.IS', 'DOKTA.IS', 'DURDO.IS', 'ECILC.IS', 'EGEEN.IS', 'EKGYO.IS', 'ENJSA.IS',
    'ERBOS.IS', 'EREGL.IS', 'ESEN.IS', 'FENER.IS', 'FROTO.IS', 'GENIL.IS', 'GESAN.IS', 'GOZDE.IS', 'GUBRF.IS',
    'GWIND.IS', 'HEKTS.IS', 'HLGYO.IS', 'ICBCT.IS', 'IHLGM.IS', 'INDES.IS', 'INVEO.IS', 'ISCTR.IS', 'ISFIN.IS',
    'ISMEN.IS', 'ITTFH.IS', 'KARSN.IS', 'KARTN.IS', 'KCHOL.IS', 'KERVT.IS', 'KORDS.IS', 'KONTR.IS', 'KOZAA.IS',
    'KOZAL.IS', 'KRDMD.IS', 'LOGO.IS', 'MAVI.IS', 'MGROS.IS', 'MPARK.IS', 'NETAS.IS', 'ODAS.IS', 'OTKAR.IS',
    'PARSN.IS', 'PEGYO.IS', 'PETKM.IS', 'PGSUS.IS', 'PRKME.IS', 'QUAGR.IS', 'SAHOL.IS', 'SASA.IS', 'SELEC.IS',
    'SOKM.IS', 'SNGYO.IS', 'TAVHL.IS', 'TMSN.IS', 'TOASO.IS', 'TRILC.IS', 'TRKCM.IS', 'TSKB.IS', 'TTKOM.IS',
    'TTRAK.IS', 'TUPRS.IS', 'ULKER.IS', 'VAKBN.IS', 'VESTL.IS', 'VESBE.IS', 'VKGYO.IS', 'YATAS.IS', 'YKBNK.IS',
    'ZOREN.IS']  # Hisse senetleri

# Tarih aralığı
start = '2015-01-01'
end = '2024-11-27'

# Kısa dönem ve uzun dönem için dönemleri ayarlıyoruz
short_period = 63  # 3 ay, 252 işlem günü
long_period = 252  # 1 yıl, 252 işlem günü

# Sonuçları tutmak için liste
results_short = []
results_long = []

# Hisse senetleri için analiz yapma
for symbol in symbols:
    try:
        data = yf.download(symbol, start=start, end=end)['Adj Close']
        
        # Kısa dönem (3 ay)
        short_data = data[-short_period:]
        short_returns = np.log(short_data / short_data.shift(1))
        short_avg_return = short_returns.mean()
        short_volatility = short_returns.std()
        short_sharpe_ratio = short_avg_return / short_volatility if short_volatility != 0 else np.nan
        
        # Uzun dönem (5 yıl)
        long_data = data[-long_period:]
        long_returns = np.log(long_data / long_data.shift(1))
        long_avg_return = long_returns.mean()
        long_volatility = long_returns.std()
        long_sharpe_ratio = long_avg_return / long_volatility if long_volatility != 0 else np.nan
        
        # Sonuçları listeye ekleme
        results_short.append((symbol, short_avg_return, short_volatility, short_sharpe_ratio))
        results_long.append((symbol, long_avg_return, long_volatility, long_sharpe_ratio))
        
    except Exception as e:
        print(f"{symbol} verileri alınamadı: {e}")
        continue

# Sonuçları sıralama (en yüksek Sharpe oranına göre)
sorted_results_short = sorted(results_short, key=lambda x: x[3], reverse=True)
sorted_results_long = sorted(results_long, key=lambda x: x[3], reverse=True)

# Kısa ve uzun dönem sonuçlarını yazdırma
print("\nKısa Dönem (3 Ay) Sonuçları (En İyi Risk-Getiri):")
for res in sorted_results_short:
    print(f"Hisse: {res[0]}, Ortalama Getiri: {res[1]:.4f}, Volatilite: {res[2]:.4f}, Sharpe Oranı: {res[3]:.4f}")

print("\nUzun Dönem (1 Yıl) Sonuçları (En İyi Risk-Getiri):")
for res in sorted_results_long:
    print(f"Hisse: {res[0]}, Ortalama Getiri: {res[1]:.4f}, Volatilite: {res[2]:.4f}, Sharpe Oranı: {res[3]:.4f}")
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap