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

по

История успеха

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

Тут хочется сделать некоторое отступление и написать немножечко о С++. Здесь на сайте частенько попадаются сообщения в стиле «хочешь быстрого робота, пиши на плюсах!». Понятно что большинство здешних «программистов», советующих или критикующих С++, дальше lua (в лучшем случае C#) ничего не трогало, поэтому помимо высокой скорости работы программ, написанных на С++, единственное, что ещё упоминается, так это то, что писать программы на этом С++ безумно сложно. Отчасти это так, однако современный С++ (11-й и 14-й стандарты) — это (простите за тавтологию) современный язык программирования, который в выразтиельности программ может вполне потягаться с тем же С#.

Вобщем что может мой бектестер сейчас:

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

Любителям квантовой механики.

         Любителям квантовой механики.

     Надо возвращать словам исконные значения. Приложил некоторые усилия, чтоб очистить термины “Фрактал” и ”Теория Хаоса” от от того, что навесил на них околорынок. Теперь дошла очередь и до “Квантовый трейдинг”. Виноват, до меня некоторые намеки доходят медленно, да и загружен был. Но дошло все-таки. Нашел время посмотреть.


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

Препарируем процесс торговли с помощью простейшего тервера

     Сейчас я попробую разложить торговлю по полочкам, вычленить независимые составляющие и их проанализировать.

     Пусть у нас есть торговый алгоритм, который выдает приказ на покупку или продажу. Для выхода используем тупой алгоритм типа таймаут, случайный выход, выхода по стоп-лосс, тейк-профит, трейлинг-стоп и т.п. Комиссию не учитываем.

     Обозначим рекомендацию алгоритма O[i] = -1, 0, 1, где i — номер потенциальной сделки. -1 соответствует рекомендации продать, 1 — купить, 0 — ничего не делать. Объем сделки обозначим V[i] >= 0.

     Результат сделки и при единичном объеме и при условии что только покупаем обозначим R[i]. Будем считать что на рынке на всем периоде торговли нет устойчивого тренда вверх т.е. стратегия “купил и держи” в среднем прибыли/убытка не приносит. Тогда матожидание (M) от произвольной сделки на покупку равно нулю M(R[i])=0.

     Итого, мы разделили торговлю на три независимые составляющие: 



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

Очень подробно разжёвано для чайников по 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))




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

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

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

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