Избранное трейдера Александр

по

Набросок конспекта лекции про оверфиттинг - полезно всем

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

Можно часто слышать от тех, кто торгует алгоритмически, да и просто систематически, такие понятия как «оверфиттинг», «курвафиттинг», «зафит» и прочие ругательства с корнем «фит». Что все это значит?
На самом деле, все эти слова, как правило, используются для описания одного и того же явления, являющегося врагом всех трейдеров, торгующих систематически и пытающихся оценить исторический перформанс своих торговых логик — а именно, что «живой» аут-оф-сампл перформанс на реальном счете, как правило, хуже ожиданий, полученных ими при проверке своих идей на истории. Например, при тестировании торговой логики на истории трейдер с помощью своей модели «зарабатывал» 30% годовых, а в реале может в среднем иметь 10% годовых. Разница 20% годовых — может объясняться именно оверфиттингом (если нет других факторов — например, некорректный учет комиссионных и проскальзываний, или ошибка в торговом коде; но прочие факторы легко устранить, в отличие от оверфиттинга). На картинке в начале статьи — пример перформанса некоторого фонда в бэктесте и в реальности, наглядно иллюстрирующий написанное выше.

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



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

Бесплатные тики с Мосбиржи (python3)

Наконец более-менее довел до ума код, который берет данные с информационно-статистического сервера биржи.
В предыдущей теме скрипт запрашивал некоторое количество тиков, привязанных либо к текущему моменту, либо к началу торгового дня. Сейчас я сделал так, что можно брать тики от начала заданного дня (доступны только текущий и два предыдущих рабочих) до текущего времени заданного дня. Похоже, сервер кривой и не дает за весь прошлый день получить тики. Зато, если дождаться 22:00, можно получить все что требуется за текущий день и два предыдущих.

Пока что заливаю файлы сюда, позже обновлю на гитхабе.
yadi.sk/d/ccTtLzbk3Rbtty

В общем, чтобы сохранить тики в файл, надо просто запустить скрипт iss_simple_main.py, предварительно в нем указав нужный день:
iss.get_trades_for_session( 'futures', 'forts', 'RIH8', 2 ) # доступны значения 0, 1, 2


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

#пора_граммировать [4] тики с сайта МосБиржи, ну и минутки тоже :)

Если закинуть вот такую строчку в браузер, то получим тики по SiZ7 текущей сессии
https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json
— если добавить 
?start=0&limit=100
то начиная с первой сточки (номер ноль) получим только первые 100 сделок:
https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?start=0&limit=100
следующие 100 сделок:
?start=100&limit=100
Минутки получить можно так:
http://iss.moex.com/iss/engines/futures/markets/forts/boards/RFUD/securities/SiZ7/candles.json?from=2017-11-08&till=2017-11-08&interval=1&start=0
Если заменить .json --> .csv, то скачивается файл:

http://iss.moex.com/iss/engines/futures/markets/forts/boards/RFUD/securities/SiZ7/candles.json?from=2017-11-08&till=2017-11-08&interval=1&start=0
Программный пример:
using System;
using System.Net;
using System.IO;

namespace GetDataSmpl
{
    class Program
    {
        static void Main(string[] args)
        {   
            string link = "https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?start=0&limit=10";
            string dataLine; 
            int count = 0;           
            using (WebClient wc = new WebClient())
            {  
                Stream stream = wc.OpenRead(link);
                StreamReader sr = new StreamReader(stream);                
                while ((dataLine = sr.ReadLine()) != null) {
                    if (count >= 14 && count <= 23) Console.WriteLine(dataLine);
                    count +=1;
                }                        
                stream.Close();             
            }                
        }
    }
}


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

Как получить дивиденд по фьючерсу, и сколько стоит фьючерсное плечо

    • 03 октября 2017, 13:00
    • |
    • rtsi
  • Еще

Я заметил, что бытует мнение, что по фьючерсам не платится дивиденд.

Так обычно и говорят: фьючерс на индекс RTS отслеживает только индекс RTS, и не учитывает выплачиваемый по этому индексу дивиденд. То же самое говорят и об акциях.

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

