Избранное трейдера Камиль

по

Трейдер и его рабочее место [Часть 2. Системник]

    • 11 октября 2017, 13:37
    • |
    • p1x3
  • Еще
Вчера выложил информацию про мониторы для трейдинга. (Рассказал какие мониторы выбрать, стоимость, дюймы, торговля на 4к телевизоре, и показал эволюцию своего рабочего стола за 8 лет, фишки и нюансы) 
Трейдер и его рабочее место [Часть 2. Системник]
Ссылка на пост https://smart-lab.ru/blog/425341.php


Часть 2. Рабочий стол трейдера: Системник

 

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

Трейдер и его рабочее место [Часть 2. Системник]



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

еще немного про нефть в рублях

    • 04 октября 2017, 20:05
    • |
    • gardist
  • Еще
по сложившейся закономерности нефть в рублях удваивается примерно каждые 5-6 лет.
2 года роста и новое «плато» затишья:
еще немного про нефть в рублях
этот рост связан с постоянным поступлением новых денег в систему (М2):
еще немного про нефть в рублях

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

"Святой грааль" для инвесторов по версии Рэя Далио

Взято из https://nakhusha.livejournal.com/

Алекс, совладелец ресурса macro-ops.com, делится с нами своим открытием по поводу скрытой власти корреляции.
Оригинал DAILY SPECULATIONS: THE HOLY GRAIL OF INVESTING


Картинка из книги Рэя Далио об откровениях, которые перевернули жизнь великого инвестора (“Principles”).

"Святой грааль" для инвесторов по версии Рэя Далио

Она иллюстрирует силу корреляции в снижении риска и увеличении доходности в правильно диверсифицированном портфеле. Как видно из графика, можно иметь в портфеле 2000 инструментов с 60% корреляцией, но риск отклонения снизится только с 10% до 8%. При этом, имея на руках только пять инструментов с 10% корреляцией между ними, можно получить снижение риска с 10% до 6%. В два раза больше! И на Рэя Далио такое открытие повлияло как на Эйнштейна его формула E=mc2.

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

Все виды инвестиционного вычета – особенности возврата налога

Как я обещала, я собрала информацию об инвестиционном вычете (у него три подвида) и представляю ее в форме таблицы, чтобы было удобно смотреть.

Добрый день всем!

Такое ощущение, что визуально таблица не вся помещается. Кому неудобно смотреть таблицу, ниже идет картинками информация...

 

Положительный финансовый результат от продажи (погашении) ценных бумаг

Сумма, внесенная на ИИС, но не более 400 тыс.руб. в год

Положительный финансовый результат, полученный по операциям на ИИС

Условия получения вычета

1. Ценные бумаги находились в собственности более трех лет;

2. Ценные бумаги были приобретены с 02.01.2014 года;

3. Ценные бумаги обращаются на ОРЦБ;

4. Вы являетесь налоговым резидентом в том календарном году, в котором вы получили доход от продажи;



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

Анализ сделок участников ЛЧИ

Конкурс ЛЧИ-2017 в разгаре и у нас c @r0man уже готова новая версия для анализа участников конкурса 2017 года.
Напоминаю, что там есть:

1. Показывает все сделки на выбранном инструменте с размером выбранной свечи (график может быть как статичен, так и интерактивный),
дополнительно показывается накопленная позиция, PnL, доход и просадка
2. Приводится подробная текстовая статистика по сделкам, как по полным трейдам (открытие-закрытие), так и по дням. Приводятся диаграммы доходности, просадки по дням
3. Имеется подробнейшая таблица (будет позже, по мере накопления данных) со статистикой по всем участникам и всех их торгуемым инструментам за все время конкурса 
4. Приводится диаграмма рассеяния результатов участника выбранного участника, относительно всех участников по всем трем площадкам (срез рынка)
5. Также имеется подробная статистика по всем участвующим брокерам
6. И дополнительно имеется возможность выгрузить графики, таблицу в файлы doc или 

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

За 2017 год можно уже получать новый «подвид» инвестиционного вычета

Доброго времени суток всем. Хочу рассказать о том, что наступило время получения «подвида» (если можно так сказать) инвестиционного вычета. Чтобы было понятно, напомню, что на основании статьи 219.1 НК РФ можно получить три вида инвестиционного вычета:

