Существует объект Pandas DataFrame с некоторыми данными запаса. SMA - скользящие средние, рассчитанные с предыдущих 45/15 дней.Python and Pandas - Скользящий средний кроссовер
Date Price SMA_45 SMA_15
20150127 102.75 113 106
20150128 103.05 100 106
20150129 105.10 112 105
20150130 105.35 111 105
20150202 107.15 111 105
20150203 111.95 110 105
20150204 111.90 110 106
Я хочу найти все даты, когда SMA_15 и SMA_45 пересекаются.
Можно ли эффективно использовать Pandas или Numpy? Как?
РЕДАКТИРОВАТЬ:
Что я имею в виду 'пересечения':
строке данных, когда:
(45) Значение- длиной SMA была больше, чем короткий SMA (15) значение дольше, чем короткий период SMA (15), и он стал меньше.
- Значения длинной SMA (45) были меньше короткого значения SMA (15) дольше, чем короткий период SMA (15), и он стал больше.
Что это значит для SMA_15 и SMA_45 пересекаться на определенную дату? (В вашем примере SMA_45> SMA_15 везде, поэтому, похоже, нет хорошего кандидата.) – DSM
Если «intersect» вы имеете в виду, где они одинаковы в одну и ту же дату, тогда просто использовать булевское индексирование , 'df [df.sma_15 == df.sma_45]'. –
Это просто кусочек данных из случайного запаса. – chilliq