Избранное трейдера MrD

по

Очень подробно разжёвано для чайников по LUA часть2!

    • 19 ноября 2015, 06:39
    • |
    • aura
  • Еще

Расширенная форма оператора for

В расширенной форме оператора for для последовательного получения значений переменной цикла используется вызов итератора. Цикл завершается, когда итератор возвращает nil.

Примечание

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

Расширенная форма оператора for имеет следующий вид:

for var1, var2, …, varN in <explist> do

… — тело цикла

end

где:

var1, var2, ..., varN — список переменных, получающих значения на каждом шаге цикла. Список может состоять из одной или нескольких переменных, разделённых запятыми. Первую в списке переменную называют управляющей переменной цикла. Когда эта переменная получает возвращённое итератором значение nil, цикл завершается. Остальные переменные на ход выполнения цикла влияния не оказывают;

<explist> — список выражений, разделённых запятыми. Обычно список состоит из единственного выражения — вызова функции-фабрики итераторов. Такая функция возвращает функцию-итератор, состояние и начальное значение управляющей переменной цикла.



( Читать дальше )

Очень подробно разжёвано для чайников по LUA часть1!

    • 19 ноября 2015, 06:38
    • |
    • aura
  • Еще

Скрипты на языке Lua

Написанный на Lua скрипт не имеет какой-либо специальной функции, с которой начиналось бы его выполнение. Скрипт можно рассматривать просто как набор команд (инструкций), который выполняется, начиная с первой инструкции.

Скрипт может быть как очень простым, состоящим всего из одной команды, так и весьма сложным, содержащим десятки, сотни и даже тысячи инструкций. Следующие друг за другом инструкции могут разделяться точкой с запятой (;). Однако это требование не является обязательным, поэтому весь приведённый ниже код является корректным с точки зрения синтаксиса:

a = 1; b = 2

a = 1 b = 2

a = 1;

b = 2;

a = 1

b = 2

Работа с переменными в Lua

Переменные используются для хранения значений в процессе выполнения скрипта.

Имена переменных в Lua

Именами (идентификаторами) переменных в Lua могут быть любые последовательности из букв, цифр и символа подчеркивания, начинающиеся не с цифры.



( Читать дальше )

Экспирация брента(ы)...

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

1. Наша экспирация позже их заморской экспирации. Отсюда первое извращение — их контракт прекратит свою жизнь сегодня в 19-30 по Лондону, а наш только в понедельник в вечерний клиринг. У вас осталось всего 6 часов на всё-про-всё, на движуху.

2. Второе извращение, вытекающее из первого — уже сегодня в вышеупомянутое время 19-30 по Лондону (22-30 по Москве) наш старый контракт полностью потеряет ценовой ориентир, т.к. их старый контракт будет остановлен.

3. Расчётная цена нашей экспирации равна значению биндекса (BINDEX, The ICE Brent Index). Эту хрень вы в стаканах не найдёте, значение публикуется в 12-00 по Лондону (в 15-00 по Москве) на следующий день, для нынешней экспиры это стало быть понедельник. Сейчас сайт выглядит так, в понедельник появится строчка

( Читать дальше )

Введение во фрактальность рынка и Теорию Хаоса. Изотропность.

Введение во фрактальность рынка и Теорию Хаоса. Изотропность.

— О чем вы думаете, глядя на эти графики?

— О женщинах.

— Но, почему?

— А, я о них все время думаю.

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



( Читать дальше )

Правильный трейдинг. Суть.

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

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

Всех людей на планете в контексте их отношений с биржевой торговлей можно разделить на 4 ключевые группы: 
1) Трейдеры- люди, обеспечивающие своими действиями монотонное увеличение капитала путем торговли проверенных на истории алгоритмов. 
2) Участники торгов-люди, совершающие покупки/продажи на бирже вне рамок проверенных и подтвердивших свою успешность алгоритмов. 

( Читать дальше )

Еще раз про корреляцию

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

Вот иллюстрация на python:

import numpy as np
# создаем массив чисел, равномерно распределенных от -1 до 1
x = np.random.uniform(-1, 1, 10000000)
# каждое число возводим в квадрат (можно еще вычесть 1/3, если хотим нулевое матожидание)
y = x**2
# y полностью определяется x, значит x и y коррелированы в широком смысле
# но вычисление ЛИНЕЙНОГО коэффициента корреляции дает 0 (+- с учетом случайного разброса)
print(np.corrcoef(x,y))




Еще одно тестирование алгоритма Маркет Мэйкера

    • 10 июля 2015, 09:42
    • |
    • r0man
  • Еще

Продолжая  тему тестирования алгоритма Маркет Мэйкера, поделюсь своими результатами и мыслями по его работе:
1. Основной режим работы алгоритма — это маркетмэйкинг (он же арбитраж ликвидности, он же торговля спредом). И конечно же, прибыльность этой стратегии сильно зависит от рыночных условий, скорости получения данных и работы системы исполнения. Средняя прибыль на сделку даже и при идеальном исполнении не будет превышать значение спреда (2-5 пунктов по Si в среднем). А в период сильной волатильности, когда стакан бросает из стороны в сторону на 10-30 пунктов, несмотря на большое количество положительных сделок ( около 70%), алгоритм становится убыточным. В основном из-за комиссий, конечно.

2. Да, математические формулы сильно ограничили многих желание понять, как устроен алгоритм. Но на самом деле, если вдумчиво посмотреть картинки (карты политик), получается все ясно и просто. А будет еще проще, если посмотреть картинки графиков из других статей, лежащих в основе алгоритма (например Guilbaud, Fabien, and Huyen Pham, 2013, Optimal high-frequency trading with limit and market orders). Забудем на минутку про дисбаланс бид/акс объемов и построим карту политик для открытой позиции при разных значениях спреда:

Еще одно тестирование алгоритма Маркет Мэйкера



( Читать дальше )

Статистический арбитраж - виды алгоритмов на одной схеме

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

Торгуем подобные спреды:
 Статистический арбитраж - виды алгоритмов на одной схеме

Некорректное тестирование

Много раз писал о том, что тест любой системы надо проводить на минутках или на тиках.
Прислали вчера систему на дневках, попросили помочь разобраться, почему она так здорово работает на истории.
Ок, прогоняем на всех дневках насдака за несколько лет.
На первый взгляд все неплохо, типичная эквити для портфельной системы:

 Некорректное тестирование
а дальше смотрим на код и на трейды.
1)Часть трейдов открывается на открытии дня, это требует введения слипа в тест, т.к. чаще всего цену открытия не получишь.
2)Не учтены объемы, то есть торгуется в том числе и неликвид-учесть.
3)Есть шорты, вопрос дадут ли.
4)Самое главное, в коде присутствует setpercenttrailing -стоп, который собственно и обеспечивает доходность системы.Причем не прописанный, а встроенная функция.Вот это однозначно в топку.И вот почему.

( Читать дальше )

Улыбка волатильности. Модель Бейтса

BatesFFT

Продолжение. Начало в моем блоге и на сайте.

В прошлой статье про модель Хестона мы отметили, что она обладет недостатком, который проявляется в неточности определения цен опционов на малых сроках экспирации. Здесь мы рассмотрим модель Бейтса, в которой этот недостаток устранен, и она является одной из лучших аппроксимаций, описывающих поведение цен опционов для разных страйков и периодов до экспирации.

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

\frac{dS_t}{dt}= r dt+\sqrt{V_t}dW_t^1+dZ_t



( Читать дальше )

....все тэги
UPDONW
Новый дизайн