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

по

Spreads - новый бесплатный open-source инструмент для алготрейдинга

На Смарт-Лабе редко, поэтому тут напоминалка про Spreads по мотивам этого поста, который до меня даже через Фейсбук добрался, и не мог пройти мимо. Цифры — ответ на оригинальный пост. Мой комментарий странным образом изчез из оригинального поста, ниже его полная копия. 

Сорри, гайз:

 1 — история и реальная торговля — один код

2 — тайм-фреймы вообще нерелевантны, соединение серий идет по time stamp. Главное самим помнить, где он для свечек — в начале или конце, и использовать .Lag(1) где нужно

3 — событийная архитектура — это ад, однажды разобравшись в функциональных преобразованиях серий пути назад нет. Shared mutable state спрятан и совсем не shared.

4 — помимо стандартных проектов VS, можно писать в F#/C# interactive REPL

5 — higher-order преобразования серий (Window,ZipLag,Map,Scan,Filter,Repeat,ZipN) позволяют написать индикатор любой сложности в несколько строк кода и спрятать всю логику и состояние в лямбдах

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

Почему разоряются трейдеры?

Наверное, этот вопрос задавал себе каждый, кто терял деньги. Про это написано куча теорий, и у каждого свое мнение на этот счет. С высоты многолетних наблюдений постараюсь и я ответить на этот вопрос. А заодно развить тему, вброшенную здесь: http://smart-lab.ru/blog/337934.php

Для начала: простая арифметика, 3 класс школьной программы.

У вас S депозит и L плечо.

Комиссия за сделку C, за маржиналку M (внутри дня не платится).

При C = 0.05%, M = 16% годовых и L = 4 (берем среднее, более-менее близкое к ставкам риска основных бумаг)

получим:

1. Если просто купить (или продать) на все, на уплату комиссий уйдет

   5 * S * 2 /// сразу считаем с учетом продажи /// * 0,05% = 0,5%S

   4 * S * 16% = 0,64S /// комис за пользование кредитом

Итого 64,5% от вложенного капитала — это стоимость игры с плечом в данном примере. 65% годовых, Карл! И ведь берут!

 

2. Если закрывать позицию внутри дня, то

   5 * S * 2 * 0,05% * 220 /// примерное кол-во торговых дней в году /// = внимание… 110 (сто десять) % S.



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

Индикатор "Параболическая регрессия/тренд" (Бонус к линейной)

Предыдущая часть: smart-lab.ru/blog/337952.php

Для всех QUIKеров в свободное пользование индикатор «Параболическая регрессия/тренд» (LUA).

Индикатор "Параболическая регрессия/тренд" (Бонус к линейной)

Settings = 
{
        Name = "xLinRegP",
        period = 128,
        deviation=2,
        line=
        {
                {
                        Name = "xLinRegP",
                        Color = RGB(128, 128, 255),
                        Type = TYPE_LINE,
                        Width = 4
                },
                {
                        Name = "xLinRegP",
                        Color = RGB(192,128,128),
                        Type = TYPE_LINE,
                        Width = 4
                },
                {
                        Name = "xLinRegP",
                        Color = RGB(96, 128,96),
                        Type = TYPE_LINE,
                        Width = 4
                }
        
        }
}

