Произведены следующие доработки:
  • добавлены улучшение и оптимизации по коду, подправлены незначительные нюансы в расчетах;
  • добавлена настройка AWA Profit: Учитывать при расчетах резерв стратегии. При включении данной опции при расчет AWA-доходности будет учитываться фактически необходимый резерв на стратегию, то есть денежные средства, которые фактически будут пролеживать без "работы", обеспечивая резерв по максимальной просадке. Максимальная просадка считается исходя из максимальной просадки в пунктах (точно также как это делает платформа ТСЛаб), но с некоторым особенностями, в частности, если 2 просадки в пунктах будут одинаковыми, то в расчет примется та просадка, где будет минимальная оперсумма интервала, если оперсуммы одинаковые, то берется та просадка, где относительное значение будет больше. Под оперсуммой в данном случае понимается средняя сумма удерживаемых позиций на конкретном интервале просадки, т.к. именно эта сумма образовала конкретную величину падения в пунктах. Дополнительно при установке данной опции в результаты оптимизации выводится коэффициент пересчета просадки, который приводит необходимый запас к величине входа на дату запуска стратегии, например, оперсумма, вызвавшая падение 200 пунктов была равно 500 пунктов при цене инструмента 100 пунктов, то есть в среднем на интервале падения удерживалось 5 лотов инструмента; так как сама логика стратегии не поменялась, то данный сценарий с таким количество лотов инструмента также может повториться в будущем, НО т.к. цена инструмента будет другая, например, 300 пунктов, то просадка в пунктах будет также другая. В идеале осуществлять этот пересчет на каждом входе, но т.к. это технически накладно и не всегда легко реализуемо, то будет уместным использовать коэффициент пересчета просадки хотя бы на момент пуска стратегии в рынок и периодически в будущем при обслуживании стратегии. В вышеприведенном примере когда инструмент подорожал в 3 раза, то просадку следует ожидать в пунктах в 3 раза выше, соответственно, будет разумных и резерв под нее заложить бОльший c учетом приведенной к текущей цене инструмента оперсуммы;
  • добавлена настройка AWA Profit: Коэффициент резерва по просадке. Данная настройка задает размер резерва денежных средств по просадке, например, максимальная просадка была 300 пунктов, соответственно, минимальная сумма депо для входу в позицию должна быть не меньше, чем Коэффициент резерва по просадке * размер просадки + рабочий лот на вход * цена инструмента, такой размер рассчитывается для того, чтобы при получении максимальной просадки, которая была зафиксирована на историческом тестировании был запас депозита на вход по стратегии для продолжения торговли. По умолчанию коэффициент запаса равен 2-м. В случае, если коэффициент установлен в значение больше 5, то будет использовано 5, в случае если установлено значение меньше нуля, то будет использовано значение по умолчанию 2;
  • добавлена настройка Просадки: Тип отображаемой просадки (%, абс.значение). Задает тип отображаемой просадки на диаграмме просадок: в процентах или в абсолютных значениях. Просадка считается с момент ее возникновения и до момента перезаписи эквити нового хая. Позволяет наглядно ознакомиться с местами возникновения просадок и их размерами. По умолчанию считается в процентах. Просадка считается по кривой нефиксированной прибыли на общем интервале, то есть даже при разбиении интервалов просадка будут считаться по общему интервалу, при этом в результатах оптимизации за максимальную просадку будет взята максимальная из полученных на общем интервале или на каждом отдельно, то есть если на разбитых интервалах в 2015-м году была получена просадка 12%, но при этом если считать общую эквити эта же просадка к общей эквити будет равна 7%, то в результатах оптимизации будет выведено 12%, т.к. трейдер изначально не знает момент своего входа и если система уже показывала 12%, то это может повториться в будущем, поэтому берется максимально зафиксированная просадка. В этом случае диаграмма может показывать 7%, но в оптимизации будет использовано значение 12%;
  • добавлена настройка Просадки: Не рассчитывать при оптимизации. При установке данной опции в процессе оптимизации не рассчитываются кривые просадок, соответственно, не используются показатели maxDD, maxDDPct, ddToOSRatio, MaxDDDays, DDDurDays. При расчете максимальных просадок по периодам используются просадки периодов и не сравниваются с просадками на общем тесте. Отключение расчета указанных показателей значительно экономит время оптимизации. По умолчанию опция выключена.
  • добавлена настройка Просадки: Выводить в режиме агента. При установленной опции панель выводится в режиме агента. По умолчанию установлено в False для уменьшения нагрузки на железо;
  • добавлена настройка Настройки PeriodsData: Минимальный % дней в последнем периоде. Данная настройка определяет минимальный процент от общего кол-ва дней последнего тестируемого интервала, чтобы данные этого периода были приняты в расчет показателей. Значение по умолчанию 80%, то есть период должен содержать минимум 80% от тестируемого интервала, чтобы его данные были приняты в статистику. При необходимости учитывать последний период в любом случае значение настройки устанавливается в ноль.
    Особенности:
    -- в независимости от установленной настройки просадка последнего года всегда учитывается в полном объеме" +
    -- в случае, если последний интервал по длительности дольше, чем установленная настройка, то данные этого интервала НЕ приводятся к общей продолжительности интервала, то есть учитываются в фактически полученных значениях, т.к. будущее неизвестно и экстраполировать текущие данные на весь интервал не является обоснованными. Например, если период годовой, но прошло лишь 85% от года, то данные прошедших 85% процентов года буду учтены в качестве годовых, как если бы эти данные были получены за весь период. В идеале вообще не учитывать последний период, если по продолжительности он не совпадает с выбранным тестируемым периодом, но чтобы посмотреть влияние последнего периода 80% в общем случае достаточная статистика, для уточнение поведения системы на последних данных. Для уменьшения данного эффекта и более точного использования последних данных можно использовать полугодовой интервал (в данный момент иные интервалы, кроме годовых недоступны - находятся в процесс доработки).

Примечания:
============
-- чем больше расчетов, тем мощнее нужен компьютер, включение в состав скрипта данного кубика по тестам может замедлять оптимизацию по времени от 3-х до 10 раз
-- кубик выкладывается as is, то есть используется на личное усмотрение. Перед публикацией соответствующих доработок они проверяется на нескольких скриптах с ручным пересчетом в Эксель, однако, это не исключает того, что где-либо могут быть нюансы. Если что-то заметили, что на Ваш взгляд считается или работает неверно, просьба писать либо на электронку gaa8008_собака_gmail_точка_com, либо в телеграмм в личку: @AleksandrGanov.


Attachments
gaaCommon_ServiceLib.zip (58 downloads)
gaaStatData_PeriodStatistic.zip (51 downloads)



Отредактировано AleksandrGanov (Thu Apr 22 2021 05:26 PM)