Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2968

 
mytarmailS #:

 только почему то вся ветка сидит на R, и не хочет прикасаться к питону без нужды..

Все мне знакомые програмисты которые отлично знают и питон и Р , все как один выбирают Р


а называть корявым то что не знакомо, признак невежетва.. да и вообще судить о том чего не знаешь тоже   признак невежетва..

Обратная ситуация. Никто не юзает Р из крупных внедренцев. И люди не последние в айти. Хотя там и питон не особо востребован, обычно scala.

Какого невежества? Я изначально качнул Р и питон. Поковырялся там и там и сразу все понял, даже никто не подсказывал. Наоборот, непредвзятое мнение. От Р-студии вообще неприятный осадок остался.
 
Maxim Dmitrievsky #:
Обратная ситуация. Никто не юзает Р из крупных внедренцев. И люди не последние в айти.

потому что он не для этого ..

почему на с++ никто сайты не пишет?

каждому ЯП своя задача , потому их и много

Maxim Dmitrievsky #:

Какого невежества? Я изначально качнул Р и питон. Поковырялся там и там и сразу все понял, даже никто не подсказывал. От Р-студии вообще неприятный осадок остался.

просто выбрал что было более знакомо, более похоже на mql , а то что менее знакомо (не знакомо) назвал корявым . А надо было изучить..

 
mytarmailS #:

потому что он не для этого ..

почему на с++ никто сайты не пишет?

просто выбрал что было более знакомо, более похоже на mql , а то что менее знакомо (не знакомо) назвал корявым . А надо было изучить..

Не составляет труда что-либо выучить. Но рациональное зерно подсказало, что нет ни смысла ни преимуществ, для своих поделок.

На питоне сразу начал писать код, без почти изучения. Потом пара библиотек основных понадобилась и Усе.

Нет таких задач, где Р выигрывает. Про статистику - миф. Просто кто-то так оправдывает свой выбор, вроде Саныча.
 
Maxim Dmitrievsky #:
На питоне сразу начал писать код, без почти изучения. Потом пара библиотек основных понадобилась и Усе.

Ну и отлично, он так и был задуман...

Только зачем эти пасивно агресивные нападки на R постоянно?  Это лучшый ЯП для своих задач , он для этого и был создан,

питон общий ЯП с претензией на простоту в освоении..


Главное ведь не это все, а красивые сделочки делать с помощью алгоритмов 


 
mytarmailS #:

потому что он не для этого ..

почему на с++ никто сайты не пишет?

каждому ЯП своя задача , потому их и много

просто выбрал что было более знакомо, более похоже на mql , а то что менее знакомо (не знакомо) назвал корявым . А надо было изучить..

вы наверное просто не вполне вкурсе..С++ backend крайне востребован и это чуть не самые дорогие вакансии

 
Maxim Kuznetsov #:

вы наверное просто не вполне вкурсе..С++ backend крайне востребован и это чуть не самые дорогие вакансии

вы наверное просто не вполне вкурсе что сайт это не только backend  ;)

 

Не все следят за развитием MQL5, но в нем есть штатные методы у матриц и векторов.

Это именно штатные методы языка, а не сторонние библиотеки. Язык с внедрением matrix/vector/complex типов стал очень мощным для стат анализа и тяжелой математики.

Функция

Действие

Категория

Activation

Вычисляет значения функции активации и записывает в переданный вектор/матрицу

Машинное обучение

ArgMax

Возвращает индекс максимального значения

Статистика

ArgMin

Возвращает индекс минимального значения

Статистика

ArgSort

Возвращает отсортированный индекс

Манипуляции

Assign

Копирует матрицу, вектор или массив с автоматическим преобразованием

Инициализация

Average

Вычисляет средневзвешенное значение значений матрицы/вектора

Статистика

Cholesky

Вычисляет разложение Холецкого

Преобразования

Clip

Ограничивает элементы матрицы/вектора заданным диапазоном допустимых значений

Манипуляции

Col

Возвращает вектор-столбец. Записывает вектор в указанный столбец

Манипуляции

Cols

Возвращает количество столбцов в матрице

Характеристики

Compare

Сравнивает элементы двух матриц/векторов с заданной точностью

Манипуляции

CompareByDigits

Сравнивает элементы двух матриц/векторов на совпадение с точностью значащих цифр

Манипуляции

Cond

Вычисляет условное число матрицы

Характеристики

