Избранное трейдера ✔Бизне$$ Ангел ✰
Доброго времени суток коллеги. Я редко пишу на форуме с 2012 года всего несколько статей (сообщений), надеюсь они были полезными и помогли Вам. Наступил новый 2020 год, время подарков…
Каждый трейдер со временем хочет автоматизировать свой труд, облегчить его — создать алгоритмический Грааль. Я очень рассчитываю, что мой подарок поможет многим в этом трудном, не легком, но очень и очень интересном пути.
Подарок – это видеоуроки по программированию торговых роботов на языке С# через торговую платформу Quik. Используется библиотека с открытым исходным кодом которая лежит на GitHub https://github.com/finsight/QUIKSharp
Сами уроки лежат на YouTube вот ссылка на плейлист https://clck.ru/LRGZB
На смартлабике периодически появляются топики, в которых раскрывается тема, как пораньше уйти на пенсию, как будто в этом и есть истинное счастье для человека. Лично я придерживаюсь мнения, что не нужно заниматься той работой, которая тебе не нравится, а если работа нравится, и ты от нее получаешь удовольствие, то какой смысл стремиться ее бросить и уйти на пенсию? Никакого! А если никакого смысла нет, то и нет никакого смысла в ущемления себя во многом, ради этой призрачной пенсии.
Уже за более чем 11 лет плотного контакта с фондовым рынком, я для себя нашел грааль. Причем грааль заключается не в процентах заработка, а в счастье, а точнее в такой торговле, которая у тебя вызывает минимальное выделение такого гормона, как кортизол. (гормон стресса). Чем меньше кортизола, тем ближе вы к счастью. Для многих путь к счастью будет не торговать вообще.
Лично мой грааль заключается первоначально в том, что не нужно хранить в инвестициях и спекуляциях больше той суммы, с которой вы не готовы расстаться, а тем более делать это самоцелью своей жизни, ради каких-то призрачных пенсий или еще чего ни будь. Заработал на то, что ты хочешь, снимай и покупай, делать подарки себе и своим близким это настоящее удовольствие.
Всем привет!
В преддверии 2020 года, в связи с необходимостью декларировать наличие зарубежного брокерского счета, решил разобраться в вопросах налогообложения при работе с Interactive Brokers. В процессе придумал алгоритм по оптимизации налогоблагаемого дохода.
Правила формирования налоговой отчетности при работе с IB достаточно простые (есть нюансы, об этом напишу после нового года, когда нужно будет считать налог):
В итоге получается сумма, с которой и нужно посчитать налог.
Я человек ленивый и решил, что запрограммирую эту историю и автоматически буду рассчитывать налог. Подобное есть у Оксаны Гафаити, но уж больно дорого. Так вот, в процессе разработки мне пришла в голову идея по оптимизации налогов. Если кратко, нужно посчитать доход до нового года. Потом найти сделки с убытком, закрыть и открыть их, тем самым снизить налогооблагаемый доход.
Большое спасибо Виталию Курбаковскому, что опубликовал свою обобщенную модель ценообразования опционов (1, 2, 3, 4, 5). Давно хотелось подобную модель, с минимум параметров, физический смысл которых был бы более-менее понятен. Чтобы можно было осознано свои параметры модели задавать, а не подгоняться под рынок и слепо за ним идти. Модель, которую использует биржа (с шестью параметрами ABCDES) под такой запрос не подходит. Попробуй там пойми, все ли шесть параметров сейчас имеют справедливые и оправданные значения, или с каким-то из параметров можно поспорить. И слишком уж она гибкая. Бывало смотришь — выскочила какая-то котировка за модель, только соберешься по ней ударить, а программа параметры модели подкорректировала и услужливо изогнула кривую с учетом новой котировки. И то, что только что
выбивалось за модель, стало ей соответствовать. Пробовал еще модель китайской улыбки, там и параметров поменьше и смысл у них попонятнее, но очень уж плохо она подгоняется под рынок. И тут, на счастье, Виталий поделился своей моделью и все подробно объяснил. Реализовал у себя и оказалось — то что надо. И в рынок хорошо вписывается, и параметры имеет понятные.
Подходит к концу текущий 2019 год и многие из вас уже сейчас задумываются над тем, как правильно зачесть убытки.
А может у кого-то из вас прошлый год был прибыльный, и вы сможете уже сейчас подготовить документы для сальдирования убытка прошлых лет.
Я специально для вас подготовила видео, в котором я рассказываю, как заполнить декларацию 3-НДФЛ (на примере 2018 года) в программе налоговой службы. Это удобно, быстро. Вы сами сможете все увидеть.
Если у вас будут вопросы, пишите в комментариях под видео или тут. Я постараюсь дать ответ на каждый ваш вопрос.
В видео идет описание:
--[[ параметры: Procent - процент зигзага --]] Settings={ Name="ZIGZAGPROF", Procent=1, line= { { Name = "cur1", Type =TYPE_LINE, Width = 2, Color = RGB(0,0, 0) }, { Name = "cur2", Type =TYPE_LINE, Width = 2, Color = RGB(0,0, 255) } } } function Init() y1 = nil y2 = nil x1 = 1 x2 = 1 return 1 end function OnCalculate(index) de = Settings.Procent delt = 0.01 vl = C(index) if index == 1 then y1 = vl y2 = vl else if C(index) > y1*(1+de/100) and y1 < y2 then x2 = x1 y2 = y1 x1 = index y1 = C(index) end if C(index) > y1 and C(index) > y2 then x1 = index y1 = C(index) end if C(index) < y1*(1-de/100) and y1 > y2 then x2 = x1 y2 = y1 x1 = index y1 = C(index) end if C(index) < y1 and C(index) < y2 then x1 = index y1 = C(index) end end if x1 ~= index then curfrom = x1 curto = index else curfrom = x2 curto = x1 end --[[ if curto ~= curfrom and curfrom ~= nil and curto ~= nil then if C(curto) ~= nil and C(curfrom) ~= nil then k = (C(curto)- C(curfrom))/(curto- curfrom) for i = curfrom, index do curv = i*k + C(curto) - curto*k SetValue(i, 1, curv) end end end --]] lev = nil if x1 ~= x2 then k = (C(x1)- C(x2))/(x1- x2) maxd = 0 for i = x2, x1 do lev = i*k + C(x1) - x1*k if C(x2) > C(x1) and lev <= H(i) then if maxd < H(i) - lev then maxd = H(i) - lev end --maxd = 0.5 end if C(x2) < C(x1) and lev >= L(i) then if maxd > L(i) - lev then maxd = L(i) - lev end --maxd = -0.5 end end lev = nil --[[if x1 < index and ( C(x2) > C(x1) and C(x1) < C(index) or C(x2) < C(x1) and C(x1) > C(index) ) then --]] lev = index*k + C(x1) - x1*k + maxd --end --[[ map = 10 lev = 0 if index-map+1 > 0 then for i = index-map+1, index do lev = lev + C(i) end lev = lev/map ma = lev end map = 30 lev2 = 0 if index-map+1 > 0 then for i = index-map+1, index do lev2 = lev2 + C(i) end lev2 = lev2/map ma2 = lev2 end if C(x2) > C(x1) and C(x1) < C(index) and C(index) > lev and C(index) - C(x1) > C(index)*delt or C(x2) > C(x1) and C(x1) < C(index) and C(index) > lev2 then lev = C(x1)--*(1-delt) prev = lev else if C(x2) < C(x1) and C(x1) > C(index) and C(index) < lev and C(x1) - C(index) > C(index)*delt or C(x2) < C(x1) and C(x1) > C(index) and C(index) < lev2 then lev = C(x1)--*(1+delt) prev = lev else lev = lev2 end end if C(x1) > C(x2) and ( lev < C(index) or prev == C(x2) ) then lev = C(x2)--*(1+delt) prev = lev end if C(x1) < C(x2) and ( lev > C(index) or prev == C(x2) ) then lev = C(x2)--*(1-delt) prev = lev end if C(x1) < C(x2) and ( lev < C(index) or prev == C(x1) ) then lev = C(x1) prev = lev end if C(x1) > C(x2) and ( lev > C(index) or prev == C(x1) ) then lev = C(x1) prev = lev end --]] end return lev end
В I полугодии 2019 года АО «Роснано» получило чистый убыток по МСФО в 13,9 млрд рублей против 2,2 млрд рублей чистой прибыли годом ранее, следует из отчета компании. В компании полугодовые результаты назвали ожидаемыми.
«Убыток сформирован, в основном, снижением справедливой стоимости по отдельным инвестпроектам, что объясняется, в первую очередь, внешним фактором – негативным влиянием курсовых разниц. Также существенное негативное влияние на финансовый результат продолжает оказывать высокий уровень расходов по обслуживанию внешнего долга, не характерный для фондов прямых и венчурных инвестиций», – сообщили в пресс-службе АО.
Финансовый результат «Роснано» от активов, оцениваемых по справедливой стоимости через прибыль или убыток, показал отрицательную величину (-8,2 млрд рублей).
Мда. Охренеть. А какже? Как как же вот это короткое заявление всего полгода назад? (посмотрите-оно всего 15сек)
https://youtu.be/_lzr2UXAI1g
--[[ параметры: Procent - процент зигзага --]] Settings={ Name="ZIGZAGPROF", Procent=1, line= { { Name = "cur1", Type =TYPE_LINE, Width = 2, Color = RGB(0,0, 0) } } } function Init() y1 = nil y2 = nil x1 = 1 x2 = 1 return 1 end function OnCalculate(index) de = Settings.Procent vl = C(index) if index == 1 then y1 = vl y2 = vl else if C(index) > y1*(1+de/100) and y1 < y2 then x2 = x1 y2 = y1 x1 = index y1 = C(index) end if C(index) > y1 and C(index) > y2 then x1 = index y1 = C(index) end if C(index) < y1*(1-de/100) and y1 > y2 then x2 = x1 y2 = y1 x1 = index y1 = C(index) end if C(index) < y1 and C(index) < y2 then x1 = index y1 = C(index) end end if x1 ~= index then curfrom = x1 curto = index else curfrom = x2 curto = x1 end if curto ~= curfrom and curfrom ~= nil and curto ~= nil then if C(curto) ~= nil and C(curfrom) ~= nil then k = (C(curto)- C(curfrom))/(curto- curfrom) for i = curfrom, index do curv = i*k + C(curto) - curto*k SetValue(i, 1, curv) end end end return vl end