----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
function cached_FF()
        local AMA={}
        local CC={}
        local II2 = 0
        local II4 = 0
        
        
        return function(ind, _p,_ddd)
                local period = _p
                local index = ind
                
                local vol = 0
        
                local sigma = 0
                local sigma2 = 0
                local sigma3 = 0
                local sigma4 = 0

                local aav = 0
                local aa = 0
                local bb = 0
                local cc = 0
                local ZZZ = 0
                local ttt = 0


                                                
                if index == 1 then
                        
                        AMA={}
        
                        CC={}

                        CC[index]=(C(index)+H(index)+L(index))/3
                
                        AMA[index]=(C(index)+O(index))/2
                
                                II2=0
                                II4=0
                        for i = 0, period-1 do
                                ttt=(-(period-1)/2+i)^2
                                II2=II2+ttt
                                II4=II4+ttt^2
                        end
                
                        return nil
                end
                
                ------------------------------
                
                        AMA[index]=AMA[index-1]
                        ----------------------------------
                        CC[index]=(C(index)+H(index)+L(index))/3
                        ---------------------
                


                        
                if index < (Size()-2) then return nil end
                
                ----------------------------------------------------


                sigma=0
                sigma2=0
                sigma3=0
                sigma4=0
                aav=0
                ZZZ=0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        
                        aav=aav+ZZZ
                        sigma=sigma+ZZZ*(-(period-1)/2+i)
                        ttt=(-(period-1)/2+i)^2
                        sigma3=sigma3+ZZZ*ttt
                end
                
                ------------------------
        bb=sigma/II2
    cc=(sigma3-aav*II2/period)/(II4-II2*II2/period)
        aa=(aav-cc*II2)/period
        aav=aav/period
                
        AMA[index]=aa+bb*((period-1)/2)+cc*((period-1)/2)^2             ------- парабола
        -------------------------------

                
                sigma=0
                sigma2=0
                sigma3 = 0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        sigma2=aa+bb*(-(period-1)/2+i)+cc*(-(period-1)/2+i)^2           ------- парабола
                        sigma=sigma+(ZZZ-sigma2)^2

                end
                sigma=(sigma/period)^(1/2)
                
                for i = 1, period-1 do
                        ZZZ=aa+bb*(-(period-1)/2+i)+cc*(-(period-1)/2+i)^2
                        SetValue(index+i-period+1, 3, ZZZ)
                        SetValue(index+i-period+1, 2, ZZZ+sigma*_ddd)
                        SetValue(index+i-period+1, 1, ZZZ-sigma*_ddd)

                end     
                        SetValue(index+0-period+1, 3, nil)
                        SetValue(index+0-period+1, 2, nil)
                        SetValue(index+0-period+1, 1, nil)
        
                
                ----------------------------------
                                                                
                        return AMA[index]-sigma*_ddd,AMA[index]+sigma*_ddd, AMA[index]
                        
        end
end
----------------------------    ----------------------------    ----------------------------
----------------------------    ----------------------------    ----------------------------
----------------------------    ----------------------------    ----------------------------

function Init()
        myFF = cached_FF()

        return 3
end

function OnCalculate(index)
        
        return myFF(index, Settings.period,Settings.deviation)
        
                
end




Идеальный шорт RI - Рынок не обмануть!

Такое ощущение что кто-то крупный застрял в лонгах
и его повезут на маржин колл...

Все знаем историю когда трейдер
крупного банка из Европы
на продавал большое количество опционов put на индекс Nikkei
а потом проводя незаконные операции на все деньги банка
пытался удержать Nikkei от обвала
чтобы опционы put не вышли в деньги...

В итоге Nikkei обвалился и банк продали за 1 евро...

Так и сейчас какой то трейдер палит доллары и покупает Сбербанк
чтобы удержать индекс РТС от обвала

НО на выходных выйдет новость и в пн геп вниз и начнётся слив RI
сначала до 80 000 а затем и на 60 000

Удачи!


Линейная регрессия в помощь...

Добрый день!

Для всех QUIKеров в свободное пользование индикатор линейной регрессии (LUA).
Линейная регрессия в помощь...
Settings = 
{
        Name = "xLinReg",
        period = 128,
        deviation=2,
        line=
        {
                {
                        Name = "xLinReg",
                        Color = RGB(0, 0, 255),
                        Type = TYPE_LINE,
                        Width = 3
                },
                {
                        Name = "xLinReg",
                        Color = RGB(192, 0, 0),
                        Type = TYPE_LINE,
                        Width = 3
                },
                {
                        Name = "xLinReg",
                        Color = RGB(0, 128, 0),
                        Type = TYPE_LINE,
                        Width = 3
                }
        
        }
}



