Type/to search

Стратегия настраиваемого времени запуска бэктестинга

Common strategy
Created: 2023-09-26 20:53:15
Last modified: 3 years ago
1
Follow
1802
Followers

Обзор

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

Принцип работы стратегии

Стратегия использует функции time и timestamp языка Pine Script для реализации настраиваемого времени запуска бэктестинга.

Сначала пользователь вводит в настройках год, месяц, день, час и минуту запуска. Затем эти данные используются для создания временной метки, которая сохраняется в переменной startTime.

В условии проверки стратегии добавляется новое условие startTime. Стратегия запускается только тогда, когда текущее время больше или равно startTime.

Например:

pine
longCondition = crossover(sma(close, 14), sma(close, 28)) if (longCondition and startTime) strategy.entry("My Long Entry Id", strategy.long)

Таким образом достигается настраиваемое время запуска бэктестинга. Пользователь может гибко настроить время начала тестирования в соответствии со своими потребностями, а не ограничиваться жёстко заданным временем.

Анализ преимуществ

Стратегия с настраиваемым временем запуска бэктестинга обладает следующими преимуществами:

  1. Бóльшая гибкость: пользователь может полностью определить время запуска бэктестинга, не ограничиваясь фиксированным моментом.

  2. Бóльшая реалистичность: можно установить время запуска, соответствующее фактическому моменту начала работы стратегии, что делает тестирование более близким к реальным рыночным условиям.

  3. Удобство событийно-ориентированного тестирования: можно задать время запуска на основе времени наступления определённого события, чтобы провести тестирование для конкретного события.

  4. Лёгкая настройка условий: можно очень просто скорректировать условия запуска тестирования, проводя целевое тестирование для разных этапов.

  5. Повторяемость и надёжность: параметризация времени запуска бэктестинга позволяет повторять тесты с получением надёжных результатов.

Анализ рисков

Использование настраиваемого времени запуска бэктестинга сопряжено с некоторыми рисками:

  1. Зависимость результатов от времени запуска: разные моменты запуска могут приводить к существенно различающимся результатам.

  2. Необходимость тщательного выбора времени запуска: необоснованное время может исказить результаты, не отражая реальной картины.

  3. Повышенный риск подгонки под кривую: появляется возможность подгонки результатов под исторические данные путём изменения времени запуска, что ведёт к переобучению.

  4. Снижение сопоставимости результатов: результаты данной стратегии мало сопоставимы с результатами, полученными при фиксированном времени запуска.

Соответствующие методы решения:

  1. Провести многократный бэктестинг, оценив влияние изменения времени запуска на результаты.

  2. Выбирать время запуска на основе времени значимых событий, чтобы уменьшить искажения.

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

  4. Сохранять результаты бэктестинга с фиксированным временем запуска в качестве базового эталона для сравнения с кастомизированным тестированием.

Направления оптимизации

Стратегию настраиваемого времени запуска бэктестинга можно оптимизировать по следующим направлениям:

  1. Поддержка настройки как времени начала, так и времени окончания, чтобы обеспечить полную гибкую конфигурацию временного окна тестирования.

  2. Поддержка различных режимов времени: конкретная дата, относительная дата, событийно-ориентированный и т.д., что делает настройку более интеллектуальной и удобной.

  3. Поддержка графического интерфейса настройки для интуитивного задания временных параметров.

  4. Поддержка различных временных гранулярностей: год, месяц, день, час, минута, секунда и т.д.

  5. Запись конфигурации времени тестирования, чтобы обеспечить воспроизводимость, отслеживаемость и сопоставимость результатов.

  6. Добавление проверки некорректной настройки времени, чтобы избежать влияния необоснованных параметров на качество тестирования.

  7. Предоставление функции привязки времени запуска, позволяющей одним нажатием синхронизировать и скопировать время запуска в несколько стратегий.

Заключение

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

Source
Pine
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("C320up Strategy Tester Start Time", overlay = true)
// Copy and paste below into your strategy
// Strategy Tester Start Time
Strategy parameters
Strategy parameters
Start Year
Start Month
Start Day
Start Hour
Start Minute
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)