Это, конечно, не так.

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

  • если это акции, то он получает по этим акциям дивиденды;

  • если это фьючерс на индекс акций, то он купил акции, входящие в индекс, и получает по ним дивиденды;

  • если это фьючерс на ОФЗ, то он получает по ним купонный доход;

  • если это фьючерс на доллар, то он получает доход, разместив доллары на депозите под безрисковую ставку;



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

Анализатор опционных позиций. OptionFVV. Версия 2.1 public

Здравствуйте дорогие друзья!

Тема этого обновления — работа со своей моделью улыбки.
Эту версию мне помог создать Дмитрий Новиков. Помогал с формулой расчета, обсуждали юзабилити, ну и конечно же помог отловить баги и глюки, касаемые модельной улыбки. Мы с ним обкатали 2 версии пока не получилась эта окончательная третья версия. Так что спасибо ему большое за всё.

В текущей версии, на самом деле 2 модели улыбки.
1. Это моя, которой я давно пользуюсь. Нарисована в виде оранжевых маркеров (точек) на диаграмме (1).
Анализатор опционных позиций. OptionFVV. Версия 2.1 public

Рассчитывал так, брал базу улыбки с 2010 по 2016 годы и рассчитывал относительное отклонение страйков с дельтами 0,1 0,25 и -0,1 от центрального в процентах. Рассортировывал по папачкам, каждая из них это срок сколько осталось до экспирации дней и в каждой из них считал среднее значение. Так я получил среднее отклонение интересующих мне страйков от центрального. А зная волу центрального и сколько дней до экспирации, не сложно высчитать волу страйков с дельтами 0,1 0,25 и -0,1.



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

Построение графика спреда в терминале QUIK

    • 10 февраля 2017, 15:11
    • |
    • _sk_
  • Еще
В некоторых торговых стратегиях используются цены нескольких активов. Скажем, можно торговать фьючерс MX, глядя на цены фьючерсов MX, SR GZ и выполняя над ними некоторые арифметические преобразования. Например, построить график вида
Spread := price(MX) — 5 * price(SR) — 5 * price(GZ) — 50000
по текущим котировкам и строить торговые идеи на его основе.

Кому интересна визуализация подобных спредов в терминале QUIK 7-й версии с помощью lua-скриптов, добро пожаловать под кат.


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

Что такое Plaza 2 и с чем ее едят!

     Доброго времени суток.
     Мы команда разработчиков торговой платформы FortsSoft Terminal  для прямого доступа на срочный рынок. Опрос нашей компании показал, что торговать на Plaza 2 хотят многие, а информации по данному вопросу катастрофически мало. В виду этого, мы решили запустить серию статей по данной теме.
И так.

Что такое шлюз Plaza 2.
     Шлюз Plaza II — Программное обеспечение, обеспечивающее обмен данными между Серверной частью ПО – Торговой и клиринговой системы Срочного рынка (Торговой системой SPECTRA) и сертифицированной брокерской системой по протоколу Plaza II.
Такое определение дает Московская биржа.
Если простыми словами, то Plaza 2 позволяет получать данные, отправлять заявки миную инфраструктуру брокера.

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

  1. Увеличить скорость обмена данными за счет упрощения инфраструктуры.
  2. Обеспечение равных возможностей, как для частных инвесторов, так и для  профессиональных участников фондового рынка.
  3. Возможность получать полный анонимизированный ордерлог всех заявок торговой сессии.
  4. Возможность разработки собственных торговых роботов.


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

Основные показатели для оценки стратегий, часть 1 - Коэффициент Кальмара.

Основные показатели для оценки стратегий, часть 1 - Коэффициент Кальмара.



История
: Кальмар (Calmar сокращенно от Калифорнийский коэффициент управления счетом или “California Managed Account Ratio”, который впервые появился в 1991году в журнале Фьючерсы (Futures Magazine) благодаря Терри Янгу (Terry W.Young), также иногда его называли коэффициентом просадки).

