0
Подписаться
78
Подписчики

Практика и применение стратегии термостата в количественной платформе изобретателя

Создано: 2019-07-20 14:34:05, Обновлено: 2023-10-23 17:30:02
comments   0
hits   2001

Практика и применение стратегии термостата в количественной платформе изобретателя

Почему его называют термостатом? Мы назвали эту систему так из-за ее способности адаптироваться к переключению и торговле как в рыночном, так и в трендовом режимах. Система была разработана на основе наших наблюдений за успехами конкретных систем в конкретных сегментах рынка. Эта система позволяет создавать стратегии двойственной природы, позволяющие использовать преимущества обоих режимов рынка.

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

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

Abs(Цена закрытия - Цена закрытия[29])/(Самая высокая цена (30) - Самая низкая цена (самая низкая цена, 30 дней) * 100

Эта функция генерирует значение от 0 до 100. Чем больше значение, тем менее насыщен текущий рынок. Если функция возвращает значение меньше 20, система переходит в режим краткосрочных колебаний.

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

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

Стратегия термостата — очень популярная стратегия на платформе Inventor Quantitative Platform. Пользователи могут добавлять дополнительную торговую логику в соответствии со своими потребностями, чтобы улучшить работу стратегии. Ниже приведена типичная структура стратегии термостата на платформе Inventor Quantitative Platform:

  • Основное изображение: Формула верхней направляющей: TOP^^MAC+N_TMPTMP; // Верхняя направляющая канала Боллинджера Формула нижней дорожки: BOTTOM^^MAC-N_TMPTMP; // Нижняя дорожка канала Боллинджера

  • Вспомогательное изображение: Формула CMI: CMI:ABS(C-REF(C,N_CMI-1))/(HHV(H,N_CMI)-LLV(L,N_CMI))*100; //0-100 Чем больше значение, тем сильнее тренд. CMI<20 указывает на режим колебаний, CMI>20 указывает на тренд.

  • Код (Мой язык):


MAC:=MA(CLOSE,N);
TMP:=STD(CLOSE,N);
TOP^^MAC+N_TMP*TMP;      // 布林通道上轨
BOTTOM^^MAC-N_TMP*TMP;   // 布林通道下轨
BBOLL:=C>MAC;
SBOLL:=C<MAC;
N_CMI:=30;

CMI:ABS(C-REF(C,N_CMI-1))/(HHV(H,N_CMI)-LLV(L,N_CMI))*100; //0-100 取值越大,说明趋势越强,CMI<20震荡模式,CMI>20为趋势

N_KD:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N_KD))/(HHV(HIGH,N_KD)-LLV(LOW,N_KD))*100; //收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。

K:=SMA(RSV,M1,1); //RSV的移动平均值
D:=SMA(K,M2,1);   //K的移动平均值
MIND:=30;
BKD:=K>D AND D<MIND;
SKD:=K<D AND D>100-MIND;

// 震荡模式
BUYPK1:=CMI < 20 AND BKD;  //震荡多单买平开
SELLPK1:=CMI < 20 AND SKD; //震荡空单卖平开

// 趋势模式下原有震荡持仓的处理
SELLY1:=REF(CMI,BARSBK) < 20 AND C>BKPRICE*(1+0.01*STOPLOSS*3) AND K<D; //震荡多单止盈
BUYY1:=REF(CMI,BARSSK) < 20 AND C<SKPRICE*(1-0.01*STOPLOSS*3) AND K>D;  //震荡空单止盈

// 趋势模式
BUYPK2:=CMI >= 20 AND C > TOP;        // 趋势多单买平开
SELLPK2:=CMI >= 20 AND C < BOTTOM;    // 趋势空单卖平开

// 趋势模式下原有震荡持仓的处理
SELLY2:=REF(CMI,BARSBK) >= 20 AND C>BKPRICE*(1+0.01*STOPLOSS*3) AND SBOLL;//趋势多单止盈
BUYY2:=REF(CMI,BARSSK) >= 20 AND C<SKPRICE*(1-0.01*STOPLOSS*3) AND BBOLL;//趋势空单止盈
SELLS2:=REF(CMI,BARSBK) >= 20 AND C<BKPRICE*(1-0.01*STOPLOSS) AND SBOLL;//趋势多单止损
BUYS2:=REF(CMI,BARSSK) >= 20 AND C>SKPRICE*(1+0.01*STOPLOSS) AND BBOLL;//趋势空单止损

IF BARPOS>N THEN BEGIN
    BUYPK1,BPK;
    SELLPK1,SPK;
    BUYPK2,BPK;
    SELLPK2,SPK;
END
BUYY1,BP(SKVOL);
BUYY2,BP(SKVOL);
BUYS2,BP(SKVOL);
SELLY1,SP(BKVOL);
SELLY2,SP(BKVOL);
SELLS2,SP(BKVOL);

Результаты бэктестинга этой стратегии следующие:

Практика и применение стратегии термостата в количественной платформе изобретателя Практика и применение стратегии термостата в количественной платформе изобретателя Практика и применение стратегии термостата в количественной платформе изобретателя

Более подробную информацию можно найти по ссылке: https://www.fmz.com/strategy/129086