Как правильно рассчитать EMA для акций, используя Ta-lib или Pandas? - PullRequest
1 голос
/ 30 апреля 2019

Редактировать!

Для тех, кто интересуется этим же, я понял это.В приведенных ниже реализациях нет ничего плохого.Это просто тот факт, что EMA требует более 21 точки данных для подсчета экспоненциальной скользящей средней в 20 точек данных.Причина этого в том, что более ранние точки данных влияют на точки данных, которые вы пытаетесь вычислить.Проще говоря, вы проверили, и вам нужно около 40-50 точек данных, чтобы получить ту же 20-дневную EMA, что и с 100+ точками данных.


Я пытаюсь рассчитать EMA (экспоненциальное скользящее среднее)запас, но что-то не так с моими расчетами.Я экспортировал данные о запасах за последние 22 с лишним дня для AAPL, и когда я пытаюсь рассчитать EMA для этого, каждый раз что-то не так.

Вот данные для моего примера: https://pastebin.com/raw/2MsgCeQx

Вот решения, которые я пытался рассчитать 20-дневной EMA.

#Imported the data as "data".
#With Ta-lib
data["EMA20Talib"] = talib.EMA(data.uClose, timeperiod = 20)

#And with pandas
data["EMA20Pandas"] = data["uClose"].ewm(span=20, adjust = False).mean()

I здесьизображение данных и результатов.https://i.imgur.com/pFtc7x8.png

Как видите, Real20EMA не соответствует TA-lib или пандам 20EMA.Что я делаю не так?

uClose - это столбец, на котором я имитирую EMA, "Real20EMA" берется из торгового обзора (перекрестная ссылка с marketwatch, чтобы убедиться, что он правильный).

Я заметил, что ранее здесь была похожая проблема с той же самой проблемой: EMA Панд не соответствует EMA акции? .Проблема была решена, когда вы отсортировали индекс, и я позаботился о том, чтобы он был правильно отсортирован, но, увы, я все еще получаю ту же проблему.

Я хочу получить те же цифры, что и на других финансовых сайтах, используя какой-либо инструмент.Как ни странно, даже те два метода, которые я попробовал, даже не дают одинакового результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...