Тестируем алгоритмы для торговых роботов срочного рынка РТС

29.04.17

Разработка - Математика и алгоритмы

1С может много чего. И ее возможности давно вышли за рамки изначально задуманного. В качестве такого примера решил выложить конфигурацию для тестирования простой стратегии торговли фьючерсом на пару Доллар-Рубль на срочном рынке РТС.

Скачать исходный код

Наименование Файл Версия Размер
Тестируем алгоритмы для торговых роботов срочного рынка РТС:
.dt 59,27Mb
15
.dt 59,27Mb 15 Скачать

Ни в коей мере нельзя рассматривать данное решение как готовый продукт. Скорее как платформу для разработки и тестирования собственных стратегии.  Сам алгоритм стратегии прописан в одной процедуре, в которой вы можете прописать свою стратегию. Все остальные процедуры и функции являются вспомогательными и предназначены в основном для расчета и визуализации результатов.

В решении также заложен механизм оптимизации изменяемых параметров стратегии на определенном интервале времени. Да, да это та самая подгонка под историю. Но к оптимизации надо относиться с большой осторожностью.

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

В базе загружены котировки на фьючерс Доллар-рубль за период 2008 по 2016 годы. 5-минутки. Есть котировки и по некоторым другим фьючерсам.

Котировки можно брать с сайта финама и подгружать в базу обработкой. В процессе загрузки обработка создаст котировки дневных свечей и рассчитает значения скользящей средней с периодом 652.  Я использовал только этот период, поэтому рассчитывал его заранее исключительно в целях быстродействия. Вы можете использовать скользящую среднюю с другим периодом, тогда расчет будет происходить на лету, но и работать будет медленнее.

В последнее время я тестил только фьючерс на пару Доллар-Рубль, здесь обработка работает корректно. По другим фьючерсам я не могу обещать правильную работу, тут код смотреть надо и за какие периоды есть котировки в базе.

Пару слов о реализованной в решении стратегии. Стратегия трендовая, из индикаторов используется только скользящая средняя и ATR. Рабочий таймфрейм – 5 минут. Открытие и закрытие сделок по цене закрытия свечи или по стоп-приказу. Стоп ставится всегда, реализовано несколько вариантов установки стоп-приказа. Я использовал ATR – что означает, чем больше волатильность на рынке (определяется по дневным свечам), тем дальше ставим стоп и тем большую цель рассчитываем взять. Взятие цели проверяется раз в сутки во время указанное в реквизите «Время фикс.» Сделка открывается в Лонг, если цена находится выше скользящей средней, свеча растущая и High и Low свечи выше аналогичных параметров предыдущей свечи. Сделка в Шорт, соответственно открывается наоборот.

Сейчас эта стратегия уже не работает и заработать на ней не получится, а раньше было неплохо.

Писалось данное решение исключительно для себя и публикация не планировалась, поэтому код не идеален и комментарии минимум. Описания тоже нет. Ну как есть, так есть.

Дальнейшее развитие решения не планируется.

Моя первая публикация.

Биржа роботы РТС фьючерсы срочный рынок брокер валюта спекуляция акций алгоритмы

См. также

Метод Дугласа-Пойкера для эффективного хранения метрик

Математика и алгоритмы Программист Платформа 1C v8.2 Конфигурации 1cv8 Россия Абонемент ($m)

На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.

1 стартмани

30.01.2024    2083    stopa85    12    

34

Алгоритм симплекс-метода для решения задачи раскроя

Математика и алгоритмы Бесплатно (free)

Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.

19.10.2023    5114    user1959478    50    

35

Регулярные выражения на 1С

Математика и алгоритмы Инструментарий разработчика Программист Платформа 1С v8.3 Мобильная платформа Россия Абонемент ($m)

Что ж... лучше поздно, чем никогда. Подсистема 1С для работы с регулярными выражениями: разбор выражения, проверка на соответствие шаблону, поиск вхождений в тексте.

1 стартмани

09.06.2023    8294    5    SpaceOfMyHead    17    

60

Мини-обзор разных решений задач

Математика и алгоритмы Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Три задачи - три идеи - три решения. Мало кода, много смысла. Мини-статья.

03.04.2023    3292    RustIG    7    

25

Модель распределения суммы по базе

Математика и алгоритмы Программист Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    8132    7    kalyaka    11    

44

Интересная задача на Yandex cup 2021

Математика и алгоритмы Программист Бесплатно (free)

Мое решение задачи на Yandex cup 2021 (frontend). Лабиринт. JavaScript.

12.10.2021    9167    John_d    73    

46
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. MuI_I_Ika 1124 02.05.17 11:23 Сейчас в теме
Давно хотел попробовать свои силы в этой области, но все не знал как подступиться. Вот хороший повод чтобы начать.
2. ya.Avoronov 115 02.05.17 12:56 Сейчас в теме
(1) Начинать с роботов и тем более с фьючерсов!!! Да вы смельчак! Так депозит сольете за пару торговых сессий. Начните лучше с чтения http://smart-lab.ru/algotrading/
3. user1652606 31.10.23 20:56 Сейчас в теме
Добрый день подскажите как вы обменивайтесь с сайтом по регламентному заданию ?
4. rrider 18 02.11.23 08:13 Сейчас в теме
(3) Нет, вручную выгружаете данные на сайте Финама в текстовый файл. В 1С есть обработка для загрузки этого файла в базу. Данные загружаются только для фьюча рубль-доллар. Для остальных инструментов потребуется доработка.
Оставьте свое сообщение