STH
STH личный блог
18 августа 2015, 18:21

Котировки на основе случайных чисел с random.org

Приветствую публику смартлаба!

Для проверки автоматических систем и вообще для расширения кругозора бывает необходимость в случайных котировках.

Но дело в том, что не все случайные данные так уж случайны.

Чтобы получить истинно случайные котировки (насколько это возможно) я обратился к ресурсу random.org. Как утверждают эти ребята их данные получены из атмосферных колебаний, которые являются абсолютно случайными.

Для наглядности пример с ихнего ресурса.

Котировки на основе случайных чисел с random.org

Далее эти данные были приведены к формату биржевых котировок (как это было сделано описано ниже).

Строим графики в NT7, ниже пример как все получилось (Daily, 60m, 5m, 2Range).

Котировки на основе случайных чисел с random.org



Ну а затем уже можно строить индикаторы на этих котировках, и прогонять стратегии.

 Я прикрепляю к статье ссылки:

Атмосферные колебания: https://yadi.sk/d/1eX15kILiWyio

Готовые котировки для NT7: https://yadi.sk/d/JHQF-CZFiWytM

Стратегия для создания котировок в формате NT7: https://yadi.sk/i/ZTtRvtJeiX2uo

Панорамные скриншоты различных графиков: https://yadi.sk/d/lZeiWqG7iXhmQ

 

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

 

Далее представленны технические подробности.


Как создать инструмент в NT7 со случайными котировками.

Заходим в tools -> instrument Manager

Котировки на основе случайных чисел с random.org

Далее выбираем New

Котировки на основе случайных чисел с random.org

Далее вводим название нового инструмента и ставим галочку в столбце «Exchanges» напротив любой биржи. 

Котировки на основе случайных чисел с random.org

Далее переходим на вкладку Misc. В Symbol map напротив Yahoo (или какой то другой) пишем название нашего нового инструмента.

Котировки на основе случайных чисел с random.org

Жмем «Ок».

Теперь новый инструмент доступен для выбора.

Следующий шаг — это импорт наших котировок в данный инструмент.

Tools->Historical Data Manager -> вкладка Import -> Start Import

Обращаю ваше внимание на то что файл для импорта должен содержать название вашего инструмента. Для данного примера он будет выглядеть так: SMARTLAB.Last.txt


Описание архива со случайными данными.

Данные представляют 100 текстовых файлов, упакованных в RandomOrg.zip.

Размер упакованного архива 24 004 495 байт (~23 Mb).

Размер каждого файла 1 196 032 байт.

Размер распакованного архива примерно 119 603 200 байт (~114 Mb).

Содержимое каждого файла – нули и единицы группами по 8 шт, группы разделены одним пробелом.

Пример: «00011111 10111000 11111111 10111011 00001000 00001010 11100101 10000010»

Таким образом, каждый файл содержит около 1 046 528 случайных нулей и единиц и 149 504 пробелов.

Все файлы содержат около 105 699 328 случайных нулей и единиц.

 

Описание архива со случайными котировками для NinjaTrader 7.

Архив содержит 1 файл с именем RND.Last.txt и содержит тиковую историю пригодную для импорта в NT. Файл упакован в RND.Last.zip.

Размер упакованного архива 110 936 406 байт (~100 Mb)

Размер распакованного архива примерно 2 667 160 487 байт (~2.4 Gb).

 

Первые 25 строк файла:

20120605 170146;100.00;1

20120605 170146;100.01;1

20120605 170146;100.00;7

20120605 170146;100.00;1

20120605 170146;100.00;1

20120605 170146;100.00;1

20120605 170146;100.00;1

20120605 170146;100.00;1

20120605 170146;100.00;1

20120605 170146;100.00;34

20120605 170146;100.00;1

20120605 170146;100.00;1

20120605 170146;100.00;1

20120605 170146;100.00;1

20120605 170146;100.00;1

20120605 170146;100.00;1

20120605 170146;100.00;1

20120605 170146;100.01;1

20120605 170146;100.01;1

20120605 170146;100.01;60

20120605 170146;100.01;23

20120605 170146;100.01;1

20120605 170146;100.01;1

20120605 170146;100.01;1

20120605 170146;100.00;1

 

Описание стратегии, формирующей тиковые котировки для NinjaTrader 7 из архива со случайными данными

Пути к файлам:

Стратегия ищет все файлы по адресу D:\\RandomOrg\\RandomBinData\\*.txt во всех вложенных папках, с любыми именами и расширением *.txt

Из всех найденных файлов извлекаются только нули и единицы.

Результирующий файл со случайными котировками для NT создаётся по адресу D:\\RandomOrg\\RND.Last.txt

 

Как формируется время тика

Берётся фактическое время тиков того инструмента, на котором запускается стратегия.

Соответственно, для успешной работы стратегии требуется тиковая история с количеством тиков не менее количества случайных нулей и единиц в папке D:\\RandomOrg\\RandomBinData\\

 

Как формируется цена тика:

Берётся стартовая цена (задаётся в параметрах, по умолчанию StartPrice = 100) и на каждом тике к этой цене прибавляется приращение со случайным знаком (зависящим от данных полученных от Random.org)

Затем эта сумма округляется в соответствии с параметром My_Tick_Size (для котировок — аналога нефти, это 0.01) и получается случайная цена на данном тике.

 

Как формируется приращение.

Согласно проведенным расчётам, 1 тик CL в среднем меняет цену на 0.2 тика (так как есть много тиков, имеющих одну и ту же цену). Условно назовём это коэффициентом трендовости. Он задаётся в параметрах стратегии (Trend_K).

При Trend_K = 1, например, средняя дневная волатильность котировок, сформированных на основе CL, будет составлять около 1000 тиков.

Если для каждого тика использовать одинаковое приращение, то сформируются котировки с более-менее постоянной волатильностью.

Поэтому, приращение вычисляется как случайное число (используется ГСЧ C#) между 0 и Trend_K умноженное на 2.

Как формируется объём тика

Примерно 90% тиков CL имеют объём 1 контракт. Остальные – больше )).

Поэтому сначала генерируется случайное число (используется ГСЧ C#) от 0 до 100 и, если оно менее 90, объём тика считаем равным 1 контракту. Иначе (если число 90 и более) формируем второе случайное число (используется ГСЧ C#) от 1 до 100 и это число будет объёмом тика.

 

Запускать только на 1-тиковом графике.

С графика берётся только время тиков.

Требуется около 2.5 лет тиковой истории по CL.

Время работы – около 10 минут. В основном, время требуется NT для формирования тиковых баров.

На полном наборе данных стратегия может работать «через раз», в случае подвисания необходимо перезапустить NТ.

Во время работы стратегия пишет мини-лог в Output Window. Рекомендую держать это окно на виду.

Туда же выводятся сообщения об ошибках (не найдены файлы, мало тиков и т.д.)

 

Писалось для себя и на скорую руку – камни не бросать, замечания –делать.

56 Комментариев
  • Press
    18 августа 2015, 18:42
    трудягам почет и уважуха
  • Андрей Андреев
    18 августа 2015, 18:48
    Фьючерсы на погоду :) тогда метеорологи — те же околорыночники получаются чтоли?)
  • FrBr
    18 августа 2015, 18:55
    Роботы из воздуха то деньги сделали?
  • AndyI
    18 августа 2015, 19:04
    Предсказание рандома невозможно. В этом суть казино.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн