Чтобы найти импульсные акции для свинг-трейдинга, вы можете использовать различные методы и стратегии. Вот несколько подходов, которые вы можете рассмотреть, а также примеры кода:
- Индекс относительной силы (RSI):
RSI — популярный технический индикатор, используемый для определения условий перекупленности или перепроданности акций. Вы можете искать акции с высокими значениями RSI, указывающими на сильный восходящий импульс. Вот пример использования Python и библиотекиpandas
:
import pandas as pd
from ta import momentum
# Assuming you have a DataFrame called 'stock_data' with columns: 'date', 'close'
rsi_period = 14
stock_data['rsi'] = momentum.RSIIndicator(close=stock_data['close'], n=rsi_period).rsi()
# Filter stocks with RSI above a threshold (e.g., 70)
momentum_stocks = stock_data[stock_data['rsi'] > 70]
- Дивергенция схождения скользящих средних (MACD):
MACD — еще один популярный индикатор, который помогает определить потенциальные изменения динамики цены акций. Сравнивая линию MACD с сигнальной линией, вы можете определить акции с сильным бычьим импульсом. Вот пример:
from ta import trend
# Assuming you have a DataFrame called 'stock_data' with columns: 'date', 'close'
macd = trend.MACD(close=stock_data['close'])
stock_data['macd'] = macd.macd()
stock_data['signal_line'] = macd.macd_signal()
# Filter stocks with positive MACD histogram (macd - signal_line)
momentum_stocks = stock_data[stock_data['macd'] > stock_data['signal_line']]
- Стратегия прорыва.
Прорыв происходит, когда цена акции выходит за пределы определенного диапазона, что указывает на потенциальный импульс. Вы можете определить акции, которые недавно совершили прорыв, используя высокие и низкие ценовые пороги. Вот пример:
# Assuming you have a DataFrame called 'stock_data' with columns: 'date', 'high', 'low', 'close'
lookback_period = 20
stock_data['highest_high'] = stock_data['high'].rolling(window=lookback_period).max()
stock_data['lowest_low'] = stock_data['low'].rolling(window=lookback_period).min()
# Filter stocks with close price above the highest high
momentum_stocks = stock_data[stock_data['close'] > stock_data['highest_high']]
- Анализ объема.
Увеличение объема торгов часто сопровождает динамику цен. Анализируя объемы, вы можете определить акции с сильным покупательским интересом. Вот пример:
# Assuming you have a DataFrame called 'stock_data' with columns: 'date', 'volume'
volume_period = 10
stock_data['average_volume'] = stock_data['volume'].rolling(window=volume_period).mean()
# Filter stocks with volume above the average volume
momentum_stocks = stock_data[stock_data['volume'] > stock_data['average_volume']]