----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
function c_FF()
        
        local AMA={}
        local CC={}
        
        return function(ind, _p,_ddd)
                local period = _p
                local index = ind
                
                local vol = 0
        
                local sigma = 0
                local sigma2 = 0

                local aav = 0
                local bb = 0
                local ZZZ = 0


                                                
                if index == 1 then
                        AMA={}
                        CC={}
                        
                        CC[index]=(C(index)+H(index)+L(index))/3
                        AMA[index]=(C(index)+O(index))/2
                        
                        return nil
                end
                
                ------------------------------
                AMA[index]=AMA[index-1]
                CC[index]=(C(index)+H(index)+L(index))/3
                ---------------------

                if index < (_p) then return nil end
                ----------------------------------------------------
                                
                period =_p
                if index < period then period = index end
        --------------- 
                sigma=0
                sigma2=0
                aav=0
                ZZZ=0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        aav=aav+ZZZ
                        sigma=sigma+ZZZ*(-(period-1)/2+i)
                        sigma2=sigma2+(-(period-1)/2+i)^2
                end
                
                ------------------------
        bb=sigma/sigma2
        aav=aav/period
                
        AMA[index]=aav+bb*((period-1)/2) ---------линейная регрессия
        -------------------------------
                
                sigma=0
                sigma2=0
                sigma3 = 0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        sigma2=aav+bb*(-(period-1)/2+i)
                        sigma=sigma+(ZZZ-sigma2)^2

                end
                sigma=(sigma/period)^(1/2)
                
                
                for i = 1, period-1 do
                        ZZZ=aav+bb*(-(period-1)/2+i)
                        SetValue(index+i-period+1, 3, ZZZ)
                        SetValue(index+i-period+1, 2, ZZZ+sigma*_ddd)
                        SetValue(index+i-period+1, 1, ZZZ-sigma*_ddd)

                end     
                        SetValue(index+0-period+1, 3, nil)
                        SetValue(index+0-period+1, 2, nil)
                        SetValue(index+0-period+1, 1, nil)
                
                
                ----------------------------------
                                                                
                        return AMA[index]-sigma*_ddd,AMA[index]+sigma*_ddd, AMA[index]
                        
        end
end
----------------------------    ----------------------------    ----------------------------
----------------------------    ----------------------------    ----------------------------
----------------------------    ----------------------------    ----------------------------

function Init()
        myFF = c_FF()
        
        return 3
end
function OnCalculate(index)
        
        
        
        return myFF(index, Settings.period,Settings.deviation)
        
                
end


Продолжение: http://smart-lab.ru/blog/337978.php



Жижа. Кол-во открытых позиций на фьюче BRQ6

Бодрого дня!
Интересная картина. Падение нефти — рост открытых позиций. Рост нефти — падение открытых позиций.

Жижа. Кол-во открытых позиций на фьюче BRQ6


Ожидаем начала движения...

Все успели продать? =))

А рублику нашему, «деревянному», пофиг на все нефти =))))

сравниваем OpenKantu и tslab

Нашёл новую прикольную прогу.
Генератор свечных паттернов, бесплатная и с открытым кодом.
mechanicalforex.com/kantu-system-generator
И кстати у её создателей классный сайт, там много статей про создание и тестирование систем.
И у них есть платная версия с кучей кучей функций за около 300 баксов в первый год и 160 в следующие, https://asirikuy.com/newsite/
По описанию платная версия круче тслаба во многом. Так что когда тслаб поднимет цены то скорее всего переёду на неё,
она может торговать мосбиржу через мт5 протокол.


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

Государство гарантирует! 5.000.000 под ставку 9,54% годовых на 1,5 года. Выше и надежней, чем у Сбербанка.

Государство гарантирует! 5.000.000 под ставку 9,54% годовых на 1,5 года.  Выше и надежней, чем у Сбербанка.
Тонкости инвестирования в ОФЗ.

В этой статье я расскажу о привлекательности облигаций федерального займа для частного инвестора (ОФЗ).

Что такое ОФЗ?

ОФЗ – облигация, выпускаемая Министерством финансов РФ. Покупка облигации федерального займа означает, что вы даете деньги в долг государству. Государство, в свою очередь, дает обязательство не только выплатить долг держателю облигации, но и процентные выплаты по купонам.

Почему стоит инвестировать в ОФЗ?

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

Купон выплачивается как правило раз в полгода и фиксирован на весь срок обращения.



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

Первое видеоинтервью с Иваном Чуриловым (июнь 2016 года)

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

Недавно я дал интервью своему знакомому, который ведет свой канал на ютубе и группу вконтакте, но больше рассматривает не рыночные, а связанные с рынком события, экономические аспекты, он больше  общается с широкой аудиторией, больше с интересующимися рынком людьми, чем с трейдерами. Я конечно тот еще «докладчик», поэтому никогда не лез в СМИ, прошу быть снисходительным в этом плане. Но тем не менее видео набрало 11 000 просмотров и почти 600 лайков. И скоро выйдет второе интервью, думаю, оно будет даже лучше.



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

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