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

по

Парный трейдинг: 1 из 3 способов поиска пар на Python

Первый из трех способов автоматического поиска пар на Python для торговли по стратегии «Парного трейдинга». Исходя из результатов предыдущей статьи, во всех примерах мы будем использовать только поиск коинтеграции.

Кратко о «Парном трейдинге»: в основе стратегии лежит предположение, что есть две акции, которые имеют глубокую экономическую связь друг с другом, и их цена движется в одном направлении с разной скоростью. Когда отстает акция А, мы ее покупаем и одновременно продаем в короткую акцию Б. И наоборот.

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



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

Парный трейдинг: описание стратегии на Python

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

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

В статье рассмотрены:

  • Введение в корреляцию/коинтеграцию на простом примере.
  • Корреляция без коинтеграции.
  • Коинтеграция без корреляции. 


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

Робот ContanGO! 2.0

Робот ContanGO! 2.0
Месяц назад я написал пост Робот ContanGO! smart-lab.ru/blog/385513.php
В нём был изложен черновик торговой идеи. Между фьючерсом и акцией всегда есть разница в цене. Обычно фьючерс дороже акции. Это называется контанго. Контанго всё время меняется. Оно то больше, то меньше. С каждым днём контанго распадается и стремится к нулю. Контанго достигает нуля к дате экспирации.
Робот, выложенный в первом посте, был первым наброском. Он многое не учитывал. С тех пор он стал умнее, я полностью переписал код и обогатил его новыми аналитическими элементами.
1. Теперь роботу не нужно задавать код фьючерса. Он сам возьмёт новый список фьючерсов, когда до экспирации останется 5 дней.
2. Робот умеет учитывать то, что часть денег морозится во фьючерсах, заблокированная под ГО. Он уменьшает доходность на размер замороженных денег.
3. Робот учитывает комиссию биржи автоматически (ничего писать не нужно)
4. Робот учитывает комиссию брокера. Задаётся пользователем в файле ContanGO.lua
5. Робот вычитает из доходности налог НДФЛ 13%
6. Если вы знаете что делаете, вы можете вписать размер дивиденда по каждой акции. Вписав дивиденд, вы поднимете доходность до справедливого значения. Дивиденд считается с налогом 13%. После среза реестра дивиденд нужно обнулить

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

Тест открытой ТС

Лениво бродив по западному интернету, нашел интересную стратегию, которая своими корнями уходит к некоему Larry Connors. Стратегия построена на простом RSI с периодом 2.

Суть ее в следующем: 
покупаем индексный ETF, когда значение меньше 15 на закрытии дня (да, это можно сделать без проблем и проскальзываний на всех ликвидных ETF) и продаем, когда клоуз текущего дня выше хая предыдущего (можете придумать свои выходы, стратегия не очень-то чувствительна к выходам). 
В общем MR в чистом виде. И в принципе это должно работать на большинстве ETF развитых рынков. 
Тестил на Multicharts.Net, код ниже. 


using System;
using System.Drawing;
using System.Linq;
using PowerLanguage.Function;
using ATCenterProxy.interop;

namespace PowerLanguage.Strategy {
        public class rsi_2_spy : SignalObject {
                public rsi_2_spy(object _ctx):base(_ctx){}
                private IOrderMarket buy_order;
                private IOrderMarket sell_order;
                
                private RSI m_RSI;
        private VariableSeries<Double> m_myrsi;
                private ISeries<double> Price { get; set; }
                
                protected override void Create() {
                        // create variable objects, function objects, order objects etc.
                        buy_order = OrderCreator.MarketThisBar(new SOrderParameters(Contracts.Default, EOrderAction.Buy));
                        sell_order = OrderCreator.MarketThisBar(new SOrderParameters(Contracts.Default, EOrderAction.Sell));
                        m_RSI = new RSI(this);
            m_myrsi = new VariableSeries<Double>(this);
                        
                }
                protected override void StartCalc() {
                        // assign inputs 
                        Price = Bars.Close;
            m_RSI.price = Price;
            m_RSI.length = 2;
                }
                protected override void CalcBar(){
                        // strategy logic 
                         m_myrsi.Value = m_RSI[0];
                        if (Bars.Close[0]>Bars.High[1]){
                                sell_order.Send();
                                return;
                        }
                        
                        if (m_RSI[0]<15){
                        buy_order.Send();
                        }
                        
                }
        }
}


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

Бэктестинг: торговля на импульсе с помощью ATR

Индикатор ATR (Average True Range) показывает среднюю величину изменения цены внутри дня за указанный период. Отлично подходит для выбора уровней стопов. Также индикатор показывает рост волатильности в активе, когда сохраняет высокие значения.

Работаем на Quantopian (см. сюда), код пишем на Python. Проверяем стратегии:

  • Как есть.
  • Фильтр по SMA200.
  • Торговля в двух направлениях.
  • Аналог стоп-приказа.
  • Фильтр по объему.


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

Бэктестинг: алгоритм на основе MACD

Индикатор MACD широко известен среди трейдеров. Мне его сигналы помогают находить развороты и предупреждения о коррекциях. Много написано, как использовать его сигналы для открытия позиций, а мы сегодня рассмотрим прикладное применение в алготрейдинге.

Все будет тестироваться на Quantopian (см. сюда), писать код будем на Python. Рассмотрим следующие стратегии:

  • Что надо знать и как не надо делать.
  • Как есть: гистограмма, линия MACD, сигнальная.
  • Добавим стоп-лосс.
  • Торгуем в двух направлениях.
  • Отфильтруем боковики и волатильность.


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

Анализатор опционных позиций. 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.



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

Nvidia, ты на самом деле хороша?

Недавно наткнулся на новость, что Nvidia (NVDA) заключила соглашение с Bosch на поставку единого модуля для беспилотного управления автомобилем. Bosch является крупным поставщиком автомобильных запчастей для разных марок автомобилей.

Позволит ли это захватить Nvidia рынок беспилотных автомобилей в будущем?



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

Бэктестинг: купи и держи со скользящими средними

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

Будет приведено несколько алгоритмов:

  • пересечение SMA200 и цены;
  • пересечение SMA200 и SMA10;
  • пересечение SMA200 и SMA50;
  • пересечение EMA200 и EMA50;
  • пересечение EMA200 и EMA50 плюс покупка облигаций.


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

Сегодня кто-то захеджировался на 48 млн. Евро!

Это видно из таблицы:
Сегодня кто-то захеджировался на 48 млн. Евро!

Покупателем опционов колл выступил хеджер.
Его интерес понятен, это или кредит в евро(под отрицательную ставку, как вариант) или Импортер с отложенной сделкой в евро(хедж от изменения курса).

Продавец Красавец!
Он продал Коллы на Евро/рубль который выше цены на Доллар/рубль почти на тысячу рублей,
а еще и выше теории котируемой биржей(Видимо расчет вел по своей волатильности, чем и поднял цену).

Вот так выглядит доска опционов Si на Июнь 2017
Сегодня кто-то захеджировался на 48 млн. Евро!



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

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