Избранное трейдера Artem Sotnikov
Если вам кто нибудь скажет, что на случайном блуждании (СБ) нельзя зарабатывать, бросьте в него камень. Как говорил Паниковский — это жалкие ничтожные люди. На СБ можно зарабатывать с результатами не хуже, чем на реальном рынке. У СБ, по сравнению с реальным рынком, только один недостаток — за игры с СБ никто деньги платить не будет.
А если бы платили? Никто бы ничего не заметил. По прежнему 95% СБ-трейдеров сливало бы депозиты, а 5% регулярно выигрывало и считало бы себя Гуру. По прежнему на графики наносились бы каббалистические знаки и индикаторы, угадывались бы направления движения, каналы, и линии поддержки/сопротивления. Все так же начинающие трейдеры искали Учителя для обучения, а аналитики предсказывали будущее. И, ровным счетом, абсолютно ничего бы не поменялось. Может только АГ заметил бы подвох, но тоже не сразу, а только через несколько месяцев, а, может, и через год-другой. Но, легко сделать, чтобы и АГ остался в неведении.)
Однако, прежде чем играть на СБ, нам необходима стратегия и тестер. Ими мы и займемся.
Для начала стратегия: нам нужны три функции
— одна для пошагового слежения за рыночными котировками и определения момента входа в сделку — DealEntryAnalysis(i) и пусть на ее выходе будет: 0-если сделки нет, 1 — необходим вход в лонг, и -1 — необходим вход в шорт. i — номер отсчета массива котировок.
— вторая для сопровождения сделки лонг — DealControlL(i), отвечающая за контроль и закрытие сделки.
— и третья, для сопровождения сделки шорт — DealControlS(i).
Теперь у нас все готово для разработки тестера стратегий, а это всего лишь цикл while() последовательно перебирающий котировки.
Вот наша стратегия уже в тестере:
while i < Ie: deal_type = DealEntryAnalysis(i) if deal_type == 1: j, rep = DealControlL(i) deals_report.append(rep) i = j+1 continue elif deal_type == -1: j, rep = DealControlS(i) deals_report.append(rep) i = j+1 continue i = i+1
HYDR 56.0%
AFLT 53.6%
SNGS 46.1%
ROSN 39.1%
MGNT 35.7%
MOEX 32.3%
FEES 28.9%
LKOH 23.0%
YNDX 22.1%
VTBR 21.6%
GMKN 20.0%
GAZP 12.6%
SBER 11.0%
ALRS 8.3%
Налицо отставание двух самых ликвидных акций — SBER и GAZP. О чем это говорит? А только о том, что этот рост идет не на нерезидентских деньгах. А значит о его устойчивости говорить не приходится. Тут, как говорится, одно из двух: либо нерезиденты придут позже и мы увидим новые максимумы индекса Мосбиржи не позднее осени, либо той же осенью от этого роста не останется и следа.
Чарли Мангер показал себя как один из лучших инвесторов в мире, и стоит прислушаться к нему, чтобы понять, как вообще следует жить (а не просто “как инвестировать”).
В 2007 году Чарли читал речь в Юридической Школе USC, и начал её следующими словами: “Понятно, что многие из вас удивлены: почему же спикер настолько стар. Ну, это потому, что он ещё не помер”. Спустя 12 лет он, кстати, ещё жив, а в том выступлении он рассказал много полезного насчёт того, как следует относиться к жизни.
Какие же принципы у Чарли Мангера?
1. Основная идея такова: Чтобы получить то, что вам хочется, придётся это заслужить. Доверие, успех и восхищение приходят к тем, кто их достоин. Мне бы хотелось называть это одним из принципов либертарианской этики, но это, к сожалению, не так, там про другое. Будем считать, что это нео-либертарианство.
Любой инвестор хочет получить больше денег от инвестиций. Однако там, где есть доход, есть и налоги. Если снизить размер налогов, в вашем портфеле останется больше денег и вы быстрее придете к своим целям.
Российский налоговый кодекс позволяет снизить НДФЛ от инвестиционного дохода, не платить его или вернуть уже уплаченный налог. Для этого есть разные способы.
Рассказываем про основные варианты оптимизации налогов согласно НК РФ. Сегодня поговорим про брокерские счета, а в следующей части расскажем про ИИС и связанные с ними вычеты.
Добавляйте в избранное, чтобы не потерять!
Вычет по сроку владения («трехлетняя выгода»)Компаний – море, даже на бирже СПб их почти тысяча. Из них — сотни вполне приличных и достойных внимания. Очевидно, что старое доброе неспешное чтение годовых отчетов в нынешних реалиях не подходит.
Представлю свой алгоритм, как анализировать зарубежные эмитенты, чтобы за короткое время охватить наиболее важный пласт финансовой информации и тем самым составить первичное впечатление о компании, включить ее в свой шорт-лист для последующего более глубокого анализа и возможных инвестиций в нее. Алгоритм сложился путем проб и ошибок в течение последних 3-х лет.
Итак. Рассмотрим пошаговый анализ одного из эмитентов, торгующихся на Санкт-Петербургской бирже, компанию Elanco Animal Health Incorporated (ELAN).
Первым шагом будет поиск сводной информации о компании на одном из сайтов-агрегаторов. На мой взгляд, finviz здесь вне конкуренции. По тикеру получаем информацию о компании, о секторе, где она работает, ссылку на официальный сайт и последние новости об эмитенте. Не помешает поискать в открытых источниках информацию о ней для общего представления.
Всем привет!
Вдохновился данным постом ( https://smart-lab.ru/blog/616708.php ) и решил немного подпилить код, пока карантин делать нечего.
Кто не знал как скачивать котировки по одной компании вручную — сайт для скачивания котировок по одному тикеру (финам):
www.finam.ru/profile/moex-akcii/gazprom/export/
Тут через питон скачиваем котировки из текстового файла, в который вносим желаемые тикеры компаний:
Сайт для скачивания среды программирования Python (PyCharm), пойдет обычная версия:
www.jetbrains.com/ru-ru/pycharm/download/#section=windows
Файлы из видео, в том числе и со списком тикеров:
yadi.sk/d/R3BSbFjV3Pfydg
Код программы:
import requests import datetime import pathlib import apimoex import pandas as pd board = 'TQBR' with open("C:/PYEX/TICK.txt", "r") as TICKs: TICKs = [line.rstrip() for line in TICKs] pathlib.Path("C:/PYEX/Database/{}".format(board)).mkdir(parents=True, exist_ok=True) process = 0 with requests.Session() as session: for TICK in TICKs: process = process + 1 print((process / len(TICKs)) * 100, ' %') data = apimoex.get_board_history(session, TICK, board=board) if data == []: continue df = pd.DataFrame(data) df = df[['TRADEDATE','CLOSE']] df.to_excel("C:/PYEX/Database/{}/{}.xlsx".format(board,TICK), index=False)