- Katılım
- 23 Eki 2020
- Mesajlar
- 1,802
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 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.
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:
# Hurst Exponent hesapla
H, c, data = compute_Hc(data[column_name], kind='price', simplified=True)
return H
except Exception as e:
print(f"Hata oluştu: {e}")
return None
# "XU100" dizini içindeki tüm ".csv" dosyalarını alın
csv_dizin = 'XU100'
dosya_listesi = os.listdir(csv_dizin)
csv_dosyaları = [dosya for dosya in dosya_listesi if dosya.lower().endswith('.csv')]
# Boş bir DataFrame oluşturun
hurst_results = []
# Her dosya için analiz yapın
for csv_dosya in csv_dosyaları:
try:
# 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}")
# Liste üzerinden DataFrame oluşturun
hurst_results_df = pd.DataFrame(hurst_results)
# Sonuçları Excel dosyasına yazın
hurst_results_df.to_excel('hurst_results.xlsx', index=False)