Convolve

Возвращает дискретную линейную свертку двух векторов

Произведения

Copy

Возвращает копию заданной матрицы/вектора

Манипуляции

CopyRates

Получает в матрицу или вектор исторические серии структуры MqlRates указанного символа-периода в указанном количестве

Инициализация

CopyTicks

Получает в матрицу или вектор тики из структуры MqlTick

Инициализация

CopyTicksRange

Получает в матрицу или вектор тики из структуры MqlTick в указанном диапазоне дат

Инициализация

CorrCoef

Вычисляет коэффициент корреляции Пирсона (линейный коэффициент корреляции)

Произведения

Correlate

Вычисляет кросс-корреляцию двух векторов

Произведения

Cov

Вычисляет ковариационную матрицу

Произведения

CumProd

Возвращает кумулятивное произведение элементов матрицы/вектора, включая элементы вдоль заданной оси

Статистика

CumSum

Возвращает кумулятивную сумму элементов матрицы/вектора, включая элементы вдоль заданной оси

Статистика

Derivative

Вычисляет значения производной активационной функции и записывает в переданный вектор/матрицу

Машинное обучение

Det

Вычисляет детерминант квадратной невырожденной матрицы

Характеристики

Diag

Извлекает диагональ или строит диагональную матрицу

Манипуляции

Dot

Скалярное произведение двух векторов

Произведения

Eig

Вычисляет собственные значения и правые собственные векторы квадратной матрицы

Преобразования

EigVals

Вычисляет собственные значения общей матрицы

Преобразования

Eye

Возвращает матрицу с единицами на диагонали и нулями в других местах

Инициализация

Fill

Заполняет существующую матрицу или вектор заданным значением

Инициализация

Flat

Позволяет обращаться к элементу матрицы через один индекс вместо двух

Манипуляции

Full

Создает и возвращает новую матрицу, заполненную заданным значением

Инициализация

GeMM

Oбщее матричное произведение двух матриц (General Matrix Multiply)

Произведения

Hsplit

Горизонтальное разделение матрицы на несколько подматриц. То же самое, что Split с axis=0

Манипуляции

Identity

Создает единичную матрицу указанного размера

Инициализация

Init

Инициализация матрицы или вектора

Инициализация

Inner

Внутреннее произведение двух матриц

Произведения

Inv

Вычисляет (мультипликативную) обратную квадратной невырожденной матрицы методом Жордана-Гаусса

Решения

Kron

Возвращает произведение Кронекера двух матриц, матрицы и вектора, вектора и матрицы или двух векторов

Произведения

Loss

Вычисляет значения функции потерь и записывает в переданный вектор/матрицу

Машинное обучение

LstSq

Возвращает решение линейных алгебраических уравнений по методу наименьших квадратов (для неквадратных или вырожденных матриц)

Решения

LU

LU-факторизация матрицы как произведения нижней треугольной матрицы и верхней треугольной матрицы

Преобразования

LUP

Факторизация LUP с частичной перестановкой, которая относится к разложению LU только с перестановкой строк: PA=LU

Преобразования

MatMul

Матричное произведение двух матриц

Произведения

Max

Возвращает максимальное значение в матрице/векторе

Статистика

Mean

Вычисляет среднее арифметическое значений элементов

Статистика

Median

Вычисляет медиану элементов матрицы/вектора

Статистика

Min

Возвращает минимальное значение в матрице/векторе

Статистика

Norm

Возвращает норму матрицы или вектора

Характеристики

Ones

Создает и возвращает новую матрицу, заполненную единицами

Инициализация

Outer

Вычисляет внешнее произведение двух матриц или двух векторов

Произведения

Percentile

Возвращает указанный процентиль значений элементов матрицы/вектора или элементов вдоль указанной оси

Статистика

PInv

Вычисляет псевдообратную матрицу методом Мура-Пенроуза

Решения

Power

Возводит квадратную матрицу в целочисленную степень

Произведения

Prod

Возвращает произведение элементов матрицы/вектора, которое также может быть выполнено для заданной оси

Статистика

Ptp

Возвращает диапазон значений матрицы/вектора или заданной оси матрицы

Статистика

QR

Вычисляет qr-факторизацию матрицы

Преобразования

Quantile

Возвращает указанный квантиль значений элементов матрицы/вектора или элементов вдоль указанной оси

Статистика

Rank