Основа расчета: Коэффициент Кальмара рассчитывается как среднегодовая доходность, рассчитанная за последние 36 месяцев, деленная на максимальную просадку за тот же период. Расчет происходит на ежемесячной основе. Коэффициент Кальмар это скорректированная на риск оценка доходности, так как он оценивает доходность на единицу риска, где под риском мы понимаем максимальную просадку. Коэффициент Кальмара — это слегка модифицированная версия коэффициента Стерлинга (среднегодовая доходность за последние 36 месяцев, деленная на максимальную просадку за тот же период). Разница между ними заключается в том, что коэффициент Кальмара считается на ежемесячной основе, а коэффициент Стерлинга по годам.



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

Коэффициент Шарпа

Коэффициент Шарпа


Перевод (http://bettersystemtrader.com/sharpe-ratio-right-answer-wrong-question/)

Многие используют коэффициент Шарпа, но до конца не понимают в чем прелесть данного показателя.

Для начала давайте выясним, что коэффициент Шарпа делает хорошо:

  1. Сравнение разных активов и стратегий.
  2. Оценка неопределенности.

Мы все знаем, что в создании портфеля стратегий очень важно правильное распределение активов. Трудность состоит в том, чтобы найти единую метрику оценки разных стратегий, скорректированную на размер риска. Это то, что делает коэффициент Шарпа. С помощью него мы получаем единую меру для измерения риска различных классов активов: облигаций, акций, фьючерсов, сырья и т.д.

Человеческому мозгу трудно связать неопределенность с риском. Риск активирует миндалевидное тело (амигдала), а та активирует рефлекс бей-беги. В данном случае Шарп можно использовать как хорошую оценку неопределенности, он является отношением результативности стратегии к неопределенности.



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

Доходная система инвестирования Олега Клоченка

После конференции смартлаба, где выступал Олег, я дважды подряд переслушал его вебинар на ютубе (пока ехал на машине из мск в спб). Логика и философия Олега произвели на меня глубокое впечатление. Решил поделиться с вами основными элементами системы инвестиций Олега и его философии.
Инвестиции – это способ превратить работу в долг. Инвестор часть своей работы превращает в долг общества перед ним и относит расчет по долгам в будущее, извлекая сегодня только процент.
© Олег Клоченок
Доходная система инвестирования Олега Клоченка 



Важные критерии для инвестиций в акции/др. активы:
  • Актив должен приносить стабильный доход
  • Регулярное поступление наличности на счёт важнее потенциала роста цены акции. Поток наличности можно свободно использовать: реинвестировать и потратить на жизненные нужды.
  • Я не покупаю никакие акции в надежде на их рост. Я покупаю их доходности.
  • Чистая прибыль компании должна расти ежегодно не менее чем на 10%. Если прибыль не растет или сокращается в течение 2-3 лет, то надо задумываться о том, чтобы продать такие акции. Важно также разбираться в структуре прибыли.
  • Ориентирован на 5-10 кратный рост цены акций. Дергаться при +30% росте цены не имеет смысла, можно пропустить сотни процентов прибыли.
  • Краткосрочный срок инвестирования у Олега = 3 года.
  • Бессмысленно говорить о методикам оценки, сравнительных коэффициенты (мультипликаторах) и прочих системы инвестирования, потому что у каждого времени есть своя методика.
  • Надо смотреть чтобы доходы компании покрывали регулярные обязательства
  • Надежность акции оценивается через показатель цены акции/активы, приходящиеся на 1 акцию. Особенно важен в условиях дефляции. В условиях инфляции — важен индикатор цена/прибыль.
  • Не стоит инвестировать в компании, за которыми нет активов
  • Покупайте акции минимальные по к-ту P/B и покупайте их для диверсификации портфеля
Доходная система инвестирования Олега Клоченка

Философия.


Никакая доходность не в состоянии окупить потерю душевного покоя

Главный ресурс человека — это его время и его внимание. Деньги в самую последнюю очередь. 
Главные цели: быть здоровым, счастливым, любимым дорогими людьми, быть независимым — не наниматься на работу.

Надо стремиться к внутреннему комфорту. Не надо делать то, что приводит к стрессу. Комфорт — это тоже доход, потому что в будущем вы снизите себе издержки на фармакологии:)
Нет цели прогнозировать доходность. Задача — следить за ценой денег (через ставки овернайт или 3-летние ОФЗ) и не отставать от этой нормы доходности. Планирование доходности приводит к разочарованиям.

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


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

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