Модель Value at Risk (VaR) стала краеугольным камнем моих исследований в области рыночных рисков. Годы практики на Forex убедили меня в силе этого инструмента. VaR отвечает на вопрос, который мучает каждого трейдера: сколько вы можете потерять за день, неделю или месяц?
This article explores the potential of the Value at Risk (VaR) model for multi-currency portfolio optimization. Using the power of Python and the functionality of MetaTrader 5, we demonstrate how to implement VaR analysis for efficient capital allocation and position management. From theoretical foundations to practical implementation, the article covers all aspects of applying one of the most robust risk calculation systems – VaR – in algorithmic trading.
Свечные паттерны широко используются во многих различных торговых стратегиях и стилях большинством алгоритмических трейдеров в нашем сообществе. Однако наше понимание этих паттернов ограничено свечами, которые мы обнаружили, в то время как на самом деле может существовать множество других прибыльных свечных паттернов, о которых мы просто еще не знаем. Из-за обилия информации, охватывающей большинство современных рынков, трейдерам очень сложно быть уверенными в том, что они всегда используют самые надежные свечные модели, доступные им на выбранном ими рынке.
Dimension reduction techniques are widely used to improve the performance of machine learning models. Let us discuss a relatively new technique known as Uniform Manifold Approximation and Projection (UMAP). This new technique has been developed to explicitly overcome the limitations of legacy methods that create artifacts and distortions in the data. UMAP is a powerful dimension reduction technique, and it helps us group similar candle sticks in a novel and effective way that reduces our error rates on out of sample data and improves our trading performance.
Идея заключалась в том, чтобы изучить множество исторических данных с помощью алгоритма, который бы находил повторяющиеся паттерны и оценивал их эффективность. Звучит интересно? На деле реализация оказалась не такой уж простой.
Are there any repeating patterns and regularities in the Forex market? I decided to create my own pattern analysis system using Python and MetaTrader 5. A kind of symbiosis of math and programming for conquering Forex.
In this article, we will create an arbitration system that remains legal in the eyes of brokers, creates thousands of synthetic prices on the Forex market, analyzes them, and successfully trades for profit.
Экономическое прогнозирование - довольно сложная и трудоемкая задача. Оно позволяет проанализировать возможные будущие изменения, используя данные прошлых лет. Анализируя исторические данные и текущие экономические показатели, мы можем предположить, в каком направлении может двигаться экономика. Это довольно полезный навык. С его помощью мы можем принимать более обоснованные решения в бизнесе, инвестициях и экономической политике.
Мы разработаем этот инструмент, используя Python и экономические данные, начиная со сбора информации и заканчивая созданием прогнозных моделей. Он будет анализировать, а также делать прогнозы на будущее.
Создание алгоритмических торговых систем на языке программирования MQL5 стало проще благодаря стандартным библиотекам, которые поставляются в MetaEditor в предустановленном виде. Эти модули (библиотеки) содержат функции и переменные, которые упрощают процесс открытия, проверки, закрытия сделок и т. д.
Без этих зависимостей становится сложно написать даже простую программу, например, простой скрипт для открытия позиции на покупку (сделки).
MetaTrader 5 python package provides an easy way to build trading applications for the MetaTrader 5 platform in the Python language, while being a powerful and useful tool, this module isn't as easy as MQL5 programming language when it comes to making an algorithmic trading solution. In this article, we are going to build trade classes similar to the one offered in MQL5 to create a similar syntax and make it easier to make trading robots in Python as in MQL5.
Прогнозирование временных рядов - это процесс использования прошлых данных для предсказания будущих значений в последовательности точек данных. Эта последовательность обычно упорядочена по времени, отсюда и название временного ряда.
ARIMA, short for Auto Regressive Integrated Moving Average, is a powerful traditional time series forecasting model. With the ability to detect spikes and fluctuations in a time series data, this model can make accurate predictions on the next values. In this article, we are going to understand what is it, how it operates, what you can do with it when it comes to predicting the next prices in the market with high accuracy and much more.
В этой статье мы начнем со сбора данных о погоде и дойдем до создания полноценной торговой системы, анализирующей погодные факторы. Наша работа основана на реальных торговых данных за последние пять лет из крупнейших мировых финансовых центров: Нью-Йорка, Лондона, Токио, Гонконга и Франкфурта. Используя современные инструменты анализа данных и машинного обучения, мы будем получать реальные торговые сигналы из погодных наблюдений.
What is the relationship between weather and Forex? Classical economic theory has long ignored the influence of such factors as weather on market behavior. But everything has changed. Let's try to find connections between the weather conditions and the position of agricultural currencies on the market.
При разработке торговых алгоритмов, основанных на машинном обучении, важно правильно и быстро оценивать результаты их торговли на истории. Если учесть редкое использование тестера на больших временных интервалах и с небольшой глубиной истории, то тестер на Python вполне подойдет. Однако если задача включает в себя множество тестов и высокочастотные стратегии, то интерпретируемый язык может оказаться слишком медленным.
Допустим, нас не устраивает скорость выполнения некоторых скриптов, но мы не хотим отказываться от привычной среды разработки на Python. Здесь на помощь приходит Numba, позволяющая на лету преобразовывать и компилировать родной код Python в быстрый машинный код. Скорость выполнения такого кода становится сопоставимой со скоростью выполнения кода на языках программирования, таких как C и FORTRAN.
The article implements a fast strategy tester for machine learning models using Numba. It is 50 times faster than the pure Python strategy tester. The author recommends using this library to speed up mathematical calculations, especially the ones involving loops.
Хотя попытка реализовать модуль, инструмент, фреймворк и т. д. из одного языка в другой - в данном случае в MQL5 - может привести к несколько иной функциональности и результату (результатам) из-за разной природы языков программирования, но наличие схожего синтаксиса или опыта может быть достаточным, чтобы сделать разработку продуктов на MQL5 простой и увлекательной для разработчиков, знакомых с разными языками. Не говоря уже о том, что в процессе работы мы можем почерпнуть ценную информацию, которая укрепит наши навыки программирования в целом.
В этом новом цикле статей мы будем реализовывать не каждый модуль из других языков, а каждый модуль, практически применимый в MQL5 из другого языка. Например, модули для математических вычислений, хранения данных, анализа данных и т.д.
The sqlite3 module in Python offers a straightforward approach for working with SQLite databases, it is fast and convenient. In this article, we are going to build a similar module on top of built-in MQL5 functions for working with databases to make it easier to work with SQLite3 databases in MQL5 as in Python.
Количественный подход к управлению рисками: Применение модели VaR для оптимизации мультивалютного портфеля с помощью Python и MetaTrader 5
Модель Value at Risk (VaR) стала краеугольным камнем моих исследований в области рыночных рисков. Годы практики на Forex убедили меня в силе этого инструмента. VaR отвечает на вопрос, который мучает каждого трейдера: сколько вы можете потерять за день, неделю или месяц?
Feature Engineering With Python And MQL5 (часть IV): Распознавание свечных паттернов с помощью UMAP-регрессии
Поиск пользовательских паттернов валютных пар на Python с помощью MetaTrader 5
Высокочастотная арбитражная торговая система на Python с использованием MetaTrader 5
Подведем итоги. Мы создали систему, которая ищет арбитражные возможности. Помните, что система не решает всех ваших финансовых проблем.
Мы разобрались с бэктестингом. Он работает с данными по времени и, что еще лучше, позволяет увидеть, как наша система работала бы в прошлом.
Экономические прогнозы: Исследование потенциала Python
Экономическое прогнозирование - довольно сложная и трудоемкая задача. Оно позволяет проанализировать возможные будущие изменения, используя данные прошлых лет. Анализируя исторические данные и текущие экономические показатели, мы можем предположить, в каком направлении может двигаться экономика. Это довольно полезный навык. С его помощью мы можем принимать более обоснованные решения в бизнесе, инвестициях и экономической политике.
Мы разработаем этот инструмент, используя Python и экономические данные, начиная со сбора информации и заканчивая созданием прогнозных моделей. Он будет анализировать, а также делать прогнозы на будущее.
Создание MQL5-подобных торговых классов на Python для MetaTrader 5
Создание алгоритмических торговых систем на языке программирования MQL5 стало проще благодаря стандартным библиотекам, которые поставляются в MetaEditor в предустановленном виде. Эти модули (библиотеки) содержат функции и переменные, которые упрощают процесс открытия, проверки, закрытия сделок и т. д.
Без этих зависимостей становится сложно написать даже простую программу, например, простой скрипт для открытия позиции на покупку (сделки).
Наука о данных и ML (часть 42): Прогнозирование временных рядов Forex с помощью ARIMA в Python, все, что вам нужно знать
Прогнозирование временных рядов - это процесс использования прошлых данных для предсказания будущих значений в последовательности точек данных. Эта последовательность обычно упорядочена по времени, отсюда и название временного ряда.
Анализ влияния погоды на валюты сельскохозяйственных стран с помощью Python
Быстрый тестер торговых стратегий на Python с использованием Numba
При разработке торговых алгоритмов, основанных на машинном обучении, важно правильно и быстро оценивать результаты их торговли на истории. Если учесть редкое использование тестера на больших временных интервалах и с небольшой глубиной истории, то тестер на Python вполне подойдет. Однако если задача включает в себя множество тестов и высокочастотные стратегии, то интерпретируемый язык может оказаться слишком медленным.
Допустим, нас не устраивает скорость выполнения некоторых скриптов, но мы не хотим отказываться от привычной среды разработки на Python. Здесь на помощь приходит Numba, позволяющая на лету преобразовывать и компилировать родной код Python в быстрый машинный код. Скорость выполнения такого кода становится сопоставимой со скоростью выполнения кода на языках программирования, таких как C и FORTRAN.
Хотя попытка реализовать модуль, инструмент, фреймворк и т. д. из одного языка в другой - в данном случае в MQL5 - может привести к несколько иной функциональности и результату (результатам) из-за разной природы языков программирования, но наличие схожего синтаксиса или опыта может быть достаточным, чтобы сделать разработку продуктов на MQL5 простой и увлекательной для разработчиков, знакомых с разными языками. Не говоря уже о том, что в процессе работы мы можем почерпнуть ценную информацию, которая укрепит наши навыки программирования в целом.
В этом новом цикле статей мы будем реализовывать не каждый модуль из других языков, а каждый модуль, практически применимый в MQL5 из другого языка. Например, модули для математических вычислений, хранения данных, анализа данных и т.д.
Начнем с модуля sqlite3, который поставляется в комплекте с языком программирования Python.