Возвращает ранг матрицы с помощью метода Гаусса

Характеристики

RegressionMetric

Вычисляет регрессионную метрику как ошибку отклонения от линии регрессии, построенной на указанном массиве данных

Статистика

Reshape

Изменение формы матрицы без изменения ее данных

Манипуляции

Resize

Возвращает новую матрицу с измененной формой и размером

Манипуляции

Row

Возвращает вектор-строку. Записывает вектор в указанную строку

Манипуляции

Rows

Возвращает количество строк в матрице

Характеристики

Size

Возвращает размер вектора

Характеристики

SLogDet

Вычисляет знак и логарифм определителя матрицы

Характеристики

Solve

Решает линейное матричное уравнение или систему линейных алгебраических уравнений

Решения

Sort

Сортировка по месту

Манипуляции

Spectrum

Вычисляет спектр матрицы как набор ее собственных значений из произведения AT*A

Характеристики

Split

Разделение матрицы на несколько подматриц

Манипуляции

Std

Возвращает стандартное отклонение значений элементов матрицы/вектора или элементов вдоль заданной оси

Статистика

Sum

Возвращает сумму элементов матрицы/вектора, которая также может быть выполнена для заданной оси (осей)

Статистика

SVD

Сингулярное разложение значений

Преобразования

SwapCols

Меняет местами столбцы в матрице

Манипуляции

SwapRows

Меняет местами строки в матрице

Манипуляции

Trace

Возвращает сумму по диагоналям матрицы

Характеристики

Transpose

Транспонирует (меняет оси местами) и возвращает измененную матрицу

Манипуляции

Tri

Строит матрицу с единицами на заданной и ниже диагоналях и нулями в других местах

Инициализация

TriL

Возвращает копию матрицы с обнуленными элементами над k-й диагональю. Нижнетреугольная матрица

Манипуляции

TriU

Возвращает копию матрицы с обнуленными элементами ниже k-й диагонали. Верхнетреугольная матрица

Манипуляции

Var

Вычисляет дисперсию значений элементов матрицы/вектора

Статистика

Vsplit

Вертикальное разделение матрицы на несколько подматриц. То же самое, что Split с axis=1

Манипуляции

Zeros

Создает и возвращает новую матрицу, заполненную нулями

Инициализация

Документация по MQL5: Методы матриц и векторов
Документация по MQL5: Методы матриц и векторов
  • www.mql5.com
Методы матриц и векторов - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
mytarmailS #:

Ну и отлично, он так и был задуман...

Только зачем эти пасивно агресивные нападки на R постоянно?  Это лучшый ЯП для своих задач , он для этого и был создан,

питон общий ЯП с претензией на простоту в освоении..


Главное ведь не это все, а красивые сделочки делать с помощью алгоритмов 


А че мне твои сделочки, бэктесты подавай!
Трейдинг это не про науку, а больше ситуативно. Сегодня сделочки в +, завтра в -.
Вот был арбитраж нормальный когда, можно было и бабам на цветы и себе на тачки, а потом как-то подсдулось. И ты хоть какую статистику применяй, не выйдет у Миколы каменный цветок. 

С нейронками другая проблема - выбор моделей. Одна уже год работает, другие сдуваются. Потом на тебя какой-нибудь египтянин орет, что ты его обманул. А что ты сделаешь? Такова природа вещей. И статистика как-то опять мимо проходит. Поэтому выбор был очевиден - за максимальную простоту и удобство.
 
Maxim Dmitrievsky #:
А че мне твои сделочки, бэктесты подавай!
Трейдинг это не про науку, а больше ситуативно. Сегодня сделочки в +, завтра 
При всех моих знаниях, я не знаю как это алгоритмизировать,  просто есть понимание ситуации и все.. 
МО как индикатор, а 99% интеллектуальной роботы за мной.. 

1) Либо так, и это кое как работает

2) либо все на автомате и это не работает никогда. 


пока сижу на п.1) но мечтаю про п.2)

 
mytarmailS #:
При всех моих знаниях, я не знаю как это алгоритмизировать,  просто есть понимание ситуации и все.. 
МО как индикатор, а 99% интеллектуальной роботы за мной.. 

1) Либо так, и это кое как работает

2) либо все на автомате и это не работает никогда. 


пока сижу на п.1) но мечтаю про п.2)

Ты придумай как свою поделку с ФФ лучше валидировать и будет автомат. Идея прикольная.