1) Инвестиционный вычет в размере доходов от продажи ценных бумаг;

2) Инвестиционный вычет в сумме денежных средств, внесенных на индивидуальный инвестиционный счет;

3) Инвестиционный вычет в сумме дохода по операциям, учитываемым на индивидуальном инвестиционном счете.

Мы в последнее время привыкли говорить (и уже многие получили такой вид вычета) о получении вычета с суммы, внесенной на индивидуальный инвестиционный счет. Я хочу рассказать о вычете, который предусмотрен подпунктом 1 пункта 1 статьи 219.1 НК РФ – вычет в размере положительного финансового результата, полученного налогоплательщиком от реализации (погашения) ценной бумаги. Чтобы получить такой вычет, важно, чтобы ценная бумага принадлежала налогоплательщику более трех лет. Вот почему ранее мы не рассматривали и не получали такой вычет. Основание: Федеральный закон от 28.12.2013 г. № 420-ФЗ (статья 5).

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

Управление капиталом портфеля алгоритмических стратегий.

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

Рассмотрим разные варианты управления капиталом при торговле портфелем стратегий.

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

1. Фиксированный лот без реинвестирования. Просто суммируем две кривые прироста капитала. В данном случае все просто, одна стратегия делает прибыль, другая добавляет просадки. При раздельном тестировании этот метод позволяет наиболее точно оценить стратегию. Минус метода в том, что при значительном изменении капитала (вывод или занос денег) нужно править рабочий обьем. 

2. Каждой стратегии выделяется равный процент депозита, прибыль реинвестируется, либо уменьшается обьем при просадке счета
Тут вроде все понятно, этот подход все любят. На прибыль добавляемся, при убытке сокращаем лот. Если одна стратегия сильно льет, а вторая немного зарабатывает, то рабочий обьем режется на всех стратегиях, так как общий размер депозита сокращается. И тут возникает вариант 3, про который почему-то никто не говорит. 

3. Создаем условия, когда каждая стратегия работает независимо (одна стратегия — один счет, стартовая сумма для счетов одинаковая), прибыль реинвестируется, либо уменьшается обьем при просадке счета. При этом каждое направление входа системы (лонг или шорт) рассматривается как отдельно взятая стратегия. Почему так? Возьмем простую трендследящую стратегию. На тренде вверх имеем хорошие сделки от лонга, но на резких и коротких коррекциях тренда шорт как правило не зарабатывает. И наоборот для тренда вниз. В этом случае мы будем резать лот на убыточном направлении стратегии и добавлять на прибыльном. 

4. Доработка варианта 3. К каждой отдельно взятой стратегии добавляем элемент equity-trading. В коде стратегии отслеживаем изменение капитала (start_deposit +- netprofit), параллельно заполняем массив финансового результата при торговле 1 лотом, вводим порог допустимой просадки и при ее достижении выключаем стратегию (торгуем минимально возможным обьемом — 1 контракт или 1 акция). При восстановлении теоретической кривой капитала выше порога просадки — возобновляем работу полным обьемом. Порог просадки задается исходя из прошлых данных бэктеста, либо на глаз. Сильно зажимать порог нельзя. На глаз у меня получилось, что максимальная просадка стратегии с учетом процента капитала выделяемого на стратегию примерно равняется 3% на весь капитал. То есть, если стратегия торгует на 30% капитала, то пороговое значение должно быть примерно 10%. Здесь возможны исключения, например для стратегий с малой просадкой можно задавать пороговое значение чуть больше максимальной исторической просадки.  
Мои тесты показывают, что при применении варианта 4 общая прибыль незначительно снижается, но так же снижается и просадка. Соотношение профит-просадка увеличивается примерно на 20%, для некоторых стратегий соотношение увеличивается в два раза. 


Апдейт

Для примера equity-trading я рассмотрю трендовую стратегию на сбербанк.
Входные условия — только шорт, 100 контрактов фиксированный лот, без пирамидинга. С лонгом все понятно, последние пару лет стратегия зарабатывает без значительных просадок. 
Эквити с фиксированным лотом, 100 контратктов.
Управление капиталом портфеля алгоритмических стратегий.



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

Про Quik, про карман, про лимитные и стоп-заявки

Здравствуйте дорогие мои! Вы наверно уже соскучились?
Хочу поделиться с вами классной штукой в квике под названием «Карман».
Уверен, что не все знают про эту функцию.

