Избранное трейдера Евгений Михайлович

по

Как зачесть убытки, если торговые операции проводились через разных брокеров?

Добрый вечер всем. Хотела более подробно описать вопрос получения «нового» инвестиционного вычета (в продолжение темы…), но меня в последнее время спрашивают мои читатели практически об одном и том же – как зачесть убытки 2016 года, если было два или более брокеров, у одного получена прибыль, а других – убытки.

Для того, чтобы отразить данные в одной декларации 3-НДФЛ – вам надо взять справки 2-НДФЛ у всех брокеров и плюс запросить справку об убытках (налоговый регистр) у тех брокеров, где был получен убыток. Это важно.

Далее, вы вносите все данные с каждой справки 2-НДФЛ. Но по тому брокеру, где был убыток, вам надо будет внести не просто сумму дохода и сумму расхода, которые отражены в справке 2-НДФЛ, а отметить сумму расхода фактическую. Постараюсь подробнее объяснить – когда получен убыток, то справка 2-НДФЛ показывает сумму дохода, например, 500 000 рублей и такую же сумму расхода 500 000 рублей. Пусть расходы были по факту 700 000 рублей, но убыток в 200 000 рублей мы не увидим из справки 2-НДФЛ.

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

Таблица "Портфель" в 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, "Портфель: прибыли и убытки    © ramirzaev@mail.ru") 

   -- исполнять цикл, пока пользователь не остановит скрипт или не закроет окно таблицы
   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

10 советов 40-летнего 20-летним

не мое, но в свете постов о здоровье от 50-летных, думаю, актуально

10 советов 40-летнего 20-летним.

Достигнув сорока начинаешь поражаться, сколько же людей даже не дожило твоего возраста. Илья Ильф умер в 39. Максим Горький в 37. Да много кто умер.
Дожив до сорока начинаешь задумываться, достиг ли ты всего чего хотел, и много ли ты успел сделать.
Ты поражаешься, что Александр Македонский до твоего возраста не дожил, но уже успел завоевать полмира, оставив тысячелетние наследие. Осознавая свои достижения, ты понимаешь, что великие люди в твоем возрасте тебя превзошли многократно. Читая книги начинаешь ловить себя на мысли, что автор тебя явно младше (и думаешь, ну чему этот сопляк может тебя научить?).

Анализируя свой опыт хочется кое что посоветовать нынешним 20-летним с высоты, так сказать, прожитых лет.

Итак, 
1. Перестань бухать. Перестань курить. Как бы круто тебе это сейчас не казалось, бухать и курить это не айс. Больше того, я скажу тебе то, что может показаться банальностью, но бухать и курить крайне вредно для здоровья. Да, сейчас здоровье у тебя железное и никак тебя не беспокоит. Но будь уверен, что если продолжишь бухать/курить, через 20 лет ты поймешь, что здоровье свое ты загубил безвозвратно. Помни, что даже пиво ведет к выработке не свойственного тебе женского гормона эстрогена. К каким последствиям это приводит нагуглишь сам. Или можешь посмотреть на большинство нынешних сорокалетних. Хочешь быть таким — продолжай.



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

Почему лонг надо торговать на споте, а шорт на фьючерсе

Сразу оговорюсь, что утверждение, вынесенное в заголовок, не касается внутридневных операций, речь идет о позициях от нескольких дней до нескольких недель.  Итак перед вами график подневной доходности простейшей синтетической облигации «лонг  Сбербанк — шорт ближайший фьючерс на Сбербанк» с учетом расходов на перевкладывания из фьючерса во фьючерс за день до экспирации, дивидентов и средств ГО и вариационной маржи, необходимых для поддержания шортовой позиции.

Почему лонг надо торговать на споте, а шорт на фьючерсе

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

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

Теория десяти лучших дней

Западные эксперты утверждают, что (пассивный) инвестор всегда должен быть в рынке, быть вне рынка — самый главный инвесторский риск. Есть даже на первый взгляд бредовая теория, что за десятилетия роста индекса основной результат дают всего 10-20 дней. Можно даже найти исследование.

Если лень читать, суть исследования такова. За 20 лет (1995-2014) индекс S&P 500 вырос в 6,5 раз, принося 9,85% годовых. Если из него убрать всего 10 лучших дней, то сумма вложений вырастет всего в 3,2 раза (6,1%). Далее ещё хуже, если интересно, пройдите по ссылке и посмотрите картинку. На минутку, 10 дней из 20 лет (~5000 рабочих дней) — это всего 0,2% времени.


Но тема не была бы интересна, если бы я её не переложил на российские реалии. У меня сразу две таблички — на индексе полной доходности и на обычном. Из-за того, что ИПД у нас считается всего 8 лет.

Поехали.

ММВБ полной доходности (01.2009 — 07.2017)

Данные были взяты с сайта Мосбиржи, на каждый день был высчитан прирост в пунктах/рублях и процентах. Потом строки были отсортированы по этому приросту по убыванию.



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

продолжение поста про зож

Ок, по просьбе трудящихся продолжаем нашу передачу на крипторадио про зож.  smart-lab.ru/blog/409478.php
всё основано на собственном опыте и в результате анализа десятков книг по теме.


1. Позитивчик.
Как-то не хочется заниматься миссионерством, но вообщем нужно мыслить позитивно. Как это делать это вопрос даже не на миллион баксов. Давно был такой фильм «секрет» — о силе наших намерений и позитива, возможно кому-то он покажется сладкой приторной фигнёй, ок, мне он тоже таким в своё время показался. Позитив не приведёт к исполнению всех желаний но в целом он улучшит качество жизни и здоровье значительно.

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

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

настоящий трейдер должен быть долгожителем

Когда у тебя появляется капитал и проверенная система то смысл долгожительства резко повышается. Также есть такой момент что первую половину жизни люди часто вынуждены тратить на всякую фигню и необходимые вещи, школа, универ, работка, баборабство, геймерство, накопление бабла и знаний. Получается что мало кто живёт полноценно до тридцатника, хмм, можно сказать что вообще мало кто живёт полноценно, но давайте сделаем вид что я этого не писал, ато за грустняшку плюсика не будет.


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

Введение в ФА. Моделирование портфелей.

    • 12 июня 2017, 12:37
    • |
    • God
  • Еще

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


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