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

по

АЛГО Как я это вижу II – Начинаем работать с тиками

    • 16 февраля 2016, 20:54
    • |
    • Ага
  • Еще

Продолжаю серию статей. Начало тут http://smart-lab.ru/blog/310895.php

Итак, у нас имеется история в виде набора упорядоченных по времени тиков, но используем мы только данные цены. Перед началом проведем подготовку данных (как я называю «упаковку тиков»). Например, есть исторический отрезок со следующими данными (окончание сессии от 12.02.2016 по ESH16):
АЛГО Как я это вижу II – Начинаем работать с тиками

Как мы видим множество соседних тиков, имеют одинаковое значение цены, что создает «избыточность данных». Если мы оставим только те последовательные тики, цена которых отличается от предыдущего, то количество данных ощутимо сократиться:
АЛГО Как я это вижу II – Начинаем работать с тиками

Это я и называю упаковкой тиков. Но на самом деле такой способ упаковки удобен для дата-майнинга, для симуляции на истории удобен способ «меньшего сжатия», когда мы оставляем только те последовательные тики, цена которых отличается от предыдущих. Или тики, которые по времени отстоят от предыдущего более чем на 1 секунду. Это необходимо при симуляции выставления и исполнения ордеров. И также дает нам биржевое время, с точностью до секунды, для функционирования работа в режиме симуляции по истории. В этом случае картинка будет следующей:
АЛГО Как я это вижу II – Начинаем работать с тиками

Итак, данные подготовлены и можно приступить к «описанию и поиску простейших паттернов» (этот блок служит для ввода в курс дела, а не отражает практический способ). Например, имеется некоторый паттерн, представленный на следующем рисунке:
АЛГО Как я это вижу II – Начинаем работать с тиками

Паттерн выделен оранжевым цветом. Какая особенность алгоритма необходима для его выявления? Это то, что он должен искать паттерн при поступлении каждой порции данных. Паттерн может начаться с любого тика, и закончится на любом. Т.е. поиск в данном случае будет представлять «трафарет»:
АЛГО Как я это вижу II – Начинаем работать с тиками

Подставляемый для каждого тика в последовательности, и при совпадении с которым паттерн считается «опознанным» (Т.е. трафарет как-бы скользящий).

Представленный пример достаточно сильно утрирован, в реальности трафарет не столь «жёсткий» и возможно бы включал в себя и следующие представления:
АЛГО Как я это вижу II – Начинаем работать с тиками

P.P.S

Формирование следующих статей цикла будет производиться по мере наличия времени и желания ;)

Всем успехов в торговле! 


АЛГО Как я это вижу: I “Исходные данные”

    • 15 февраля 2016, 18:31
    • |
    • Ага
  • Еще

Решил написать цикл статей про алгоритмическую торговлю с моего взгляда и опыта,  как я это вижу и применяю, т.е. буду описывать мой субъективный взгляд ;) Начну с самых простых вещей и буду двигаться к более сложным…

P.S. Описание содержит (или отталкивается от) практику торговли фьючерсами на CME

Исходные данные:

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

Наша задача – найти закономерности на имеющейся истории, дающие статистическое преимущество и эксплуатируя их получать профит. Но сами «закономерности» должны обладать определенными свойствами. Например, любая закономерность должна область определенной степенью «стационарности» (стабильности), что бы она могла дать нам себя поэксплуатировать, (об этом я расскажу в будущих статьях). Еще одно из таких свойств – техническая возможность ее эксплуатировать, но это больше касается HFT, а этот цикл не о высокочастотной торговле.



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

Получение значения свечей и индикаторов из Quik в Excel.

Получение значения свечей и индикаторов из Quik в Excel.
Получение значения свечей и индикаторов из Quik в Excel.


Представляю вашему вниманию программу для вывода значения свечей и индикаторов из Квик в Эксель. Она позволит за несколько минут настроить экспорт, БЕЗ НАПИСАНИЯ КОДА И РЕДАКТИРОВАНИЯ СКРИПТОВ.

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

И это статья/инструкция о том, как ей пользоваться.

План:

1) Как создать скрипт для Quik при помощи TableFromQuikToExcel;

2) Как запустить скрипт и вывести таблицу Quik;

3) Как импортировать данные свечей и индикаторов в Excel;

