Формула регрессии Y=X*a+b
Нужно подобрать эти коэффициенты a и b.
приветствую
ненавязчиво обращаю внимание на такой вариант:
int info,i,j;
CLinearModelShell LM;
CLRReportShell AR;
CLSFitReportShell report;
CMatrixDouble MATRIX(points,variables);
for(i=0; i<variables; i++) for(j=0; j<points; j++) MATRIX[j].Set(i,EQUITY[j,i]);
CAlglib::LRBuildZ(MATRIX,points,variables-1,info,LM,AR);
if(info<0) {Alert("Error in regression model!");error=true;return;}
CAlglib::LRUnpack(LM,ROOTS,variables);
ROOTS[variables-1]=-1;
ну есть у меня 2 массива: Buf_0[], Buf_1[] ...
какие мне значения в функцию подставлять? и как найти нужные коэффициенты?
мой уровень в программировании - начальный.
аааааа... у меня счас будет взрыв мозга.
это типичная ситуация когда я что-то кому-то пишу, так всегда бывает )))
portfolio optimizer может решить задачу формирования спреда методом регрессии для 2 и более инструментов
перед этим выполняется перевод пунктов в доллары, масштабирование и еще ряд необходимых операций
аааааа... у меня счас будет взрыв мозга.
ну есть у меня 2 массива: Buf_0[], Buf_1[] ...
какие мне значения в функцию подставлять? и как найти нужные коэффициенты?
мой уровень в программировании - начальный.
Про иных инженеров есть такое мнение: недостаточно умен чтобы делать простые вещи. Это стократно относится к библиотеке ALGLIB - безумие какое-то!
Наберитесь терпения и начните осваивать R. Линейная регрессия - это одна строчка, причем в режиме интерпретатора: пишите, меняете и сразу результат. Причем имеется мощнейшая графика, чтобы посмотреть и исходные данные и результат в графическом виде.
Построив регрессию, Вам захочется посмотреть ее характеристики. Опять если не сразу, то еще одна строка. Либо Вы придете к выводу, что линейная регрессия не походит, а нужна другая - достаточно поменять букву в формуле..... Немаловажно, что все это сопровождается документацией высочайшего качества. Разрабатывалось тысячами самых квалифицированных людей в мире...
И вообще:
НА СЕГОДНЯ R ЯВЛЯЕТСЯ СТАНДАРТОВ В ОБЛАСТИ СТАТИСТИКИ, МАШИННОГО ОБУЧЕНИЯ, ЭКОНОМЕТРИКИ.
Освоив R, Вы получите базу в области трейдинга до конца жизни. Немаловажно, что R является открытой бесплатной системой.
Успехов!
ПС.
А про Alglib забудьте как про страшный сон.
хороший пиар R...
только тут не инженеры а экономисты и трейдеры
а экономисты хотят экономности (внезапно)
я лично ничего против R не имею, это и правда могучая система + свой язык и даже кое-какая среда разработки
для научно-исследовательских задач очень и очень хорошо
является ли R общепринятым стандартом? а почему не SAS? SPSS?
например если освоить SAS то в распоряжении будет не только sas base, статистика, но и хранилище данных и даже ETL
но будет ли это оптимально?
можно долго и упорно вкуривать разные языки но ведь не это самоцель
решение должно быть адекватно задаче
alglib намного более экономное решение
кроме того очевидно что же человек пишет: "мой уровень в программировании - начальный"
и задача простейшая - построить спред
зачем здесь R? это перебор
да и тогда бы лучше порекомендовать не R, а R GUI / quick-R
а то получается из пушки по воробьям
почему alglib конкретно здесь лучше:
- готовая библиотека адаптированная под mql
- не нужна установка промежуточных библиотек-связок и собственно R, нужно только скопировать include и все
- есть примеры использования и люди которые могут подсказать (применительно к mql)
- быстрая и вроде бы проверенная
подчеркну - это не камень в сторону R, бесспорно R будет круче, но освоение и спряжение c MT будет намного более долгим и трудным
а так то да, про R все верно
но даже несмотря на это я бы отметил тенденцию или стремление к переходу от командно-язычного подхода к визуального
например есть же deductor academic или rapidminer и тот же sas уже давно оброс разными gui
хороший пиар R...
только тут не инженеры а экономисты и трейдеры
а экономисты хотят экономности (внезапно)
я лично ничего против R не имею, это и правда могучая система + свой язык и даже кое-какая среда разработки
для научно-исследовательских задач очень и очень хорошо
является ли R общепринятым стандартом? а почему не SAS? SPSS?
например если освоить SAS то в распоряжении будет не только sas base, статистика, но и хранилище данных и даже ETL
но будет ли это оптимально?
можно долго и упорно вкуривать разные языки но ведь не это самоцель
решение должно быть адекватно задаче
alglib намного более экономное решение
кроме того очевидно что же человек пишет: "мой уровень в программировании - начальный"
и задача простейшая - построить спред
зачем здесь R? это перебор
да и тогда бы лучше порекомендовать не R, а R GUI / quick-R
а то получается из пушки по воробьям
почему alglib конкретно здесь лучше:
- готовая библиотека адаптированная под mql
- не нужна установка промежуточных библиотек-связок и собственно R, нужно только скопировать include и все
- есть примеры использования и люди которые могут подсказать (применительно к mql)
- быстрая и вроде бы проверенная
подчеркну - это не камень в сторону R, бесспорно R будет круче, но освоение и спряжение c MT будет намного более долгим и трудным
а так то да, про R все верно
но даже несмотря на это я бы отметил тенденцию или стремление к переходу от командно-язычного подхода к визуального
например есть же deductor academic или rapidminer и тот же sas уже давно оброс разными gui
В свое время, лет 5-6 назад, я сдуру принимал во внимание подобные разговоры и потратил кучу времени на разные там матлабы и статистики. Кстати, платные системы, как и названные Вами.
Когда Вы пишите "R круче", то может создаться впечатление, что крутизна - это синоним сложности использования.
Это не совсем так.
На первом этапе мне не известна столь простая система с одной стороны, а с другой стороны, обладающая максимальными возможностями система.
То, что хочет автор топика, он, быть может при своих скромных познаниях в программировании, может реализовать в течение часа. Установка R - запускаешь файл и через несколько секунд R готов к работе. Затем через эксель загоняешь данные - один оператор, следующий опреатор - линейная регрессия (lm) - все. Получаешь кучу статистики по самой регрессии. Еще один оператор - plot- рисуешь графики.
Можно остаться на этом уровне и заниматься мелким статистическим щипачеством, а заодно очень удобным и развитым средством рисования результатов..
Но.
По своем алгоритмическим возможностям, а особенно по функциональным возможностям - здесь надо без иллюзий. Начиная с того, что в R нет понятия "скаляр". В самом простом случае идентификатор (имя объекта) - вектор, а далее ....
Из собственно опыта.
Есть такой алгоритм машинного обучения "random forest". Чрезвычайно полезная штука. В R одна строчка. Попытался перенести в alglib, используя приведенные Вами аргументы. Просто безумие какое-то. Потратил целый день, владея не плохо идеологией random forest и плюнул.
ПС.
GerbertX:
Рекомендую Вам не сам R а пакет Rattle. То, что Вы хотите цена час, но кроме этого еще много чего как впредварительной подготовке данных, статистике, так и дополнительно еще пять моделей кроме линейной регрессии. Здесь в моей статье.
В свое время, лет 5-6 назад, я сдуру принимал во внимание подобные разговоры и потратил кучу времени на разные там матлабы и статистики. Кстати, платные системы, как и названные Вами.
Когда Вы пишите "R круче", то может создаться впечатление, что крутизна - это синоним сложности использования.
Это не совсем так.
На первом этапе мне не известна столь простая система с одной стороны, а с другой стороны, обладающая максимальными возможностями система.
То, что хочет автор топика, он, быть может при своих скромных познаниях в программировании, может реализовать в течение часа. Установка R - запускаешь файл и через несколько секунд R готов к работе. Затем через эксель загоняешь данные - один оператор, следующий опреатор - линейная регрессия (lm) - все. Получаешь кучу статистики по самой регрессии. Еще один оператор - plot- рисуешь графики.
Можно остаться на этом уровне и заниматься мелким статистическим щипачеством, а заодно очень удобным и развитым средством рисования результатов..
Но.
По своем алгоритмическим возможностям, а особенно по функциональным возможностям - здесь надо без иллюзий. Начиная с того, что в R нет понятия "скаляр". В самом простом случае идентификатор (имя объекта) - вектор, а далее ....
Из собственно опыта.
Есть такой алгоритм машинного обучения "random forest". Чрезвычайно полезная штука. В R одна строчка. Попытался перенести в alglib, используя приведенные Вами аргументы. Просто безумие какое-то. Потратил целый день, владея не плохо идеологией random forest и плюнул.
ПС.
GerbertX:
Рекомендую Вам не сам R а пакет Rattle. То, что Вы хотите цена час, но кроме этого еще много чего как впредварительной подготовке данных, статистике, так и дополнительно еще пять моделей кроме линейной регрессии. Здесь в моей статье.
упомянутая статистика (statistica) еще в начале 2000ых годов была неплохим пакетом,
не берусь составлять с R так с ходу, а на тот момент она закрыла все мои потребности + удобство как в экселе
насчет сложности, я наверное не соглашусь, все-таки язык R для быстрого освоения не так уж самоочевиден
так что сложность есть
а крутость как раз в том что в языке по дефолту реализованы математические объекты без необходимости собственной их реализации
вот это и круто
в этом R обгонит и SAS stat/ets с его наворотами
рандомные леса - это сила, да
если же вернуться к исходной задаче поставленной топик-стартером то все же имхо alglib будет поудобнее
ведь нужно не только посчитать модель в R
нужно еще вернуть результаты обратно в МТ а отсюда уже необходимость специфического кода по спряганию МТ и R, прописывать вызовы R внутри МТ
вариант с библиотекой намного проще
при этом нужно будет сначала перевести пункты в валюту депозита (а это по любому удобнее делать в МТ)
потом проверить-почистить миссинги, далее собственно посчитать модель и нормировать корни
глубокого анализа регрессионной модели для спреда не предвидится, проще посмотреть сразу на графике
Про иных инженеров есть такое мнение: недостаточно умен чтобы делать простые вещи. Это стократно относится к библиотеке ALGLIB - безумие какое-то!
Наберитесь терпения и начните осваивать R. Линейная регрессия - это одна строчка, причем в режиме интерпретатора: пишите, меняете и сразу результат. Причем имеется мощнейшая графика, чтобы посмотреть и исходные данные и результат в графическом виде.
Построив регрессию, Вам захочется посмотреть ее характеристики. Опять если не сразу, то еще одна строка. Либо Вы придете к выводу, что линейная регрессия не походит, а нужна другая - достаточно поменять букву в формуле..... Немаловажно, что все это сопровождается документацией высочайшего качества. Разрабатывалось тысячами самых квалифицированных людей в мире...
И вообще:
НА СЕГОДНЯ R ЯВЛЯЕТСЯ СТАНДАРТОВ В ОБЛАСТИ СТАТИСТИКИ, МАШИННОГО ОБУЧЕНИЯ, ЭКОНОМЕТРИКИ.
Освоив R, Вы получите базу в области трейдинга до конца жизни. Немаловажно, что R является открытой бесплатной системой.
Успехов!
ПС.
А про Alglib забудьте как про страшный сон.
ПС.
А про Alglib забудьте как про страшный сон.
Сколько людей - столько мнений.
Для каждого лучше то, что он лучше знает.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть у меня два массива - графики AUDUSD и NZDUSD, как между ними сделать регрессию?
Какие параметры подставлять в функцию?