Вопрос

У меня есть некоторые данные по запасам, основанные на ежедневных значениях закрытия.Мне нужно иметь возможность вставить эти значения в список python и получить медиану за последние 30 закрытий.Есть ли библиотека python, которая делает это?

Это было полезно?

Решение

Рассматривали ли вы этот вопрос панды?Она основана на numpy и может автоматически связывать временные метки с вашими данными и отбрасывать любые неизвестные даты до тех пор, пока вы заполняете их numpy.nan.Он также предлагает довольно мощное построение графиков с помощью matplotlib.

В основном он был разработан для финансового анализа на python.

Другие советы

В чистом Python, имея ваши данные в списке Python a, вы могли бы сделать

median = sum(sorted(a[-30:])[14:16]) / 2.0

(Это предполагает a содержит не менее 30 наименований.)

Используя пакет NumPy, вы могли бы использовать

median = numpy.median(a[-30:])

Разве средняя только средняя стоимость в отсортированном диапазоне?

Итак, при условии, что ваш список генеракодичЕТCODE:

last_thirty = stock_data[-30:]
median = sorted(last_thirty)[15]
.

Теперь вам просто нужно получить ошибки, найденные и исправленные, а также обрабатываете случай stock_data - менее 30 элементов ...

Давайте попробуем это здесь немного:

def rolling_median(data, window):
    if len(data) < window:
       subject = data[:]
    else:
       subject = data[-30:]
    return sorted(subject)[len(subject)/2]
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top