Quik карман

Для чего нужен карман?

Представьте, что вы хотите купить ценную бумагу по определенной цене. Пусть это будет всеми известный Газпром. Вы хотите купить акцию Газпрома по цене 100р. Текущая цена болтается в ценовом коридоре 120-130.

Вы выставляете рыночную заявку на покупку в стакан по цене 100р. Так как за весь день цена не доходит до уровня 100р, то на следующее утро ваша заявка снимается. И так повторяется изо дня в день, т.к. Вы упорный и терпеливый и вот уже полгода ждете свой Газпром по 100.

А теперь представьте, что таких заявок у вас несколько. У меня, например, более 30. Каждое утро выставлять лимитированные заявки вручную утомительно. Нужен другой выход.

( Читать дальше )
  • обсудить на форуме:
  • QUIK

Таблица "Портфель" в QUIKе


    Представляю таблицу для портфельных инвестиций. В квике до сих пор такого нет. Цвет строки меняется если Прибыль%<>5%. Обновление каждые 5 сек.
Таблица "Портфель" в QUIKе

Для её создания необходимо:
1. Создать файл «tablePortfolio.txt» в папке «C:\QUIK\Scripts». Если папки нет, создать её.
2. Скопировать туда код скрипта
3. Сохранить, выбрав кодировку «ANSI», иначе вместо русских букв могут быть кракозябры.
4. Сменить расширение файла с ".txt" на ".lua"
5. Запустить скрипт командой Сервисы->Lua  скрипты->Добавить (выбрать файл tablePortfolio.lua) ->Запустить

Код скрипта:
IsRun = true
class_code="TQBR"

