2月25日
python import pandas as pd import numpy as np import yfinance as yf import matplotlib.pyplot as plt # Получаем исторические данные о цене актива ticker = 'AAPL' # здесь указываем тикер актива data = yf.download(ticker, start='2021-01-01', end='2021-12-31') # Рассчитываем скользящие средние data['SMA50'] = data['Close'].rolling(window=50).mean() data['SMA200'] = data['Close'].rolling(window=200).mean() # Определяем точки входа data['Signal'] = 0 data['Signal'][data['SMA50'] > data['SMA200']] = 1 # долгосрочное пересечение data['Signal'][data['SMA50'] < data['SMA200']] = -1 # короткосрочное пересечение # Визуализируем точки входа plt.figure(figsize=(12, 6)) plt.plot(data['Close'], label='Цена закрытия', alpha=0.7) plt.plot(data['SMA50'], label='SMA 50', linestyle='--', alpha=0.7) plt.plot(data['SMA200'], label='SMA 200', linestyle='--', alpha=0.7) plt.plot(data[data['Signal'] == 1].index, data['SMA50'][data['Signal'] == 1], '^', markersize=10, color='g', label='Покупка') plt.plot(data[data['Signal'] == -1].index, data['SMA50'][data['Signal'] == -1], 'v', markersize=10, color='r', label='Продажа') plt.title(f'Точки входа на {ticker}') plt.legend() plt.show()