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

по

Битва методов оптимизации портфеля!

Всем привет, 

Не смотря на то, что многие люди довольно скептически отнеслись к китайской идее напрямую оптимизировать значение шарпа и подберать веса для активов используя LSTM сеть (А что так можно было?), я решил все же этот метод протестировать. 

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

Для тестов были взяты следующие методы оптимизации финасового портфеля:

Классические:
  • Mean-Variance
  • Hierarchical Risk Parity (созданный Маркусом Лопезом де Прадо)
  • Critical Line Algorithm (говаривают метод специально для оптимизации портфелей придуман)
  • Efficient Frontier with nonconvex optimizer (нашел в примерах питоновского пакета, добавил для кучи)
Экзотические:
  • LSTM (модель предложенная китайцами, из предыдущего поста)
  • Trained LSTM (обученная модель на истории, предсказывает распределение на следующие 22 дня)


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

Подборка полезных ресурсов без Yahoo Finance и Seeking Alpha: данные, идеи и воспроизводимые исследования

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

Более направленные подборки по идеям можно посмотреть здесь https://smart-lab.ru/blog/628709.php, а по книгам здесь https://smart-lab.ru/blog/681121.php

Биржевые данные:

Биржевые:

  • https://www.quandl.com Quandl. Простой и адекватный API для Python, много бесплатных данных по отдельным биржам. Например, по Гонконгской и Варшавской бирже. Есть данные по сырьевым фьючерсам и другому сырью. Экономическая статистика и альтернативные данные тоже есть в бесплатном варианте. В отличие от других сайтов с котировками и графиками – здесь промышленная выгрузка для исследований;
  • https://stooq.com Stooq. Неожиданно богатый бесплатным контентом локальный сайт (Польша). Большая часть не представляет интереса и можно сразу перейти к большим (для бесплатных) выборкам биржевых данных по США, некоторым европейским и азиатским странам


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

Алгоритм InveSteady

       Приветствую друзья, год назад усиленно занимался трейдингом и разработкой алгоритмов, ночами писал lua скрипты под quik разбор ленты сделок, во всю строил интеллектуальные системы, анализ котировок с помощью нейросетей. Инвестиции рассматривал как привилегию для богатых, фундаментальный анализ, разбор отчетностей — не не слышал, только фьючи только тех анализ только хардкор!!!
       И однажды наткнулся на интересную статью, идея зацепила нашел единомышленников, как говорится один программист хорошо а 1.5 лучше! И вуа ля, спустя каких то жалких 366 дней, прядь седых волос и кучу измотанных нервов на свет появилось ЭТО .Алгоритм InveSteady

       С недавнего времени любой желающий может воспользоваться сие твореньем зарегистрировав бесплатный ключ и ощутить преимущества автоматической портфельной ребалансировки. Суть алгоритма заключается постоянной ребалансировке акций относительно ранее созданного шаблона, то есть до начала торговли вы создаете шаблон (слепок) вашего портфеля и в процессе работы ребалансируете свой портфель (приводите к шаблону). Результаты работы алгоритма публикуются каждый день по ссылке. Всем спасибо за внимание!!!

Алгоритм InveSteady
Результаты работы 
Отличная статья


Автологин для квика на javascript

Надоело логиниться в квик каждый день по 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();
}

Есть другие решения: Автологин для Quik 8 x64.
  • обсудить на форуме:
  • QUIK

Важные советы при заполнении декларации 3-НДФЛ - памятка для инвестора

Доброго всем дня, спешу описать ошибки, которые часто допускают при заполнении декларации 3-НДФЛ, когда декларируют свой доход. Сейчас идет «горячая пора» сдачи отчетности и поэтому хочу обратить ваше внимание на следующее:

1. Дивиденды по зарубежным акциям

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

Приведу простой пример – допустим, через Тинькофф банк вам была осуществлена выплата дивиденда по американской бумаге 46,80 долларов, при этом сумма налога была удержана 5,2 долларов. Нельзя ставить в декларацию сумму дивиденда 46,80 и налог 5,2, правильно будет поставить сумму начисленного дивиденда 52 доллара и сумму налога 5,2.

2. Сальдирование результатов

Частая ошибка инвесторов – не сальдируют прибыли или убытки, полученные через российского брокера с результаты от зарубежного брокера. Вы вправе зачесть эти данные, Налоговый кодекс не запрещает нам делать зачет, не ставить наше право в зависимость от страны брокера.



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

А Вы точно движетесь в направлении своего счастья ?

Например, вбил себе один персонаж мысль что в доме на берегу тёплого моря будет заниматься трейдингом под шум прилива и будет счастлив… но позже поймал себя на мысли что в прошлом счастлив был совершено от другого!

Я вам предлагаю провести мысленный эксперимент.