function main()
   -- Получает доступный id для создания
   t_id = AllocTable()   
   
   -- добавить столбцы
   AddColumn(t_id, 1, "Бумага",       true, QTABLE_STRING_TYPE, 20)
   AddColumn(t_id, 2, "Кол-во",       true, QTABLE_INT_TYPE,     7)
   AddColumn(t_id, 3, "Цена покупки", true, QTABLE_DOUBLE_TYPE, 14)
   AddColumn(t_id, 4, "Цена текущая", true, QTABLE_DOUBLE_TYPE,   14)
   AddColumn(t_id, 5, "Прибыль, р",   true, QTABLE_DOUBLE_TYPE,   14)
   AddColumn(t_id, 6, "Прибыль, %",   true, QTABLE_DOUBLE_TYPE, 14)
   t = CreateWindow(t_id)

   for iRow=1, getNumberOf("depo_limits")-1, 1 do
      rowInPortfolioTable = getItem("depo_limits", iRow) -- получить текущую строку из таблицы "Лимиты по бумагам"            
      qtyBoughtLots  = tonumber(rowInPortfolioTable.currentbal)         
      limitKind = rowInPortfolioTable.limit_kind          
      if qtyBoughtLots>0 and limitKind<1 then      
         InsertRow(t_id, iRow)-- добавить новую строку вниз таблицы   
      end
   end
   local rows, columns = GetTableSize (t_id)
   InsertRow(t_id, rows+1) -- добавить новую строку вниз таблицы для "Итого"
   
   SetWindowCaption(t_id, "Портфель: прибыли и убытки    © [email protected]") 

   -- исполнять цикл, пока пользователь не остановит скрипт или не закроет окно таблицы
   while IsRun do 
      if IsWindowClosed(t_id)==true then
         IsRun=false
      end

      local currentPrice=0
      local qtyBoughtLots=0
      local profitAbs = 0
      local profitPerc = 0
      local currentSecCode= ""
      local fullNameOfInstrument = ""
      local limitKind = 0
      local rowInPortfolioTable = {}    -- строка из таблицы "Лимиты по бумагам"
      local tableInstrument = {}    -- данные "Таблицы текущих торгов"
      local iRowInOutTable = 1
	  local totalInvest = 0
	  local totalPortfolio = 0
	  local totalProfit = 0
	  local totalPercent = 0

      for iRow=0, getNumberOf("depo_limits")-1, 1 do
         rowInPortfolioTable = getItem("depo_limits", iRow) -- получить текущую строку из таблицы "Лимиты по бумагам"         
         
         qtyBoughtLots  = tonumber(rowInPortfolioTable.currentbal)
         
         limitKind = rowInPortfolioTable.limit_kind 
         
         if qtyBoughtLots>0 and limitKind<1    then      -- если кол-во лотов >0 и тип лимита T0
            currentSecCode = rowInPortfolioTable.sec_code
            fullNameOfInstrument =  tostring(getParamEx(class_code, currentSecCode, "SHORTNAME").param_image or "0") --"LONGNAME"
            avgPrice       = tonumber(rowInPortfolioTable.awg_position_price)                  
            currentPrice = GetAskPrice(currentSecCode)   
            profitAbs = (currentPrice-avgPrice)*qtyBoughtLots      
            profitPerc    = 100*currentPrice/avgPrice   - 100
			
			totalInvest = totalInvest + avgPrice*qtyBoughtLots  
			totalPortfolio = totalPortfolio + currentPrice*qtyBoughtLots   
            
            SetCell(t_id, iRowInOutTable, 1, fullNameOfInstrument) -- "Бумага"
            SetCell(t_id, iRowInOutTable, 2, tostring(qtyBoughtLots)) -- "Кол-во"RemoveZero(tostring(qtyBoughtLots)))
            SetCell(t_id, iRowInOutTable, 3, tostring( math_round(avgPrice, 3) ))  -- tostring(avgPrice))   -- "Цена покупки"
            SetCell(t_id, iRowInOutTable, 4, RemoveZero(tostring(currentPrice)))   -- "Цена текущая"
            SetCell(t_id, iRowInOutTable, 5, tostring( math_round( profitAbs, 0)) ) -- "Прибыль, р"
            SetCell(t_id, iRowInOutTable, 6, tostring(math_round(profitPerc, 1)) .."%") -- "Прибыль, %"
            
            if profitPerc >5 then       -- окрашиваем
               ColourRowInGreen(iRowInOutTable)
            elseif profitPerc<-5 then 
               ColourRowInRed(iRowInOutTable)
            else 
               ColourRowInYellow(iRowInOutTable)
            end   
            iRowInOutTable = iRowInOutTable+1
         end
      end
      totalProfit = totalPortfolio - totalInvest 
      totalPercent   = 100*totalProfit/totalInvest  
	  SetCell(t_id, iRowInOutTable, 1, "Итого") 
      SetCell(t_id, iRowInOutTable, 3, tostring( math_round(totalInvest, 0) ))  
      SetCell(t_id, iRowInOutTable, 4, tostring( math_round(totalPortfolio, 0)))  
      SetCell(t_id, iRowInOutTable, 5, tostring( math_round( totalProfit, 0)) ) 
      SetCell(t_id, iRowInOutTable, 6, tostring(math_round(totalPercent, 1)) .."%") 
	  
	  if profitPerc >5 then       -- окрашиваем
               ColourRowInGreen(iRowInOutTable)
            elseif profitPerc<-5 then 
               ColourRowInRed(iRowInOutTable)
            else 
               ColourRowInYellow(iRowInOutTable)
            end   
            iRowInOutTable = iRowInOutTable+1
      sleep(5000) -- пауза 5 сек.
      end
   --message("script table portfolio finished")
end


function ColourRowInRed(num_row)
   SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(255,150,150), RGB(0,0,0), RGB(255,150,150), RGB(0,0,0))
end
function ColourRowInYellow(num_row)
   SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(255,255,200), RGB(0,0,0), RGB(255,255,200), RGB(0,0,0))
end
function ColourRowInGreen(num_row)
   SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(150,255,150), RGB(0,0,0), RGB(150,255,150), RGB(0,0,0))
end
function GetAskPrice(inp_Sec_Code )
   local ask = tostring(getParamEx(class_code, inp_Sec_Code, "OFFER").param_value or 0)
   return ask
end
-- Округляет число до указанной точности
function math_round (num, idp)
   local mult = 10^(idp or 0)
   return math.floor(num * mult + 0.5) / mult
end
-- удаление точки и нулей после нее
function RemoveZero(str)
   while (string.sub(str,-1) == "0" and str ~= "0") do
      str = string.sub(str,1,-2)
   end
   if (string.sub(str,-1) == ".") then 
      str = string.sub(str,1,-2)
   end   
   return str
end
function OnStop()
   DestroyTable(t_id)
   IsRun = false   
end
  • обсудить на форуме:
  • QUIK

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