Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что бы не плодить ветки, спрошу у гуру здесь.
Задача:
1) Имеем ряд данных из ста элементов. Считаем по этим данным стандартное отклонение. Запоминаем значение в prevCO2) По появлению новых пяти элементов, можно ли используя значение prevCO и значения новых пяти элементов, рассчитать новое значение стандартного отклонения?
Без пересчета всего нового ряда из 105 элементов.
Догадываюсь, что точно это сделать не возможно.
А с некоторым приближением?
Да, можно быстро получать оценки при помощи экспоненциального сглаживания.
Хотя можно поступить проще - использовать стандартную функцию
Я про iStdDev();
Что бы не плодить ветки, спрошу у гуру здесь.
Задача:
1) Имеем ряд данных из ста элементов. Считаем по этим данным стандартное отклонение. Запоминаем значение в prevCO2) По появлению новых пяти элементов, можно ли используя значение prevCO и значения новых пяти элементов, рассчитать новое значение стандартного отклонения?
Без пересчета всего нового ряда из 105 элементов.
Догадываюсь, что точно это сделать не возможно.
А с некоторым приближением?
Я про iStdDev();
Тогда уж iStdDevOnArray(...)
Вы хотите сказать, можно-ли спрогнозировать значения последующих 5 значений по 100 предыдущим?, если не лукавить. Приведите этие 100 значений. попробуем.
Хочу после процесса оптимизации советника сохранить некое значение СО, а следующий период оптимизации не начинать заново с начала истории, а добавлять новые полученные значения данных и корректировать значение СО (самооптимизирующийся советник).
Да, можно быстро получать оценки при помощи экспоненциального сглаживания.
Если не сложно, прямо по поставленном мною примере, можете пояснить?
Спасибо.
Я не понимаю, Виктор, как Вы предлагаете решить задачу?
Тогда уж iStdDevOnArray(...)
Пусть эта функция будет. Хотя и задачи-то не было. Только вопрос
Загадочно... И обнадёживающе... )
Если не сложно, прямо по поставленном мною примере, можете пояснить?
Спасибо.
В переменную mean запишите среднее значение первых ста элементов, в переменную var запишите дисперсию первых ста элементов. Затем для 5 новых элементов выполните операцию
val - значение текущего элемента, alpha - коэффициент экспоненциального сглаживания (от нуля до единицы, пересчитывается из периода по формуле alpha=2/(1+period)). В результате вы получите обновленное значение дисперсии (var).
Суть в следующем: первая строчка обновляет оценку среднего, вторая строчка удаляет среднее из наблюдений, третья строчка считает EMA квадратов наблюдений с поправкой на среднее. Если alpha достаточно мало, число элементов достаточно велико, среднее и дисперсия постоянны - этот метод должен сходиться к значениям, вычисляемым по обычным формулам. Если брать большое alpha - это будет эквивалентно расчетам в скользящем окне, т.е. мы не полагаемся на постоянство среднего и дисперсии.
В переменную mean запишите среднее значение первых ста элементов, в переменную var запишите дисперсию первых ста элементов. Затем для 5 новых элементов выполните операцию
Буду пробовать.
............
Царица наук!!! Как ни крути...
Или я опять чего-то не допонимаю?