Большинство считают что знают чего хотят и что их сделает счастливыми. Но я убедился на своём опыте что это не так. 

    1. Представьте что Вас сделает по настоящему счастливым, чего Вы действительно хотите сильно.
    1. А теперь вспомните, с самого детства и до настоящего времени, что приносило Вам больше всего радости, в какие моменты Вы были больше всего счастливы, чем Вы занимались в эти моменты, кто или что Вас окружало, где это происходило, что объединяет все эти воспоминания, может ли это и сейчас сделать Вас счастливым… это совпадает с тем что Вы назвали в п.1?! Если да — Вам повезло.
    1. И последнее — подумайте а в каком направление по факту Вы идёте, и куда эта тропинка Вас приведёт через несколько лет.

Если цель одна во всех трёх пунктах Выше — Вы большой молодец. Если нет — возможно стоит поразмышлять над этим.

п.с. Я вот решил, что не нужен мне дом на берегу моря, по крайней мере сильно счастливее он меня не сделает. Счастливее меня сделает (помимо семьи) любимая деятельность с горящими глазами в группе с такими же увлечёнными ребятами.   


Что почитать по (алго) трейдингу? Обзор небанальных книг без Талеба, Грэма и Богла

Привет! Бегло полистал SL и обнаружил, что книжные обзоры делятся на 2 типа – инвесторские и хардкорное алго (HFT и опционы). Промежуточный вариант попытаюсь закрыть данным постом. По уровню сложности книги в обзоре находятся между зубодробительной подборкой от Eugene Logunov https://smart-lab.ru/blog/534237.php и приятным чтивом по фундаментальным стратегиям.
Что почитать по (алго) трейдингу? Обзор небанальных книг без Талеба, Грэма и Богла

1)    Lasse H. Pedersen – Efficiently Inefficient

Отличная книга и №1 по соотношению польза/сложность. Автор показывает, как кванты тестируют и отбирают стратегии в портфель. Условно ее можно разделить на 4 части: арбитраж, факторные стратегии, глобал макро и технические моменты запуска и финансирования фонда. HFT и опционные стратегии упоминаются вскользь. Наверное, книга подойдет и для совсем начинающих, т.к. все метрики (вплоть до волатильности) и базовые концепции раскрываются с 0.

LHP – один из боссов крупного хедж фонда в Гринвиче, но в отличие от Далио или Дракенмиллера, еще и хардкорный академик. Поэтому в книге любое утверждение подтверждается ссылками, а для глубокого погружения есть отличный список первоисточников. Понятно, что никаких секретов своего работодателя LHP не раскрывает, но профильные главы для меня оказались полезными в плане идей + отсылки туда, где копать глубже.
Что почитать по (алго) трейдингу? Обзор небанальных книг без Талеба, Грэма и Богла



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

Как легко проголосовать на собраниях акционеров

Хотите активно участвовать в жизни компании, акции которой держите в своем портфеле? Тогда этот сервис для вас https://www.e-vote.ru/stockholders/
Позволяет не вставая с дивана знакомиться с материалами для голосования и голосовать на собраниях акционеров. Участвуют не все компании, представленные на бирже, но такие как Сбербанк, Мосбиржа, Алроса, Ростелеком, Русгидро, НЛМК, Газпромнефть, МТС присутствуют. Вход через Госуслуги. Подробная инструкция как проголосовать тут.
До 15 февраля идет голосование по вопросу присоединения разных организаций к МТС. Сегодня я опробовал сервис, проголосовал по этому вопросу.


Инвестиции и антипотребительство

    • 17 января 2021, 12:39
    • |
    • FZF
  • Еще

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

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

Чтобы выскочить из этого бесконечного бега по кругу, нужно немного по-другому взглянуть на окружающий мир. Если большинству привита мысль: «мои деньги – это  разные товары, услуги и другие приятности, которые я могу купить», то для вас должна быть другая установка: «мои деньги – это мой труд и часть моей жизни, вложенная в этот труд. А услуги и товары в красивых упаковках существуют для того, чтобы отобрать у меня результаты моего труда».



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

Как я декларацию 3-НДФЛ за 2020 год подавал: вычет ИИС-А, 241 дивидендная выплата от иностранных компаний

Дисклеймер:
Здесь описан МОЙ ОПЫТ. Это не инструкция к действию для всех и каждого. Тот способ, которым я отчитываюсь за дивиденды иностранных компаний, можно использовать на свой страх и риск: ваш налоговый инспектор может отказать в таком способе подачи и попросить вас вписать каждую дивидендную выплату отдельной строкой в 3-НДФЛ. Если у вас мало выплат за год (менее 40), рекомендую вписывать их отдельной строкой! Как это делается, я рассказывал в прошлом году (ЧИТАТЬ или СМОТРЕТЬ).

 

Моя проблема некоторым постоянным читателям известна: особенность стратегии (покупаю 100 американских компаний по отдельности) имеет очевидные минусы, один из которых — огромное количество мелких дивидендных выплат, почти каждый день!

По дивидендам от российских компаний (их порядка 50-60 поступило) за меня отчитывается брокер. Это прекрасно!

По дивидендам от иностранных компаний я отчитываюсь сам. Я напомню, что штраф за неподачу этих данных составляет всего 1000₽. Здесь скорее вопрос гражданской ответственности: я требую соблюдения законов и моих прав от государства. Я отвечаю тем же.



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

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