Aimport pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Örnek veri seti oluşturma (Bu kısmı kendi veri setinize göre düzenleyebilirsiniz)
dates = pd.date_range('2023-01-01', periods=100)
prices = np.random.rand(100) * 100
data = pd.DataFrame({'Date': dates, 'Close': prices})
data.set_index('Date', inplace=True)
# Hareketli ortalamaları hesaplama
short_window = 20
long_window = 50
data = data .rolling(window=short_window, min_periods=1).mean()
data = data .rolling(window=long_window, min_periods=1).mean()
# Al-sat sinyalleri oluşturma
data = 0.0
data = np.where(data > data , 1.0, 0.0)
data = data .diff()
# Al-sat noktalarını belirleme
buy_signals = data [data == 1]
sell_signals = data [data == -1]
# Veriyi görselleştirme
plt.figure(figsize=(14, 7))
plt.plot(data , label='Fiyat', alpha=0.5)
plt.plot(data , label='20 Günlük SMA', alpha=0.75)
plt.plot(data , label='50 Günlük SMA', alpha=0.75)
plt.scatter(buy_signals.index, buy_signals , label='Al', marker='^', color='g', alpha=1)
plt.scatter(sell_signals.index, sell_signals , label='Sat', marker='v', color='r', alpha=1)
plt.title('Basit Hareketli Ortalama Kesişim Stratejisi')
plt.xlabel('Tarih')
plt.ylabel('Fiyat')
plt.legend()
plt.show()