Разработка стратегии CTA и стандартной библиотеки классов платформы FMZ Quant

Автор:Лидия., Создано: 2023-01-11 14:47:52, Обновлено: 2023-09-20 11:03:03

img

Разработка стратегии CTA и стандартной библиотеки классов платформы FMZ Quant

Торговая система и стратегия CTA первого поколения

Первое поколение торговой системы CTA появилось в 1960-х и 1970-х годах. Из-за сильной тенденции на сырьевом рынке в то время стратегия CTA добилась значительных успехов. Сильная тенденция на сырьевом рынке в этот период может быть связана с устойчивым экономическим ростом и растущей экономической инфляцией после Второй мировой войны. Мощный рынок трендов позволяет использовать простую систему отслеживания трендов для достижения лучших доходов. Система CTA первого поколения занимается меньшим количеством базовых рынков и сортов, а торговая система относительно проста, обычно торговая система, отслеживающая несколько торговых целей. Из-за тенденции на сырьевом рынке в то время эта стратегия хорошо работала.

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

Торговая система и стратегия CTA второго поколения

В связи с разделением доллара США и золота, финансовый фьючерсный рынок быстро развивался с 1970 по 1980 год, что позволило фонду управления фьючерсами участвовать во многих фьючерсных рынках, включая денежный рынок, рынок облигаций, фьючерсы фондового индекса и фондовые финансовые производные. Кроме того, развитие информационных технологий и низкая стоимость облегчают получение данных в течение дня. Увеличение масштаба средств, поступающих в фонд CTA, и повышенная конкуренция делают стратегию CTA более сложной и адаптивной.

На основании вышеуказанных рыночных характеристик, система и стратегия торговли CTA второго поколения имеют следующие характеристики по сравнению со стратегией CTA первого поколения:

  • Тема торговли более диверсифицирована.Вступление на финансовый фьючерсный рынок сделало торговый спектр и рынок более диверсифицированными.

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

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

Третье поколение торговой системы и стратегии CTA

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

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

Расширяемость также очень удобна. Комментарии к коду очень ясны и понятны. Если вы хотите сделать углубленную настройку или расширение, вам просто нужно сделать это непосредственно в существующей структуре.

Часть исходного кода (версия JavaScript):

function main() {
    $.CTA(exchanges[0], 0.01, function(r, mp, pair){  // The first parameter is the exchange object to be done, the second parameter 0.01 is the minimum order quantity required by the exchange, the third anonymous function function() {...} is the callback function, and the trading logic is written in the function. The first parameter r of the callback function receives the latest K-line data, the second parameter receives the number of positions, and the third parameter receives the name of the trading pair.

        if (r.length < 20) {   // Determine the number of K-line bars 
            return
        }
        var emaSlow = TA.EMA(r, 20)
        var emaFast = TA.EMA(r, 5)
        var cross = _Cross(emaFast, emaSlow); // To determine the intersection status of indicators, for _Cross, please refer to: https://www.fmz.com/bbs-topic/9116
        if (mp <= 0 && cross > 1) {
            Log(pair, "Buy, Golden Cross period", cross, "mp:", mp);
            return 0.1 * (mp < 0 ? 2 : 1)  // The value returned is the number of positions to be opened, a positive number is to open a long position, a negative number is to open a short position, and 0 is to close all positions.
        } else if (mp >= 0 && cross < -1) {
            Log(pair, "Sell, Bearish Crossover period", cross, "mp:", mp);
            return -0.1 * (mp > 0 ? 2 : 1)
        }
    })
}

img

Для получения дополнительной информации о исходном коде и библиотеке классов обратитесь к:https://www.fmz.com/strategy/57267.


Связанные

Больше