358ba2464c394f44b7c0ac33eebf7486.png 🤖🤖 Обратное тестирование является важной составляющей разработки и оценки торгового робота. Оно включает тестирование торговой стратегии с использованием исторических данных рынка для оценки ее производительности и проверки ее эффективности перед внедрением в реальные торги. Вот как обычно проводится обратное тестирование в торговом роботе: 👉 1. Исторические данные: Торговый робот использует исторические данные рынка, включая данные о ценах, объемах и других соответствующих показателях, чтобы воссоздать прошлые условия рынка. Данные должны охватывать достаточно длительный и разнообразный период, чтобы учесть различные сценарии и условия рынка. 👉 2. Реализация стратегии: Торговый робот применяет конкретную торговую стратегию или алгоритм к историческим данным. Он выполняет симулированные сделки на основе заранее определенных правил и логики стратегии, включая сигналы для входа и выхода, размер позиции, правила управления рисками и любые другие соответствующие параметры. 👉 3. Измерение производительности: Торговый робот измеряет и записывает производительность каждой симулированной сделки, включая прибыль/убыток, процент выигрышных сделок, отношение риска к вознаграждению, максимальную просадку и другие соответствующие показатели. Он отслеживает кривую капитала, историю сделок и производительность портфеля на протяжении всего периода обратного тестирования. 👉 4. Статистический анализ: Торговый робот выполняет статистический анализ результатов обратного тестирования для оценки производительности стратегии. Этот анализ может включать такие показатели, как годовой доходность, коэффициент Шарпа, коэффициент Сортино, максимальная просадка и другие показатели, учитывающие риск. Он помогает оценить прибыльность стратегии, уровень риска и ее последовательность со временем. 👉 5. Оптимизация и настройка параметров: На основе результатов обратного тестирования торговый робот может пройти процесс оптимизации и настройки параметров для улучшения своей производительности. Это включает настройку параметров стратегии, таких как индикаторы, пороги, временные рамки или другие переменные, с целью максимизации прибыльности стратегии или риско-скорректированных показателей. 👉 6. Тестирование надежности: Торговый робот проходит тестирование надежности для оценки его производительности в различных условиях рынка или вариациях входных данных. Это тестирование помогает оценить надежность стратегии, ее способность противостоять изменениям на рынке и адаптироваться к различным сценариям. 👉 7. Тестирование на реальных данных: Для дополнительной проверки производительности и надежности стратегии торговый робот может пройти тестирование на реальных данных. Это включает разделение исторических данных на несколько сегментов, таких как периоды обучения и тестирования, для более точного моделирования реальных условий торговли. Стратегия периодически оптимизируется и оценивается с использованием свежих данных для обеспечения ее дальнейшей эффективности. 👉 8. Сравнение производительности и оценка: Торговый робот сравнивает результаты обратного тестирования разных стратегий или их вариаций, чтобы выявить наиболее перспективные. Он оценивает стратегии на основе их риско-скорректированных доходностей, последовательности, просадок и других соответствующих показателей. Это помогает выбрать самую успешную стратегию для реальной торговли или для дальнейшей настройки. 💥💥 Обратное тестирование предоставляет ценную информацию о производительности, прибыльности и характеристиках риска торговой стратегии в прошлом. Это помогает трейдерам и разработчикам оценить жизнеспособность стратегии, принимать обоснованные решения и получить уверенность в ее использовании в реальной торговле. Однако важно отметить, что прошлые результаты не гарантируют будущие результаты, и необходимо постоянное мониторинг и адаптация для учета изменяющихся рыночных условий.
Свечи в биржевой торговле постоянный и необходимый атрибут. Сегодня нет трейдеров, которые не обращаются к свечным графикам и не отслеживают изменения рынка на его основе. История «свечного» отображения поведения рынка уходит корнями в прошлое, в Японию 18 века, когда последовательностью «свечей» начали наглядно изображать ценовой максимум и минимум в течение определённого периода, а также цены на начало и конец данного периода. Нет смысла описывать состав свечи, так как любой трейдер знает эти основы. Говоря в контексте анализа, свечи - основа всех основ, опытный трейдер может только глядя на график определить меняющуюся ситуацию. Иногда трейдер не просто определяет ситуацию на рынке, но и способен предугадать изменения, так как рынок склонен, при схожих условиях, одинаково реагировать на «раздражители». Как я писал ранее, обилие инструментов для торговли всего лишь предоставляют возможность заключения сделок, превращая торговлю исключительно интуитивное и спекуляционное действие. Серьёзная, не масс-торговля, требует систематического подхода, то есть нельзя просто взять терминал и начать торговать, изначально необходимо обладать знаниями. Эти знания строятся не только на практической части - торговле, но и включает в себя глубокий анализ рынка, его поведение на те или иные события. Такое отражения наглядно демонстрируют свечи. Для большинства пользователей свечи - максимум и минимум за период, однако многообразие свечей способно удивлять. Каждый из вида свечей несет для трейдера свое значение, и способно предоставлять ему полный объем информации по нужному активу или группе активов. Итак для анализа могут понадобятся различные свечи, однако получить маркет данные для них - достаточно проблемно. Большинство программ и ресурсов для скачивания маркет данных не предоставляют такую информацию, а те что могут предоставить не позволяют получить данные сразу по нескольким типам свечей. Второй проблемой становиться необходимость конвертации данных в нужный формат для графического представления свечей и «наглядного» анализа. Не стоит забывать о стоимости таких программ, которые редко бывают даже «условно бесплатные». Как писалось ранее, S#.Data решает эти проблемы. Она позволяет не просто построить свечи различных типов, но и сохранить их, что не мало важно для дальнейшего использования. Практически все источники не транслируют напрямую маркет данные по таким свечам, соответственно проблема для большинства программ становится неразрешимой, однако S#.Data решает ее путем построения таких уникальных свечей посредством других скаченных маркет данных. Например из Тиков. ticks_market_data.png Так например свечи объема, которые отображают объем сделок за выбранный период, и дают информацию о активности инструмента. volume_market_data.png И так же легко можно построить их график volume_candles.png Программа позволяет получить Renko свечи. График рэнко наглядно определяет основной тренд. Такой график полезен для того чтобы определить ключевые уровни поддержки и сопротивления, так как усредняет основную тенденцию, не отражаются мелкие колебания цены, это позволяет сосредоточить внимание на действительно значимых движениях. renko_market_data.png Так же после получения маркет данных строим график. renko_candles.png Не менее важные свечи - Range свечи. Особенностью данного графика является то что новые свечи строятся в зависимости не от таймфрейма, а от диапазона, который прошла цена. Соответственно пользователю удобнее отслеживать именно колебания цен. range_market_data.png И так же выстраиваем график. range_candles.png Помимо выше перечисленных, достаточно привычных для трейдеров свечей и их графиков, Hydraпозволяет получать уникальные, но нужные в анализе данные. Так например PnF свечи (крестик-нолик) PnF_market_data.png PnF_candles.png Или свечи Heiken Ashi Candles, применяемый для отслеживания тренда рынка. HeikinAshi_market_data.png HeikinAshi_candles.png Таким образом, S#.Data позволяет не просто получать готовые маркет данные, но и строить такие данные, получение которых не представляется возможным. Более того, она позволяет сразу строить графики, объединяя в себе все этапы для анализа рынка, сокращая финансовые и временные затраты трейдера. На этом все. До Встречи в новых статьях.
Привет всем алготрейдерам! Хочу поделиться своим решение для тестирования скальперских и ХФТ стратегий. Долгое время я использую замечательный привод Морошкина (бесплатную версию [smile] ). И недавно решил автоматизировать несколько стратегий на базе StockSharp. Но для этого нужны исторические данные, в частности стаканы. У StockSharp есть программа Гидра, которая по идее позволяет качать все необходимое, но ее нужно держать постоянно включенной. Для меня это не вариант, так как я постоянно занят, и интернет не всегда стабильный. Но недавно я узнал, что QScalp сам пишет историю и бесплатно ее выкладывает через брокера IT Invest. В итоге, я написал конвертор данных QScalp в формат StockSharp! Просто установите программу и скачайте исторические данные формата QSH для QScalp по одной из ссылок ниже http://www.itinvest.ru/software/spo/qscalp/history/ ftp://athistory.zerich.com/ Теперь осталось только указать в конвертере путь к скаченным файлам и к папке хранения исторических данных StockSharp, и нажать кнопку “Запустить”! Вуаля, теперь у вас есть высококачественные исторические данные для тестирования своих стратегий! PS Торопитесь пока бесплатно ;)) PPS Шутка)) Всем удачной торговли! Присоединиться и редактировать код можно по https://github.com/stocksharp/Qsh2Bin скомпилированную программу по https://github.com/StockSharp/Qsh2Bin/releases
В S#.Data (Гидра) появилась новая фича Аналитика. Она позволяет производить анализ над данными, что скачала Гидра. Стандартно входят 2 скрипта: Анализ объема с разбивкой по часам и анализ объема с разбивкой по цене: Анализ объема по часам Анализ объема с разбивкой по цене Множество примеров о том, как делать красивые графики на компоненте SciChart. Сам код так же пишется внутри Гидры: Редактор кода Для того, чтобы пойти чуть дальше, и попробовать заместить R и Python, добавлена библиотека Math Numerics. В одной программе (Гидра) теперь можно и скачивать данные, и анализировать, и производить визуализацию. Для тех, кто пользуется серверным режимом S#.Data, теперь можно анализировать данные, не закачивая их к себе на диск.
Источник загружает данные оттуда же, откуда и pro версия wealth-lab. Поддерживаются свечки всех мастей. Вроде как, с фиделити можно много разной инфы утянуть в том числе и макро, но в источнике нельзя. Поддерживается Гидра версии 4.1.19.1 Установка (все почти также, как и для яху-гугл) И снова идем на ГИТХАБ Обращаем внимание на то, что б была включена ветка \"master\" и жмем \"download zip\". 1 После того, как скачали, идем в архиве в папку bin\\Release или bin\\Debug и ищем там Файлы: WealthLab.DataProviders.Common.dll WealthLab.dll Fidelity.Components.dll StockSharp.Hydra.WLTask.dll Копируем его в Hydra\\Plugins Также ищем папку в архиве log4net_1_2_10_0 или Log4Net_old Копируем оттуда log4net.dll и кидаем ее в корень Гидры с заменой. Дело в том, что компоненты велс лаба собраны с более старой версией log4net, чем гидра. Выпилить оттуда эту библиотеку нельзя, равно как и из гидры. Но заменить в гидре можно, тем более что в они фактически и не используется. Запускаем Гидру. В списке Источников должен был появиться WL-source. Если не появился, жмем добавить источник. Настройки. Есть два режима: обычный и перезагрузка. В режиме перезагрузка, будут качаться все отсутствующие данные, начиная с указанной начальной даты. Временной отступ - для обычного режима. При отступе равном, например, 50, будут качаться все отсутствующие данные за последние 50 дней. Полезно, например, если вы считаете какой-нибудь индикатор за последние 50 дней, а все что раньше, вас не интересует. Инструменты При первом запуске, в главной директории Hydra появится текстовый файл WLSourceTickers.txt Записываем в него id необходимых инструментов через пробел, например: AAPL@SMART SPY@SMART APOL@NASDAQ GOOG@SMART SMART это умная система роутинга ордеров по ECN\u0027ам. Типа как exchange board. Можно не обращать внимания. Для импорта инструментов в гидре жмем добавить. 2 3 Инструменты спарсятся и добавятся в базу. Перед началом закачки нужно не забыть добавить желаемые данные - свечки нужного ТФ.