Избранное трейдера Краснов Геннадий
Материал, который я готовила год, сегодня вы можете скачать абсолютно бесплатно!
Это 85 страниц, на которых написано все про налоги.
⠀
! Более того, сегодня вы можете НЕ соблюдать авторские права, и поделиться этим гайдом со всеми вашими знакомыми!
⠀
Предистория
⠀
Год я по мелким крупицам собирала все, что касается вопроса налогообложения для частных инвесторов.
Этот материал = год моей жизни.
Запросы в Минфин, общение с налоговой, сопоставление статей налогового кодекса, выявление всех спорных моментов… обзвон всех брокеров для того, чтобы выяснить, как они считают налоговую базу по спорным моментам..
⠀
Кому-то может показаться, что написать 80 страниц авторского текста по налогам не так сложно… но это был год, когда я каждый день занималась созданием этого материала.
⠀И на сегодняшний день этот материал нагло украден, а на его базе готовится несколько курсов «коллегами блогерами».
📚 В последнее время среди моего окружения появилось много людей, интересующихся инвестициями, что весьма неудивительно, ведь низкие проценты по вкладам заставляют искать альтернативные варианты сохранения и преумножения заработанного капитала.
Кроме этого, нужно отдать должное брокерским компаниям, которые применяют агрессивный маркетинг для продвижения своих услуг. Часто многие слышат разговоры о существовании такого понятия, как индивидуальный инвестиционный счёта (ИИС), но не все понимают, в чём его смысл и какие у него есть плюсы и минусы.Хочу раскрыть эту тему с точки зрения инвестора, и очень надеюсь, что данный пост окажется полезным для кого-то из вас.
📌 Итак, ИИС — это брокерский счёт с льготным режимом налогообложения, с помощью которого можно самостоятельно вести торговлю на бирже или через управляющую компанию. Для государства важно развитие частного инвестирования и повышения инвестиционной культуры. Это в первую очередь положительно влияет на экономическую ситуацию внутри страны и в какой-то степени на мировую, через развитие бизнеса, выходящего на мировую арену. Взамен государство готово поощрять инвесторов путём предоставления налоговых льгот.
Персональные данные открыты для всех! Фантастика? Нет — это реальность!
В новостной ленте однажды прочла информацию о том, что страховые компании по разным причинам массово аннулируют договора е-ОСАГО, не возвращая при этом стоимость полиса. На всякий случай, решила проверить свой полис е-ОСАГО на официальном сайте РСА, используя только государственный номер автомобиля. То, что я узнала и увидела, повергло в шок. Имя, отчество, дата рождения, первая буква фамилии собственника и страхователя и это, не считая всей информации об авто — всё можно узнать, зная только госномер машины!
Всегда считала, что использование в совокупности имени, отчества, даты рождения, тем более с первой буквой фамилии — это 100% персональные данные. Оказывается, нет!!!
Ответ из Роскомнадзора по моей жалобе на РСА пришел на днях (выдержки из ответа):
"… В соответствии с п. 1 ст. 3 Федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных» персональные данные — любая информация, относящаяся к прямо или косвенно определенному или определяемому физическому лицу (субъекту персональных данных)...
...
В соответствии с п. 9 ст. 3 Федерального закона «О персональных данных» обезличивание персональных данных — действия, в результате которых становится невозможным без использования дополнительной информации определить принадлежность персональных данных конкретному субъекту персональных данных. В случае обезличивания персональных данных обеспечения условий конфиденциальности таких данных не требуется.
Сообщаем, что по результатам изучения информации, содержащейся в разделе «Сведения о договоре ОСАГО» на сайте Российского Союза Автостраховщиков, Управлением Роскомнадзора установлено, что в данном разделе содержится только информация о транспортном средстве, первая буква фамилии, имя, отчество, дата рождения, в связи с чем, по данной информации невозможно однозначно определить субъекта персональных данных, т.е. с персональными данными осуществлено обезличивание.
Соответственно, нарушений действующего законодательства в области персональных данных в настоящий момент НЕ УСМАТРИВАЕТСЯ..."
--
--СКРИПТ Niki для smart-lab.ru 260321 ревизия
---------------------------------------
-- Флаг для поддержания работы функции main
is_run=true
fut_limit_old =0
fut_limit_max =0
kgo_old =0.5
function main( ... ) -- чудотворная функция внутри которой все работает
--"r": режим чтения (по умолчанию);
--"w": режим записи;
--"a": режим добавления;
--"r+": режим обновления, все предыдущие данные сохраняются;
--"w+": режим обновления, все предыдущие данные стираются;
--"a+": режим добавления и обновления, предыдущие данные сохраняются, запись разрешена только в конец файла. b бинарные файлы
-- Пытается открыть файл в режиме "чтения/записи"
f = io.open(getScriptPath().."\\Limits.txt","a");
-- Если файл не существует
if f == nil then
-- Создает файл в режиме "записи"
f = io.open(getScriptPath().."\\Limits.txt","w");
-- Закрывает файл
f:close();
-- Открывает уже существующий файл в режиме "чтения/записи"
f = io.open(getScriptPath().."\\Limits.txt","a");
end;
while is_run do
sleep(1000) -- 1000 = 1 секунда --волшебная пауза в работе скрипта
if getFuturesLimit("A111", "A111111", 0, "SUR") ~= nil then -- защита от пустых таблиц -- впишите ваши данные из Квика
-- %c - дата и время (по-умолчанию) (пример, 03/22/15 22:28:11)
-- %x - дата (пример, 09/16/98)
-- %X - время (пример, 23:48:10)
seconds = os.time(); -- в seconds будет значение 1427052491
date1 = os.date("%x",seconds); -- %c - дата (по-умолчанию) (пример, 03/22/15 22:28:11)
time1 = os.date("%X",seconds); -- %c - время (по-умолчанию) (пример, 03/22/15 22:28:11)
--[[
liquidity_coef --NUMBER Коэффициент ликвидности
cbp_prev_limit --NUMBER Предыдущий лимит открытых позиций на спот-рынке»
cbplimit --NUMBER Лимит открытых позиций
cbplused --NUMBER Текущие чистые позиции
cbplplanned --NUMBER Плановые чистые позиции
varmargin --NUMBER Вариационная маржа
accruedint --NUMBER Накопленный доход
cbplused_for_orders --NUMBER Текущие чистые позиции (под заявки)
cbplused_for_positions --NUMBER Текущие чистые позиции (под открытые позиции)
options_premium --NUMBER Премия по опционам
ts_comission --NUMBER Биржевые сборы
kgo --NUMBER Коэффициент клиентского гарантийного обеспечения
currcode --STRING Валюта, в которой транслируется ограничение
real_varmargin --NUMBER Реально начисленная в ходе клиринга вариационная маржа. Отображается с точностью до 2 двух знаков. При этом в поле «varmargin» транслируется вариационная маржа, рассчитанная с учетом установленных границ изменения цены
--]]
fut_limit = getFuturesLimit("A111", "A111111", 0, "SUR").cbplused_for_positions -- NUMBER Текущие чистые позиции (под открытые позиции) -- впишите ваши данные из Квика
varmargin = getFuturesLimit("A111", "A111111", 0, "SUR").varmargin -- впишите ваши данные из Квика
accruedint = getFuturesLimit("A111", "A111111", 0, "SUR").accruedint -- впишите ваши данные из Квика
ts_comission = getFuturesLimit("A111", "A111111", 0, "SUR").ts_comission -- впишите ваши данные из Квика
kgo = getFuturesLimit("A111", "A111111", 0, "SUR").kgo -- впишите ваши данные из Квика
profit = varmargin + accruedint;
--if math.abs(fut_limit-fut_limit_old) > 10000 then -- каждые 10000 рублей изменения ГО, слишком частый файл печати
if math.abs(fut_limit-fut_limit_old) > 100000 then -- каждые 100000 рублей изменения ГО, настраиваем под себя.
open_lim = getFuturesLimit("A111", "A111111", 0, "SUR").cbplimit --NUMBER Лимит открытых позиций
f:write( tostring(date1).." "..tostring(time1).." ".."ГО: "..tostring(fut_limit).." ".."Профит: "..tostring(profit).." ".."Комис: "..tostring(ts_comission).." ".. "КГО: "..tostring(kgo).." Lim: "..tostring(open_lim).. "\n"); -- "\n" признак конца строки
--f:write( tostring(date1).. " " ..tostring(time1).. " " .. "BID: " .. tostring(res_trans) .. " " .. "ASK: " .. tostring(MXU8ask_vol) .. "\n"); -- "\n" признак конца строки
-- Сохраняет изменения в файле на диск
f:flush();
fut_limit_old = fut_limit;
end
if fut_limit_max == 0 then
fut_limit_max = fut_limit;
end
if ( math.abs(fut_limit-fut_limit_max) > 1000000 and fut_limit>0 ) then -- настраиваем под себя
message( tostring(fut_limit) ) ----сообщение в Квик--
--message( tostring(time1) )
---------------------------------------- отправляем сообщение в Телеграмм--
pos_free = getFuturesLimit("A111", "A111111", 0, "SUR").cbplplanned --NUMBER ГО свободных денег от позы без пониженного ГО
open_lim = getFuturesLimit("A111", "A111111", 0, "SUR").cbplimit --NUMBER Лимит открытых позиций
tg_message = tostring(open_lim).." ГО:"..tostring(fut_limit).." Поза:"..tostring(open_lim-pos_free)
os.execute('curl "https://api.telegram.org/botВашиДанныеИзТелеграмм&text= + '..tg_message..' " ') -- отправляем в телегу, через винду. Вписать ваши данные из Телеграмм
----------------------------------------
-- Пример строки https://api.telegram.org/bot365877050:AAE232342348HIqifnyGSsw89U_4TK3Y/sendMessage?chat_id=202560128&text= + Привет Квик!
----------------------------------------
fut_limit_max = fut_limit;
end
if math.abs(kgo-kgo_old) > 0 then
---------------------------------------- отправляем сообщение в телеграмм
tg_message = tostring(kgo).." Внимание! Изменился коэффициент КГО"
os.execute('curl "https://api.telegram.org/botВашиДанныеИзТелеграмм&text= + '..tg_message..' " ') -- отправляем в телегу, через винду. Вписать ваши данные из Телеграмм
----------------------------------------
-- Пример строки https://api.telegram.org/bot365877050:AAE232342348HIqifnyGSsw89U_4TK3Y/sendMessage?chat_id=202560128&text= + Привет Квик!
----------------------------------------
kgo_old = kgo;
end
end
end
f:close(); -- закрываем файл печати.
end
-- Остановка скрипта из Квика
function OnStop(stop_flag)
is_run=false
end
Надоело логиниться в квик каждый день по 10 раз, всё время за логином-паролем лазить в файл и копипастить. Сделал скрипт, к-й это автоматизирует. Работает на javascript, так что от версии Windows зависеть не должно.
Сам скрипт кладётся в файл типа C:\Util\Js\Q.js или куда угодно, только не у всех на виду. На этот скрипт делается ярлык, он кладётся на рабочий стол куда-то в угол, и ему прописывается горячая клавиша типа Ctrl-Alt-X или любая другая буква. После этого вы запускаете квик, появляется окно логина, нажимаете Ctrl-Alt-X и через полсекунды оно срабатывает. Важно, что ярлык должен быть на рабочем столе, иначе горячая клавиша не работает.
Вообще вводить данные в другую программу можно двумя способами: copy&paste и эмуляция клавиш. Я в данном случае пошёл по второму пути, хотя и первый тоже реализуем и даже чем-то лучше, т.к. там не надо парится с языком. Из-за этого, если вы хотите использовать этот скрипт, нужно проверить ряд моментов и при необходимости внести исправления.
⦁ В варианте, к-й я выкладываю, логин/пароль должны быть прописаны прямо в скрипте, но можно и читать из файла. У меня дома рабочий вариант вообще ищет их в rtf-файле где много всяких данных. Если логин/пароль положить во внешний файл, то их можно конечно и закодировать.
⦁ Чтобы отработало правильно, надо чтобы текущий язык ввода (по сути язык ввода по умолчанию в системе) в квике был русский. Если это не так, то вначале надо поменять bEngSystem=true
⦁ У меня логин русский, а пароль английский, так что между ними производится переключение клавиатуры. Если у вас что угодно из этого не так, надо в нужных местах убрать или добавить переменную LangSwitch, к-я содержит клавиши «Alt-Shift». Если у вас опять же язык переключается по-другому, там надо прописать другие клавиши.
⦁ У меня вводится и логин и пароль. Если у вас вводится только пароль, то поменять тоже нужно и не сложно.
В общем, можно было бы написать более универсальную версию, чтобы определяеть, когда надо переключать языки автоматом, но мне не нужно, а кому надо разберутся. Или же можно переписать через copy&paste. Делать полностью автоматизированный логин, когда вообще ничего нажимать не нужно я не хочу, потому что тогда любой, кто получит доступ к вашему компьютеру сможет получить доступ и к вашим деньгам, просто кликнув на квике. Так хоть комбинацию клавиш знать надо.
bEngSystem=false; //язык системы по умолчанию
LangSwitch="%+!";
WshShell=WScript.CreateObject("WScript.Shell");
InitKeys();
KeysSeq=GetData();
if (KeysSeq) EnterData(KeysSeq);
//------------------------------------------------------------------------
function GetData(){
//(Возможно) читаем данные из файла и преобразуем в последовательность клавиш
//"!" означает паузу для специальных клавиш, к-е требуют время обработки
var DataFN, oStream, Data, Pos1, Pos2, Line;
if (0){ //данные в файле
DataFN='C:/...';
FSO=new ActiveXObject("Scripting.FileSystemObject");
oStream=FSO.OpenTextFile(DataFN, 1); Line=oStream.ReadAll(); oStream.Close();
}
else Line='имя:password';
//Tab должен быть и вначале, потому что при фокусировке квика текущее поле - список серверов
Line="{Tab}!"+Line.replace(/:/g, "{Tab}!"+LangSwitch);
//Переключение языка в самом начале если логин русский
if (bEngSystem) Line=LangSwitch+Line;
//конвертация русских символов
Line=Line.replace(/[А-Яа-я]/g, RusCB);
return Line;
}
function EnterData(KeysSeq){
var ret;
WScript.Sleep(300); //Пауза позволяет убрать руки от клавиатуры до того, как скрипт начал работать
ret=WshShell.AppActivate("Идентификация пользователя"); if (ret==0) return;
WScript.Sleep(100);
aSeq=KeysSeq.split('!');
for(var i=0; i<aSeq.length; i++){
Seq=aSeq[i];
if (Seq!=''){
WshShell.SendKeys(Seq); WScript.Sleep(100);
}
}
WshShell.SendKeys("{Enter}");
//WshShell.SendKeys("%+"); WScript.Sleep(100); //switch to Russian
//WshShell.SendKeys("{Tab}"); WScript.Sleep(100);
//WshShell.SendKeys("^V"); WScript.Sleep(100); //paste
}
function RusCB(s){
var n, ch, i;
if (s.length==1){
ch=s;
}
else{ //rtf
//код символа в Ansi
s=s.substr(2); n=parseInt(s, 16); ch=String.fromCharCode(n);
}
//Преобразовать в Utf и найти в русских клавишах
i=RusKeys.indexOf(Ansi2Utf(ch));
//Найти соотв. латинскую клавишу
return LatKeys.charAt(i);
}
//------------------------------------------------------------------------
function Ansi2UtfN(Code){
if (Code>=192 && Code<=255) Code+=848;
else if (Code==168) Code=1025; else if (Code==184) Code=1105;
return String.fromCharCode(Code);
}
function Utf2AnsiN(Code){
if (Code>=1040 && Code<=1103) Code-=848;
else if (Code==1025) Code=168; else if (Code==1105) Code=184;
return String.fromCharCode(Code);
}
function Ansi2Utf(Str, bRev){
var Buf='', Ch, Res='', c=0, L, n, f;
L=Str.length; f=(!bRev ? Ansi2UtfN : Utf2AnsiN);
for(n=0; n<L; n++){
Ch=Str.charCodeAt(n); Buf+=f(Ch); c++;
if (c>=100){Res+=Buf; Buf=''; c=0;}
}
return Res+Buf;
}
//------------------------------------------------------------------------
function alert(S){WScript.Echo(S);}
function InitKeys(){
//Проблема в том, что влияет текущий язык в той программе!
//Можно нажимать только английские клавиши. Если надо нажимать русские, надо вычислить какие им соответствуют английские
RusKeys="йцукенгшщзхъфывапролджэячсмитьбю"; LatKeys="qwertyuiop[]asdfghjkl;'zxcvbnm,.";
RusKeys=RusKeys+RusKeys.toUpperCase(); LatKeys=LatKeys+LatKeys.toUpperCase();
}
Доброго всем дня, спешу описать ошибки, которые часто допускают при заполнении декларации 3-НДФЛ, когда декларируют свой доход. Сейчас идет «горячая пора» сдачи отчетности и поэтому хочу обратить ваше внимание на следующее:
1. Дивиденды по зарубежным акциям
Когда вы получаете выплаты, например, через российского брокера, в виде дивидендов по акциям иностранных эмитентов, то основная ошибка – инвестор в декларацию вносит сумму выплаченного дивиденда (за минусом удержанного налога). Надо вносить в декларацию сумму начисленного налога.
Приведу простой пример – допустим, через Тинькофф банк вам была осуществлена выплата дивиденда по американской бумаге 46,80 долларов, при этом сумма налога была удержана 5,2 долларов. Нельзя ставить в декларацию сумму дивиденда 46,80 и налог 5,2, правильно будет поставить сумму начисленного дивиденда 52 доллара и сумму налога 5,2.
2. Сальдирование результатов
Частая ошибка инвесторов – не сальдируют прибыли или убытки, полученные через российского брокера с результаты от зарубежного брокера. Вы вправе зачесть эти данные, Налоговый кодекс не запрещает нам делать зачет, не ставить наше право в зависимость от страны брокера.