13. Техническая справка  о тестировании систем в Метасток  (Technical Reference Metastock)

В этом разделе приводятся некоторые технические детали относительно процесса тестирования торговых систем.

13.1 Общие сведения  (General)

Во время тестирования торговая система может находится только в одной из трех позиций: длинной, короткой или “вне рынка”.

Текущая торговая позиция определяется: (1) торговыми правилами системы rules (см. “The System Editor Dialog”), (2) переменными оптимизации (см. “Optimizing Systems”),  и (3) установками стопов(см. “Entering Stops”).

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

13.2 Выигрыши/Потери  (Gains/Losses)

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

Например, если изначально при открытии длинной позиции имелось $1,000, а к моменту закрытия этой позиции цена акции выросла на 10%, то Ваша прибыль составит  $100, а денежный баланс вырастет до $1,100. Если Вы снова откройте длинную позицию и цена акций к ее закрытию вновь вырастет на 10%, то в данном случае Ваша прибыль составит уже $110 (т.е. 10% от $1,100), а общий денежный баланс будет равен  $1,210.

Заметим, что в этом примере не учитывались комиссионные и “безрисковая” прибыль получаемая, во время позиции “вне рынка”.

13.3 Комиссионные  (Commissions)

В приводимом ниже примере используются те же цифры, что и в предыдущем, т.е. $1,000 начальных средств, две следующих одна за другой длинных позиций с 10% прибылью каждая.

Однако, в этом примере берутся комиссионные: $30 за открытие позиции и $25 за закрытие. Напомним, что комиссионные могут  специфицироваться как в долларах, так и в процентах.

Как только открывается длинная позиция, $30 вычетается из $1,000 начальных средств, и таким образом величина инвестиций составляет $970. Затем к закрытию позиции цена акций вырастает на 10%, следовательно прибыль составит $97 (т.е.,  10% от $970). При закрытии позиции  $25 комиссионных будет вычтено из $97 полученной прибыли. Таким образом, в результате первой торговой операции с учетом комиссионных заработано $72. Суммировав $72 и  $970 получаем текущий денежный баланс -  $1,042.

При открытии второй длинной позиции $30 комиссионных вычетается из  $1,042, и для инвестиции остается  $1,012. Как и ранее при закрытии позиции получаем 10% прибыли - $101.20 (10% от  $1,012). За закрытие позиции из $101.20 прибыли вычетается  $25 комиссионных , остается  $76.20. Добавляем прибыль к денежному балансу после первой операции ($76.20 +  $1,012) и получаем текущий денежный баланс -$1,088.20.

В случае, если средств для уплаты комиссионных за открытие позиции недостаточно, МетаСток попытается войти в позицию, но сразу же ее дезактивирует. Тип данной торговой операции называется “non-sufficient fund” (недостаточно денег), что отражается в отчете по торговым операциям (см. “Trades Report”) в виде аббревиатур "NSFS" или "NSFL" для короткой и длинной позиций соответственно. Торговые операции не будут совершаться системой до тех пор, пока полученной “безрисковой” прибыли (если активирована такая опция) не будет достаточно, чтобы покрыть комиссионные за открытие позиции.

13.4 Гарантийный  депозит  (Margin Requirement)

Размер гарантийного депозита (Margin Requirement) специфицируется в диалоге “System Testing Options”. Этот размер выражается в процентах от  полной суммы  средств необходимой для проведения торговой операции. При помощи гарантийного депозита Вам предоставляется “плечо” для проведения транзакций. Например, если Вы оперируете с акциями имея 20% гарантийный депозит (т.е. Вы фактически вносите только 20% от полной стоимости акций), тогда 10% рост стоимости акций принесет Вам 50% прибыли. Рассмотрим следующий пример.

Начальная сумма средств составляла $1,000. Была открыта длинная позиция. В дальнейшем к моменту закрытия позиции рост стоимости акций составил 10%  и в обычном случае прибыль составила бы $100 (т.е., 10% от $1,000). Однако, Вы при данной торговой операции использовали 20% гарантийный депозит, и могли купить акций на сумму $5,000(Ваши $1,000 являющиеся 20-процентным гарантийным депозитом и плюс $4,000 или  80% заемных средств). Таким образом, 10% повышение стоимости акций должно было принести $500 прибыли (т.е., 10% от  $5,000). Эти $500 как раз и составляют 50% прибыли от  инвестированных Вами $1,000.

13.5 Заработанная «вне рынка» прибыль (Earning Interest)

“Безрисковая” прибыль (Earning Interest) - прибыль получаемая от вложения денег в очень надежный высоколиквидный финансовый инструмент в период, когда нет открытых позиций (позиция “вне рынка”). Эта прибыль специфицируется в процентах годовых в диалоге “System Testing Options” (см. “Testing”)

Когда вновь открывается какая либо из позиций (длинная или короткая), то полученная вышеприведенным способом прибыль прибавляется к денежному балансу.

13.6 Последовательность эволюций (Order of Evaluation)

Предполагается, что в начале тестирования торговая система находится в  позиции “вне рынка”.

Когда система находится в позиции “вне рынка”(Out position):

  • если  одновременно генерируются сигналы входа в длинную (Enter Long) и короткую позицию (Enter Short), то сигнал входа в длинную позицию имеет более высокий приоритет;
  • если генерируются  сигналы “Enter Long” или “Enter Short”, то текущая позиция “вне рынка” закрывается и полученная “безрисковая” прибыль добавляется к  текущему денежному балансу.
  • Когда система находится в длинной или короткой позиции:
  • все сигналы входа в длинную позицию игнорируются, если система уже в длинной позиции;
  • все сигналы входа в короткую позицию игнорируются, если система уже в короткой позиции;
  • все сигналы входа в длинную позицию игнорируются, если в диалоге “System Testing Options” не были активированы переключатели “Longs” или “Both”;
  • все сигналы входа в короткую позицию игнорируются, если в диалоге “System Testing Options” не были активированы переключатели “Shorts” или “Both”.

