Teknik Analiz Dünyasına Hoşgeldiniz. Paylaşmak Güzeldir.

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

  • 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 Hurst Exponent

Machine Learning Algorithms - Makine Öğrenimi Algoritmaları BORSA

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,823
Hurst Exponent

Hurst Exponent, fiyat zaman serilerinin kaotik olup olmadığını belirlemek için kullanılır. Hurst Exponent, zaman serisinin trend davranışını ölçer. 0.5'e yaklaşan değerler rastgele bir yürüyüşü, 0.5'ten küçük değerler trend takip eden bir yürüyüşü, 0.5'ten büyük değerler ise momentumu gösterir.
Hurst Üssü Nedir?
Hurst Exponent, bir zaman serisinin trend bağımlılığı veya rastgelelik derecesini ölçen bir metriktir. Finansal zaman serilerinde, piyasa hareketlerinin uzun vadeli bağımlılığını analiz etmekte kullanılır.

  • Hurst Exponent (H):
    • H<0.5H < 0.5H<0.5: Zaman serisi düşüş eğilimli (mean-reverting) olabilir. Yani, değerler ortalamaya geri dönme eğilimindedir.
    • H=0.5H = 0.5H=0.5: Zaman serisi bir Brownian motion'a (rastgele yürüyüş) benzer, bağımsız hareket eder.
    • H>0.5H > 0.5H>0.5: Zaman serisi trend takip eder. Yani, geçmişteki yönelimler gelecekte de devam edebilir.
Kod:
import os
import pandas as pd
from hurst import compute_Hc

def calculate_hurst_exponent(data, column_name='Close'):
    """
    Verilen bir DataFrame'deki belirli bir sütunun Hurst Exponent'ini hesaplar.
    """
    try:
        # Eksik ve geçersiz değerleri temizle
        data[column_name] = pd.to_numeric(data[column_name], errors='coerce')  # Sayıya dönüştür
        data = data.dropna(subset=[column_name])  # Eksik değerleri kaldır
        data = data[(data[column_name] != float('inf')) & (data[column_name] != float('-inf'))]  # Sonsuz değerleri kaldır

        # Getirileri hesapla
        returns = data[column_name].pct_change().dropna()

        # Aşırı getirileri filtrele
        returns = returns[(returns > -1) & (returns < 1)]  # Örneğin, %100'dan fazla değişimi kaldır

        # Hurst Exponent hesapla
        H, c, _ = compute_Hc(returns, kind='change', simplified=True)

        return H
    except Exception as e:
        print(f"Hata oluştu: {e}")
        return None

# CSV dosyalarının bulunduğu dizini belirtin
csv_dizin = r'csvlerin olduğu dizin'
dosya_listesi = os.listdir(csv_dizin)
csv_dosyaları = [dosya for dosya in dosya_listesi if dosya.lower().endswith('.csv')]

# Boş bir liste oluşturun
hurst_results = []

# Her dosya için analiz yapın
for csv_dosya in csv_dosyaları:
    try:
        print(f"İşleniyor: {csv_dosya}")  # İşlenen dosyayı yazdır
        # Veriyi yükleyin
        data = pd.read_csv(os.path.join(csv_dizin, csv_dosya))

        # Hurst Exponent'i hesaplayın
        hurst_exponent = calculate_hurst_exponent(data, 'Close')  # 'Close' sütununu kullan

        # Sonuçları listeye ekleyin
        hurst_results.append({
            'Hisse': csv_dosya.replace('.csv', ''),
            'Hurst_Exponent': hurst_exponent
        })

    except Exception as e:
        print(f"Hata oluştu ({csv_dosya}): {e}")

# Listeyi DataFrame'e dönüştürün
hurst_results_df = pd.DataFrame(hurst_results)

# Sonuçları Excel dosyasına yazdırın
output_path = 'hurst_results.xlsx'
hurst_results_df.to_excel(output_path, index=False)
print(f"Sonuçlar '{output_path}' dosyasına kaydedildi.")
 
Son düzenleme:

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!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

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

Giriş yap
Başlatan Benzer Konular Forum Cevap Tarih
algoritma E 1
algoritma T 0
algoritma T 0
algoritma H 0
algoritma Teknik Analizde Göstergelerin Matematiksel Açıklamaları 0
algoritma T 0
K D 0
algoritma Teknik Analizde Göstergelerin Matematiksel Açıklamaları 0
algoritma Teknik Analizde Göstergelerin Matematiksel Açıklamaları 0
algoritma Teknik Analizde Göstergelerin Matematiksel Açıklamaları 0
algoritma E 2
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0