4) Заключение

 

1 Как создать скрипт для Quik при помощи TableFromQuikToExcel



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

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

    • 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). Забудем на минутку про дисбаланс бид/акс объемов и построим карту политик для открытой позиции при разных значениях спреда:

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



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

Получаем данные из Excell для использования в Wealth-lab, Ninjatrader и так далее.

    • 27 июня 2015, 14:43
    • |
    • Dzam
  • Еще
Получаем данные из Excell для использования в Wealth-lab, Ninjatrader и так далее.
Есть задачи, когда необходимо читать внешние данные для работы роботов или индикаторов. Например, можно в Excel лист занести уровни, от которых будет торговать робот. Либо список тикеров, по которым необходимо собирать информацию.



Для чтения данных из Excel нам потребуется библиотека Microsoft.Office.Interop.Excel.dll. В моей Windows7 она расположилась в папке:

C:\Program Files (x86)\Microsoft Office\Office15\DCF

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


//Читаем их Excel данные в массив
List getParamsFromExcel(string filePath)
{
    //С какой строки начинаем читать данные
    int start_from_row = 2;
    //Индекс колонки с Тикером
    int symbol_index = 1;
    //Индекс колонки с типом ордера
    int order_type_index = 2;
    //Индекс колонки с ценой входа
    int entry_price_index = 4;
    //Индекс колонки с ценой стопа
    int stop_price_index = 5;
    //Индекс колонки с временем входа
    int entry_time_index = 7;
    int current_index = start_from_row;

    //Текущий символ графика
    string read_symbol = Bars.Symbol;
    //Текущий считанный из Excel символ
    string current_symbol;

    //Список параметров считанный из Excell
    List result;
    result = new List();

    //Переменная Excel приложение
    Excel.Application xlApp;
    //Переменная рабочая книга
    Excel.Workbook xlWorkBook;
    //Переменная рабочий лист
    Excel.Worksheet xlWorkSheet;
    //Переменная диапазон
    Excel.Range range;

    //Инициализируем переменные
    xlApp = new Excel.Application();
    xlWorkBook = xlApp.Workbooks.Open(filePath);
    xlWorkSheet = xlWorkBook.Worksheets.get_Item(1);

    range = xlWorkSheet.UsedRange;

    //Считываем тикер из Excel
    current_symbol = (string)(range.Cells[current_index, symbol_index] as Excel.Range).Value2;
    //Читаем тикеры, пока не наткнемся на пустую строку
    while(current_symbol != null)
    {
        //Если считанный тикер совпадает с тикером графика, на котором запустили робота
        if(read_symbol == current_symbol)
        {
            //Читаем и добавляем параметры ордера
            result.Add(new OrderParams
            {
                ePrice = Convert.ToDouble((range.Cells[current_index, entry_price_index] as Excel.Range).Value2),
                sPrice = Convert.ToDouble((range.Cells[current_index, stop_price_index] as Excel.Range).Value2),
                eTime = DateTime.FromOADate((range.Cells[current_index, entry_time_index] as Excel.Range).Value2),
                pType = ((string)(range.Cells[current_index, order_type_index] as Excel.Range).Value2 == "Short" ? PositionType.Short : PositionType.Long)
            });
        }

        current_index++;
        //Считываем очередной тикер
        current_symbol = (string)(range.Cells[current_index, symbol_index] as Excel.Range).Value2;                
    }

    //Закрываем рабочую книгу
    xlWorkBook.Close(true, null, null);
    //Выходим из приложения
    xlApp.Quit();

    //Уничтожаем созданные объекты
    releaseObject(xlWorkSheet);
    releaseObject(xlWorkBook);
    releaseObject(xlApp);

    return result;
}

//Уничтожаем переданный объект
private void releaseObject(object obj)
{
    try
    {
        System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
        obj = null;
    }
    catch (Exception ex)
    {
        obj = null;                
    }
    finally
    {
        GC.Collect();
    }
} 

Все банально и просто. И можно использовать для различных целей
Оригинал статьи. 

О том, как правильно зашортить бычий рынок.

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