Когда система находится в длинной или короткой позиции, все сигналы анализируются в следующей последовательности:

  1. Проверка на сигнал входа в противоположную позицию (например, если позиция длинная, проверяется наличие сигнала входа в короткую позицию)
  2. Проверка на сигнал закрытия позиции (например, если позиция длинная, то  проверяется  наличие сигнала на закрытие длинной позиции  - “Close Long”).
  3. Проверка сигнала стопа.

13.7 Разрешение других ситуаций (Other Accounting Issues)

В случае, если денежный баланс равен или уже ниже нуля (последнее возможно только в случае, если комиссионные специфицированы в долларах, но не в процентах),  торговая система не может получать “безрисковую” прибыль и не может открывать торговых позиций до окончания тестирования. Заметим. что это однако не относится к тестам с активированной опцией “points only".

Когда специфицировано торговое ожидание (Trade Delay), то все сигналы к открытию/закрытию позиций и стопам игнорируются до тех пор, пока не закончиться  период ожидания. Например, если опция “Trade Delay” равна 5 и поступил сигнал на закрытие длинной позиции, то все другие сигналы будут игнорироваться  пока не пройдет 5 дней (недель и т.д.) и сигнал на закрытие позиции не будет выполнен. Даже если в течении этого периода ожидания закрытия позиции появится противоположный сигнал на открытие длинной позиции, то сигнал закрытия не будет прерван, а сигнал открытия будет проигнорирован.

13.8 Тестирование Фьючерсов и Товаров (Testing Futures and Commodities)

Тестирование торговых систем работающих с фьючерсами и товарами  выполняется в режиме  "points only". Этот режим ("points only" - только пункты) подразумевает,  что текущие значения цен финансовых инструментов игнорируются, а для расчетов используется  трасса количества выигранных или проигранных пунктов.

Для того, чтобы тест выполнялся в таком режиме перед его пуском, активируйте флажок “Points Only” в диалоге “System Testing Options”.

В этом случае значения таких опций как начальный денежный баланс (initial equity), гарантийный депозит (margin requirement) и “безрисковая” прибыль “annual interest rate” игнорируются.

В случае выполнения тестирования в режиме “points only” линия денежного баланса может опускаться ниже 0.

Параметры стопов могут быть выражены как в пунктах, так и в процентах.  Расчет в процентах будет базироваться на цене открытия позиции, а не на размерах денежного баланса на момент открытия позиции.

Комиссионные рассчитываются только  при соблюдении  следующих условий:

  • В диалоге “System Testing Options” должна быть выбрана опция "Points";
  • Величина комиссионных должна быть меньше или равна 1. Размер комиссионных должен соответствовать числу пунктов. Например, если Ваши комиссионные составляют $30.00, а движение в один тик при тестировании фьючерсов составляет 0.03125 (или $31.25 на контракт), то Вы можете ввести 0.03 ($30.00 пункт эквивалентно) комиссионных.
  • Имеются следующие отличия отчетов для режима “points only”:
  • В заголовке всех отчетов имеются слова "Points Only Test";
  • В отчете результатов  (Results Report), в некоторые из полей может быть записано "N/A". Это означает, что данные поля могут содержать только текущие значения цен, но не пункты;
  • В детализированном отчете по торговым операциям (Trade Detail Report), в поле “Percent Profit or Loss“, также будет записано “N/A", поскольку это поле также может использовать только текущие значения цен, но не пунктов.
  • В детализированном отчете по торговым операциям (Trade Detail report), в полях денежный баланс при входе в позицию (Equity at Entry) и денежный баланс при выходе из позиции (Equity at Close) показывается  количество пунктов при входе и выходе из торговой операции (соответственно).

13.9 Скорость (Speed)

Математический сопроцессор значительно сокращает время тестирования. Так, типичный тест, который выполняется за десять минут на  процессоре 486SX (без сопроцессора), на процессоре 486DX в который встроен сопроцессор, будет выполнен меньше,  чем за пять минут.

Много времени тратится при записи отчетов на жесткий диск. Поэтому Вы можете значительно снизить время тестирования использовав более быстрый жесткий диск.

Если количество генерируемых отчетов превышает возможный для запоминания максимум (см. “Reporting”), то происходит значительное замедление работы, т.к. после выполнения каждого теста МетаСток  вынужден брать паузу для удаления наименее прибыльных тестов.

13.10 Дисковое пространство (Disk Space)

Когда тестируется система, содержащая переменные оптимизации, то МетаСток выводит на экран величину имеющегося в наличии свободного дискового пространства.. В том случае, если эта величина снизится приблизительно ниже 40К , МетаСток автоматически удалит наименее прибыльный тест, чтобы освободить место для нового теста.

Из-за того, что для каждого теста сохраняется большое количество информации, отчеты могут “оккупировать” значительное пространство жесткого диска. Эти отчеты сохраняются в поддиректории  с именем SREPORTS входящего в поддиректорию MetaStock. Вы можете удалить эти отчеты при помощи кнопки “Delete” в диалоге “System Tester dialog” или  же удалить непосредствено файлы из поддиректории SREPORTS и всех расположенных ниже поддиректорий.

"Фондовый навигатор" - про фондовый рынок, интернет-трейдинг, фундаментальный и технический анализ, торговые системы

Добавить комментарий


Защитный код
Обновить

Комментарии