Элементы системы
Элементы системы
Прежде чем анализировать доходность на уровне портфеля, рассмотрим программу, используемую в Trading Recipesдля подачи сигналов открытия и закрытия позиции и определения ее размеров (финансовое управление). Пожалуйста, обратите внимание, что слова, набранные ЗАГЛАВНЫМИ БУКВАМИ, представляют собой элементы языка программирования Trading Recipes, а слова после апострофа – это пояснительные комментарии.
Ежедневно мы рассчитываем следующие показатели:
SYSTEM = 1 ‘ уникальный идентификационный номер для данной системы
COL1 = ATR [15] ’15 дней – средний период волатильности на рынке
MANAGER [1] = COL1 [1] * POINTVALUE ‘денежное выражение этой волатильности
COL2 = MAX [H, 89, 1] + TICK [1] ’ пробой 89-дневного максимума для открытия длинной позиции
COL3 = MIN [L, 13, 1] – TICK [1] ’ пробой 13-дневного минимума для закрытия длинной позиции
COL4 = MIN [L, 89, 1] – TICK [1] ’ пробой 89-дневного минимума для открытия короткой позиции
COL5 = MAX [H, 13, 1] + TICK [1] ’ пробой 13-дневного максимума для закрытия короткой позицииПоскольку наша система ежедневно отслеживает ситуацию на каждом рынке, она будет ожидать ценового «пробоя» для открытия позиции (длинной или короткой):
BUYSTOP = COL2 ‘ сигнал об открытии длинной позиции SELLSTOP = COL4 ‘ сигнал об открытии короткой позиции
Если система подает сигнал к открытию позиции, она также, следуя правилам для определения размера позиции, указывает, сколько контрактов (фьючерсов) или акций должно быть куплено или продано. Из приведенных ниже правил будет видно, что мы рискуем 2 % капитала на каждом тренде. Однако наш консервативный стиль торговли проявляется в том, что мы торгуем меньшим количеством контрактов, которое рассчитывается как 2 %, деленных на новый риск (определяемый как выраженная в долларах абсолютная стоимость величины [входа-выхода]), или 2 %, деленных на удвоенное денежное выражение среднего периода волатильности 15 дней.
STARTUP CASH = 1000000 ‘ стартовая сумма – $1 млн
STARTDATE = 19910101 ‘ данные рассматриваются для периода 10 лет
ENDATE = 20011231
MEMORY [1] = (TOTALEQUITY *.02) / NEWRISK ‘ риск равен 2 % от капитала / риск торговли в денежном выражении
MEMORY [2] = (TOTALEQUITY *.02) / (MANAGER [1] * 2) ‘ риск равен 2 % от капитала / волатильность в денежном выражении
IF MEMORY [1] < MEMORY [2] THEN MEMORY [2] = MEMORY [1] ‘ должно содержать меньшее из двух значений МЕМ2
IF MEMORY [2] > 100 THEN MEMORY [2] = 100 ‘ не открывайте слишком большую позицию
NEWCONTRACTS = MEMORY [2] ‘ для определения размера позиции используйте значение МЕМ2При наличии открытой позиции наша система следования тренду будет дожидаться критического уровня потерь для подачи сигнала о закрытии позиции (длинной или короткой):
SELLSTOP = COL3 ‘ сигнал о закрытии длинной позиции BUYSTOP = COL5 ‘ сигнал о закрытии короткой позиции
Данный текст является ознакомительным фрагментом.