refmanagement.ru

Методология тестирования генетического компонента выходов


Глава 1 Глава 2 Глава 3

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

static void Model {float *parms, float *dt, float *opn, float *hi, float *lo, float *cls, float *vol, float *oi, float *dlrv, int nb, TRDSIM &ts, float *eqcls) {

// Выполняет случайные входы с модифицированным стандартным выходом

// и с дополнительным генетически развитым "сигнальным выходом"

// File = x21mod01.c

// parms - набор [1..MAXPRM] параметров

// dt - набор [1..nb] дат в формате ГГММДД

// орn - набор [ 1..nb] цен открытия

// hi - набор [1..nb] максимальных цен

// lo - набор [l..nb] минимальных цен

// cls — набор [l..nb] цен закрытия

// vol - набор [l..nb] значений объема

// oi - набор [l..nb] значений открытого интереса

// dlrv — набор [l..nb] средних долларовой волатильности

// nb - количество дней в наборе данных


// ts — ссылка на класс торгового симулятора

// eqcls — набор [l..nb] уровней капитала по ценам закрытия

// объявляем локальные переменные

static int rc, cb, ncontracts, maxhold, signal, ranseed;

static float iranstp, ptlim, limprice, stpprice, entryprice;

static int entryposted, entrybar, exitsignal, modeltype;

static int rulel[MAXBAR+1], rule2[MAXBAR+1], rule3[MAXBAR+1];

static float exitatr[MAXBAR+1], rnum, thresh;

static long iseed;

// копируем параметры в локальные переменные для удобного обращения

ranseed = parms[14]; // используется для инициализации случайной

// последовательности

modeltype = parms[15]; // 1=длинные позиции, 2=короткие позиции

maxhold = 10; // период максимального удержания позиции

Содержание раздела