Обсуждение статьи "Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее" - страница 10
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что значит "показать"?
У меня есть ПАММ из-за фунта сейчас не работает...
Дело ведь не в этом....
Вот пишу о моделях, но дело не в моделях - дело как всегда в деньгах, а точнее в уверенности их получения в будущем.
По мне главная проблема торговых систем на финансовых рынках не в применении или не применении сложных математических моделей, а в переобученности (сверх подгонки) этих самых ТС. Переобученность проявляется в том, что со временем (если не сразу) ТС теряет свои показатели по отношению к своему обучению.
Для решения этой проблемы я пытаюсь доказать, что разработанные мною торговые системы НЕ ПЕРЕОБУЧЕНЫ. Т.е. я хочу уверенности в том, будущие показатели эффективности ТС не особо сильно изменятся и, во-всяком случае, не сольют мне депо.
Я занят этим. Все необходимые инструменты для решения этой задачи имеются в R с избытком. Соответствующих инструментов в МКЛ нет вообще.
Посмотрите ветку Бурнакова про машинное обучение. Там я подробно на эту тему постил.
В том то и дело. Может Вы талантливый человек, но R не даст Вам развернуться, - там все готово. Вы захотите рыпнуться и взятся за задачку, - а тут Вам - БАЦ! -Получите готовое решение.
Чрезмерные предоставляемые возможности застопорят развитие таланта любого человека. Не будет задач - не будет развития. Что останется? - Стагнация и неизбежная деградация способностей.
Для человека который стремится к саморазвитию, из такой области надо бежать.
Поймите, - машинное обучение не панацея. Возможно оно вообще бесполезно в трейдинге. Подгонку параметров стратегии можно осуществлять в тестере с помощью оптимизации.
Возможно Вы просто хотите облегчить свой труд.
Я это понимаю, но не принимаю. Так заработать больше не получится. Нужно трудится по полной.
Для решения этой проблемы я пытаюсь доказать, что разработанные мною торговые системы НЕ ПЕРЕОБУЧЕНЫ. Т.е. я хочу уверенности в том, будущие показатели эффективности ТС не особо сильно изменятся и, во-всяком случае, не сольют мне депо.
Я занят этим. Все необходимые инструменты для решения этой задачи имеются в R с избытком. Соответствующих инструментов в МКЛ нет вообще.
А вот это не совсем так, Сан-Саныч.
Банки и хедж-фонды НУ ОЧЕНЬ АКТИВНО для торговли опционами и для других целей используют математические методы типа "регуляризации Тихонова". В трейдинге, где много шума, - без неё этим вот банкам вообще никак.
И как раз в R её и нету (это просто удивительно), точнее она где-то есть в Инете, но только в виде сборного скрипта, и непонятного качества и точности.
http://stackoverflow.com/questions/38899849/r-packages-for-tikhonov-regularization-in-solving-least-squares-with-ill-conditi
Это как раз говорит о том, что :
а). настоящие практики к разработке R никак не приложились;
б). серъёзные дяди из мира трейдинга если и используют где-то втихаря систему R, то только для прототипов очень простых торговых моделей.
А уж про метод Яненко, который банки и хедж-фонды иногда используют для решения диффуров для расчёта опционов и для портфельного управления, в пакете R вообще не слышали. (Сейчас уже у дядей из трейдинга есть методы и получше метода Яненко).
Это я даже пока не говорю про проблемы точности математических расчётов на компьютере вообще, и в пакете R в частности.
Чем больше агрегирование функций и подпрограмм (как в R), тем больше вероятность систематической ошибки погрешности вычисления.
Сегодня получили результаты бенчмарков MQL5 vs R по большому количеству статистических функций.
R сливает от разов до десятка раз. Код у него написан в лобовую и там никто не задумывался об оптимизации. На MQL5 математика явно считается кратно быстрее.
Как завершим работу над математическими библиотеками MQL5, опубликуем новую статью по возможностям и бенчмаркам.
В бету-версию MetaTrader 5 build 1467 включена обновленная статистическая библиотека с расширением функций.
Мы провели большую работу по тотальной проверке качества и точности всех функций как в MQL5 версия, так и в исходном R. Оказалось, что в R используется ряд старых недостоверных функций с оптимизациями, что приводят к ошибкам вычисления.
Это выявили наши юнит тесты, которые мы в обязательном порядке распространяем со своей библиотекой в виде отдельных скриптов в каталоге /Scripts/UnitTests/Stat:
Большим сюрпризом ожиданием стала убедительная победа в скорости MQL5 над С++ реализациями функций в R. Разброс ускорения от 1.5 до 46 раз, хотя в среднем можно говорить об ускорении от 3 до 7 раз.
Это является доказательством высокого качества компилятора MQL5 и дает возможность трейдерам делать расчеты внутри платформы гораздо быстрее.
В догонку скоро будет доступна графическая библиотека, аналогичная R.
Она позволяет легко визуализировать сложные серии данных прямо на графике:
В догонку скоро будет доступна графическая библиотека, аналогичная R.
Она позволяет легко визуализировать сложные серии данных прямо на графике:
Классно!
Безье? NURBS?
Классно!
Безье? NURBS?
Безье.
Выпустим большую статью со сравнениями функционала в R, примерами кода и массой картинок для демонстрации возможностей.
Если вернуться к этому комменту, то вот новые возможности для отображения графиков в MT5 с использованием стандартной графической библиотеки:
#include <Graphics/Graphic.mqh>
void OnStart(void)
{
double vars[101];
double results[101];
const int N=2000;
//---
MathSequence(0,N,20,vars);
MathProbabilityDensityBinomial(vars,N,M_PI/10,true,results);
ArrayPrint(results,4);
GraphPlot(results);
//---
}
По размеру кода и самим вызовам все практически одинаково. 4 рабочие строки там и там, но со стороны лучше читается MQL5 код.
Хотя под капотом находится полнофункциональная графическая ООП библиотека CGraphic, у нас есть несколько простых функций GraphPlot, которые позволяют легко выводить простые случаи с 1, 2, 3 сериями данных.
Еще два стиля вывода того же самого графика:
Интересная возможность использовать функции в качестве серий данных:
double Func1(double x) { return MathPow(x,2); }
double Func2(double x) { return MathPow(x,3); }
double Func3(double x) { return MathPow(x,4); }
void OnStart()
{
GraphPlot(Func1,Func2,Func3,-2,2,0.05,CURVE_LINES);
}
Если вернуться к этому комменту, то вот новые возможности для отображения графиков в MT5 с использованием стандартной графической библиотеки:
#include <Math/Stat/Binomial.mqh>
...
По размеру кода и самим вызовам все практически одинаково. 4 рабочие строки там и там, но со стороны лучше читается MQL5 код.
...
Будет доступно в сегодняшней бета-версии на MetaQuotes-Demo