Arama sonucu : 105 madde; 1 - 8 arası.

Konu: Tradingview veri terminalinde İndikatör/Strateji/Sistem

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. Örneğin şöyle bir soru sorsak:
    "Tesla Nasdaq için 5 dakikalık periyotta en iyi ortalama stratejisini bul:"



    Aldığımız cevap***:

    Kod:
    import pandas as pd
    import numpy as np
    
    # Tarih sütununu datetime formatına dönüştürmek için bir fonksiyon tanımlayalım
    date_parser = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
    
    # Telsa'nın 5 dakikalık periyotlu NASDAQ verilerini yükleyelim
    data = pd.read_csv('tesla_5min_stock_data.csv', parse_dates=['Date'], date_parser=date_parser)
    
    # Test edilecek hareketli ortalama periyotlarını tanımlayalım
    ma_periods = range(5, 60, 5)  # 5 dakika ile 60 dakika arasında 5'er dakikalık artışlarla
    
    # Sonuçları saklamak için bir sözlük oluşturalım
    results = {}
    
    # Her bir hareketli ortalama periyodu için işlem stratejisini test edelim
    for ma_period in ma_periods:
        # Hareketli ortalama hesaplayalım
        data[f'MA_{ma_period}'] = data['Close'].rolling(window=ma_period).mean()
        
        # Alım sinyali (kısa periyotlu MA, uzun periyotlu MA'yı yukarıdan keserse)
        data[f'Signal_{ma_period}'] = np.where(data[f'MA_{ma_period}'].shift(1) > data[f'MA_200'].shift(1), 1, 0)
        
        # Günlük getirileri hesaplayalım
        data['Returns'] = np.log(data['Close'] / data['Close'].shift(1))
        
        # Strateji getirilerini hesaplayalım
        data['Strategy_Returns'] = data[f'Signal_{ma_period}'].shift(1) * data['Returns']
        
        # Kumulatif getirileri hesaplayalım
        data['Cumulative_Returns'] = data['Strategy_Returns'].cumsum()
        
        # Son kümülatif getiriyi saklayalım
        results[ma_period] = data['Cumulative_Returns'].iloc[-1]
    
    # En iyi hareketli ortalama periyodunu bulalım
    best_ma_period = max(results, key=results.get)
    best_cumulative_returns = results[best_ma_period]
    
    print(f"En iyi hareketli ortalama periyodu: {best_ma_period} dakika")
    print(f"En yüksek kümülatif getiri ile: {best_cumulative_returns}")

    Bunu bir de önce makine öğrenmesi ve hatta mümkünse yapay zeka öğrenmesine bağlasak...?

    Not***: Python kurulu bir makine ve orta-üst seviyede python bilgisi gerektirir.

  2.  Alıntı Originally Posted by ASAP_ Yazıyı Oku
    Örneğin şöyle bir soru sorsak:
    "Tesla Nasdaq için 5 dakikalık periyotta en iyi ortalama stratejisini bul:"



    Aldığımız cevap***:

    Kod:
    import pandas as pd
    import numpy as np
    
    # Tarih sütununu datetime formatına dönüştürmek için bir fonksiyon tanımlayalım
    date_parser = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
    
    # Telsa'nın 5 dakikalık periyotlu NASDAQ verilerini yükleyelim
    data = pd.read_csv('tesla_5min_stock_data.csv', parse_dates=['Date'], date_parser=date_parser)
    
    # Test edilecek hareketli ortalama periyotlarını tanımlayalım
    ma_periods = range(5, 60, 5)  # 5 dakika ile 60 dakika arasında 5'er dakikalık artışlarla
    
    # Sonuçları saklamak için bir sözlük oluşturalım
    results = {}
    
    # Her bir hareketli ortalama periyodu için işlem stratejisini test edelim
    for ma_period in ma_periods:
        # Hareketli ortalama hesaplayalım
        data[f'MA_{ma_period}'] = data['Close'].rolling(window=ma_period).mean()
        
        # Alım sinyali (kısa periyotlu MA, uzun periyotlu MA'yı yukarıdan keserse)
        data[f'Signal_{ma_period}'] = np.where(data[f'MA_{ma_period}'].shift(1) > data[f'MA_200'].shift(1), 1, 0)
        
        # Günlük getirileri hesaplayalım
        data['Returns'] = np.log(data['Close'] / data['Close'].shift(1))
        
        # Strateji getirilerini hesaplayalım
        data['Strategy_Returns'] = data[f'Signal_{ma_period}'].shift(1) * data['Returns']
        
        # Kumulatif getirileri hesaplayalım
        data['Cumulative_Returns'] = data['Strategy_Returns'].cumsum()
        
        # Son kümülatif getiriyi saklayalım
        results[ma_period] = data['Cumulative_Returns'].iloc[-1]
    
    # En iyi hareketli ortalama periyodunu bulalım
    best_ma_period = max(results, key=results.get)
    best_cumulative_returns = results[best_ma_period]
    
    print(f"En iyi hareketli ortalama periyodu: {best_ma_period} dakika")
    print(f"En yüksek kümülatif getiri ile: {best_cumulative_returns}")

    Bunu bir de önce makine öğrenmesi ve hatta mümkünse yapay zeka öğrenmesine bağlasak...?

    Not***: Python kurulu bir makine ve orta-üst seviyede python bilgisi gerektirir.
    -Peki tüm bunları temel analiz için yapamaz mıyız?
    Yaparız! Ama ben temel analiz bilmiyorum!

Yer İmleri

Yer İmleri

Gönderi Kuralları

  • Yeni konu açamazsınız
  • Konulara cevap yazamazsınız
  • Yazılara ek gönderemezsiniz
  • Yazılarınızı değiştiremezsiniz
  •