1. Если хочешь продать акции — сначала захеджируй их путами и жди.
2. Если всё еще хочешь продать акции — сначала продай коллы на соответствующий объем и жди экспирации с поставкой.
3. Если всё еще хочешь перевернуться из лонга в шорт и продать чужие акции, сначала вместо этого продай свои и купи казначейские облигации в локальной валюте и подожди.
4. Если всё еще хочешь встать в шорт, сначала купи облигаций в резервной валюте и жди.
5. Если всё еще хочешь зашортить, продай непокрытых коллов около денег на сумму, на которую планировал зайти в шорт.
6. Никогда, никогда, никогда не шорти на бычьем рынке.

Спасибо за внимание.

Как физики вертанули в Сбере юриков-:))

Очень часто на Смартлабе обращаются за данными  к нашему аналогу «COT» в поисках грааля. Я и сам периодически его поглядывал, мало ли какой граальчик выплывет, но старался обращать внимание только на аномальные изменения. Вчера такой день настал в Сбербанке. Физики вшортили вчера Сбер на всю котлету (шорты увеличились на 44%, а чистая позиция и вовсе изменилась радикально с +34 тыс. на -32. тыс.  благодаря тому, что 20% лонгов они скинули на локальных максимумах-:), а юрики залонжили что есть мочи-:)) Ну казалось бы, сегодня должно было быть 85 рублей за Сбер. Ан нет, сегодня мы увидели УД вниз на нашем рынке-:)


На конец вчерашнего дня
Как физики вертанули в Сбере юриков-:))


Сегодня  физики благополучно пофиксили свою котлету об «умные деньги» -:))))

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

Равновесная линия для инструмента!

Приветствую всех!

 

      Давно не писал каких либо статей на смартлабе, в основном нет времени, но чаще лень сильнее меня! 

Так вот, пока что небольшая статейка, более подробнее в другой раз возможно распишу если будет интерес.
В виду сильных полетов рынка, не секрет для тех кто следит за трансляцией моей, древненькие алгоритмы ничего не заработали а в основном посливали на фртс. весьма потрепанные но не побежденные, скажем так! Понимаю лошара, но так и есть! СИ не мой интсрумент а фртс весьма и жутко растерзанный, но как и предполагалось с середины января более менее обьем вернулся в рынок и стало чуток проще! 
      К чему я это… Все время для бумаги привык искать равновесный уровень, близ которого цена бьется, и соответственно ссылаться на нее, определяя движения и тенденции. Поскреб по сусекам накопленных знаний, и вывел некую линию, которая так или иначе находит равновесную (равноудаленную от цен инструмента линию) Получилась слегка «шумная» линия, которую в принципе можно полностью выровнять без вредя и чертить в виде прямой, но не суть (рисовал ее на TSLab 1.1 по личным причинам потому особыми примочками не владел, для ее выравнивания) 



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

Расчёт теор.цены опциона.

Есть доска опционов. Цена ФРТС равна 76220 (видно на картинке). Теор. цена Пута_70 равна 2510. Вопрос: Как посчитать сколько будет стоить ПУТ_70 если цена ФРТС станет равна, например, 80000? Хватит ли данных из доски? Что к чему прибавить и на что разделить ))? Прошу прощение за бестолковость )) Подскажите методику расчёта, пожалуйста.

Расчёт теор.цены опциона.

P/S Сам конечно могу вникнуть, но жалко время тратить. Уверен, что быстрее получу ответ здесь на форуме, поэтому это не лень, а рациональный подход )) Мне честно стыдно.

Немного о торговых роботах

Приветствую!
 
        Немного расскажу про адаптацию роботов к рынку. 
Часть роботов (по крайней мере моих) сильно зависят от рынка, от текущей волатильности и направленности рынка (боковик/тренд). 
99% роботов имеют свои настройки/параметры, меняя которые можно улучшать доходность. Единственная загвостка заключается в сложности выбора момента, при котором стоит изменить параметры. 

Ниже будет описанно несколько шагов оптимизации:


1 Мы используем Н-количество роботов с различными параметрами (их можно отладить на истории, но все же лучше смотреть на рынок не так глубоко, достаточно последний квартал проанализировать)
2 Все эти роботы запускаются с разным количеством денег (наименее рискованный робот получает большее количество денег и далее по мене повышения риска снижаем количество доверяемых денег)
3 Каждый робот ограничивается своим уровнем deadline убытка, после которого его торговля ограничивается меньшим количеством денег или окончательной остановкой. 


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

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