Избранное трейдера Artem Sotnikov

по

Python. Делаем тестер стратегий и... зарабатываем на случайном блуждании.

    • 19 июня 2020, 16:32
    • |
    • 3Qu
  • Еще

Если вам кто нибудь скажет, что на случайном блуждании (СБ) нельзя зарабатывать, бросьте в него камень. Как говорил Паниковский — это жалкие ничтожные люди. На СБ можно зарабатывать с результатами не хуже, чем на реальном рынке. У СБ, по сравнению с реальным рынком, только один недостаток — за игры с СБ никто деньги платить не будет.
А если бы платили? Никто бы ничего не заметил. По прежнему 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


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

Это "неправильный" рост

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

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. Основная идея такова: Чтобы получить то, что вам хочется, придётся это заслужить. Доверие, успех и восхищение приходят к тем, кто их достоин. Мне бы хотелось называть это одним из принципов либертарианской этики, но это, к сожалению, не так, там про другое. Будем считать, что это нео-либертарианство.



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

Жизненные советы от Кевина Келли

Понравилось. Оставляю у себя в блогах, чтоб перечитывать. Итак:

  • Изучите, где набираются знаний те, с кем вы не согласны, или даже те, кто вас оскорбляет. Проверьте, сможете ли вы найти истину в том, во что они верят.
  • Быть полным энтузиазма — это уже +25 баллов к IQ.
  • Всегда спрашивайте о дедлайнах. Дедлайн отсеивает лишнее и посредственное. Он останавливает ваши попытки сделать все идеально и подталкивает к тому, чтобы сделать по-другому. Лучше, когда по-другому.
  • Не бойтесь задавать вопросы, которые могут прозвучать глупо. В 99% случаев все остальные тоже думают над этим вопросом, но стесняются его задать.
  • Умение слушать — это суперсила. Слушая тех, кого вы любите, продолжайте спрашивать «Есть еще что-то?», пока что-то не закончится.
  • Достойная цель на год: изучить какую-то тему настолько хорошо, чтобы самому удивляться, каким глупым вы были год назад.
  • Благодарность откроет для вас путь к другим достоинствам, и в ней вы можете стать лучше.
  • Позвать кого-то перекусить всегда хорошая идея, и очень простая по сути. Круто работает с давними друзьями, отличный способ заводить новых.
  • Чтение вместе с вашим ребенком создаст связь между вами и раскачает его воображение.
  • Профессионалы — просто любители, умеющие элегантно оправиться от своих ошибок.
  • Экстраординарные заявления требуют экстраординарных доказательств, чтобы в них поверить.
  • Не будьте самым умным человеком в своем окружении. Общайтесь и учитесь у тех, кто умнее вас. Еще лучше найти умных людей, которые с вами не согласны.
  • Правило трех в разговоре: чтобы добраться до настоящей причины, спрашивайте человека дальше о том, что он только что сказал. Потом еще раз, и затем еще. В третий раз ответ будет ближе к правде
  • Не будьте лучшим. Будьте единственным.
  • Все стесняются. Люди вокруг ждут, когда вы им себя представите, ждут, пока вы отправите им свое письмо на почту, ждут, пока вы позовете из на свидание. Вперед.
  • Когда вам отказывают, не воспринимайте это как личное. Учтите, что люди точно также заняты делами и отвлекаются на разное, как и вы. Попробуйте еще раз попозже. Это удивительно, как часто вторая попытка дает результат.
  • Цель привычки в том, чтобы убрать из процесса переговоры с собой. Чтобы больше не тратить силы на решение, а просто делать. И они могут быть очень разными, от привычки говорить правду, до ухода за зубами.
  • Своевременность — признак уважения.
  • В молодости попробуйте жить от 6 месяцев до года настолько бедно, насколько это вообще возможно, на рисе и орехах, в маленькой комнате или палатке. Чтобы узнать, какой может быть ваша «худшая» жизнь. Тогда всякий раз, когда вам придется рисковать, вы не будете бояться худшего сценария.
  • Поверьте, никакие «они» не существуют.
  • Чем больше вы заинтересованы в других, тем интереснее вы им. Чтобы быть интересным, будьте заинтересованы.
  • Работайте над щедростью. Никто на смертном одре никогда не сожалел, что отдал слишком много.
  • Чтобы сделать что-то хорошее, нужно просто сделать. Чтобы сделать что-то великое, нужно переделать, потом еще переделать, потом еще переделать. Секрет создания крутых вещей в том, чтобы переделывать их.
  • Если вам нужно найти что-то в вашем доме, и вы наконец нашли, не кладите это потом в то же место. Положите туда, где искали в в самом начале.
  • Сохранять деньги и вкладывать деньги — очень хорошие привычки. Маленькие суммы, которые вы вкладываете регулярно в течение нескольких десятилетий без лишних раздумий — это один из способов разбогатеть.
  • Ошибаться — это нормально. Учиться на своих ошибках — превосходно. Ничто так не возвышает человека, как умение быстро признавать ошибки, брать на себя ответственность за них, а затем быстро исправляться. Если напортачил — признай. Поразительно, насколько сильный эффект дает такая ответственность.
  • Вы можете быть одержимы тем, как обслуживаете ваших клиентов/покупателей/аудиторию, или можете быть одержимы тем, чтобы победить конкурентов. И то, и другое работает, но одержимость клиентами заведет вас дальше.
  • Разделите процесс создания и процесс улучшения. Вы не можете писать и редактировать, лепить и оттачивать, или делать и анализировать одновременно. Если попробуете — редактор внутри вас остановит создателя. Не выбирайте, пока изобретаете. Не проверяйте, пока рисуете. В начале пути ум создателя должен быть свободным от суждений.
  • Если вы не падаете и не спотыкаетесь время от времени, то ваша дорога ведет вниз.
  • Возможно, самая контринтуитивная истина заключается в том, что чем больше человек отдает, тем больше в итоге получает. Понять это — встать на путь мудрости.
  • Друзья лучше денег. Почти всё, что могут сделать деньги, друзья сделают лучше. Во многих аспектах иметь друга с лодкой лучше, чем иметь лодку.
  • Трудно обманывать честного человека.
  • Когда что-либо потерялось, в 95% случаев это находят под рукой — в том месте, где видели в последний раз. Поищите хорошо именно там и вы всё найдете.
  • Вы это то, что вы делаете. Не то, что вы говорите. Не то, во что верите. Не то, за что голосуете. А то, во что вкладываете свое время.
  • Ненависть — проклятие, которое не задевает предмет ненависти. Она отравляет только тех, кто её испытывает. Воспринимайте недовольство как яд.
  • Улучшениям нет предела. Талант даётся людям не по справедливости, но то, с чего мы начинаем, можно улучшать безгранично долго.
  • Будьте готовы: когда вы на 90% закончили любой крупный проект (дом, фильм, ивент, приложение), оставшиеся детали потребуют еще 90%, чтобы довести их до конца.
  • Умирая, вы оставляете всё, кроме своей репутации.
  • Прежде чем состариться, посетите как можно больше похорон и прислушайтесь. Вспоминая умершего, никто не говорит о достижениях. Люди будут помнить только то, каким человеком вы были, пока шли к достижениям.
  • Будьте готовы, что с каждого доллара на покупку чего-то существенного вы в будущем заплатите еще один доллар за ремонт, техническое обслуживание или утилизацию.
  • Всё реальное начинается с воображения, с выдумки того, что может быть. Таким образом, воображение — самая мощная сила во вселенной и навык, в котором можно преуспеть. Чем меньше вы прислушиваетесь к тому, что знают остальные, тем он крепче. И этим навык абсолютно уникален.
  • Когда случается кризис или несчастье, не тратье их попусту. Где нет проблем, там нет роста.
  • Отправляясь в отпуск, сперва заезжайте в самый отдаленный от цивилизации пункт вашего маршрута. Вы максимизируете шок от от всего необычного в новом для себя месте, а потом будете с радостью встречать привычные удобства города.
  • Когда вас просят сделать что-то в будущем, задумайтесь — вы бы сделали это завтра? Не так много обещаний пройдет через этот фильтр безотлагательности.
  • Не пишите в электронной почте о людях ничего такого, что вам было бы неудобно сказать им напрямую. Потому что в конечном итоге им обязательно дадут это прочитать.
  • Если вам крайне нужна работа, вы еще одна проблема для начальника. Если вы можете решить множество проблем, которые у начальника есть, считайте, что вы уже наняты. Чтобы вас взяли на работу, думайте как ваш начальник.
  • Искусство в том, чтобы уметь отсекать.
  • Потребление вещей редко когда приносит глубокое удовлетворение. А приобретенный опыт — всегда.
  • «Правило семи» в исследовании: вы можете узнать всё, о чем готовы спрашивать 7 раз. Если ваш первый источник не знает ответа на вопрос, спросите у него, кого спросить следующего, и так далее шаг за шагом. Если вы дойдете до седьмого источника в цепочке, вы наверняка получите ответ.
  • Извиняться нужно: быстро, конкретно, от всего сердца.
  • Никогда не ведитесь на настойчивые просьбы или предложения по телефону. Срочность — это маскировка.
  • Когда кто-то ведет себя гадко, грубо, злобно и ненавистно по отношению к вам, представьте, что он болен. Это может облегчить сопереживание такому человеку и смягчить конфликт.
  • Устранение беспорядка освободит место для по-настоящему ценных для вас вещей.
  • Вам кажется, что вы хотите быть знаменитым, но это не так. Почитайте биографию любой знаменитости.
  • Опыт переоценивают. Выбирая сотрудников, нанимайте за способности и затем обучайте их навыкам. Самые удивительные вещи создаются людьми, которые делают их впервые.
  • Отпуск + катастрофа = приключение.
  • Покупая инструменты, начните с самых дешевых, какие только можно найти. Потом улучшайте те, которые используете часто. Если вы зажигаетесь от использования какого-то инструмента для работы, покупайте лучшую версию, которую только можете себе позволить.
  • Научитесь дремать 20 минут днем, не испытывая стыд при этом.
  • Погоня за счастьем станет безумной, если вы не знаете, чем увлечены. Лучший слоган для большинства молодых: «станьте мастером в чем-нибудь, в чем угодно». Благодаря мастерству в чем-то одном вы сможете двигаться и развивать это мастерство на пути к тому, что приносит вам больше радости. И так в итоге найдете свое счастье.
  • Я уверен, что через 100 лет многое из того, что я считаю правдой сегодня, окажется неверным. Может, даже постыдным. И я изо всех сил стараюсь понять, в чем именно ошибаюсь сейчас.
  • На дистанции будущее определяют оптимисты. Чтобы быть оптимистом, вы не обязаны игнорировать все то множество проблем, которые мы создаем. Вам нужно, используя воображение, думать о том, как нам научиться решать эти проблемы лучше.
  • У вас за спиной происходит вселенский заговор, направленный на то, чтобы заставить вас преуспеть. Будет намного проще воплотить его, если вы примете эту награду.

Самый примитивный тест канальной стратегии.

    • 01 июня 2020, 22:48
    • |
    • 3Qu
  • Еще
Канальная стратегия вкратце описывалась здесь — ну, чисто Грааль.
Небольшой кусок картинки, всего ~300 минут:
Самый примитивный тест канальной стратегии.

Тест проводим за 3 месяца на минутных данных — всего ~55000 минут. Хотя на картинке и есть индикаторы обходимся без них. Используем только пересечение границ и центра канала и данные свечей. Т.е., стратегия ничего не знает о всяких там трендах и флетах. Фиксированные стопы и профиты отсутствуют — все по логике. В стратегии ничего не настраиваем, не подстраиваем, все только по логике стратегии.Торгуем одним фьючерсом SBER-6.19. На других будет примерно тоже самое.
Результаты теста:

Самый примитивный тест канальной стратегии.

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

Тест "Грааля который долго искали" с Python и Pandas

В статье "Грааль, которые вы так долго искали" даётся алгоритм торговли:
  • если клоуз больше предыдущего клоуза, то покупаем (лонг) на закрытии сессии,
  • если клоуз меньше предыдущего клоуза, то продаем (шорт) на закрытии сессии.
Работаем на месячном таймфрейме.

Сейчас изучаю Python и Pandas и хотелось применить знания на каких-то реальных данных. Вот случай подвернулся. 

Выводы

Тестировал на данных по Газпрому (с 3.03.2010 по 20.05.2020) и Сбербанку пр. (с 21.11.2011 по 20.05.2020).
Отношение текущей стоимости портфеля к общей вложенной сумме: у Газпрома — 1,27, у Сбербанка пр. — 2,08.

Предварительные замечания 

Собрал данные для Сбербанк пр из Yahoo Finance (дневки). 
Написал код Pandas + Python. Это пока всё, чем владею на текущих момент, и то владею так себе. 
Pandas для преобразования таблицы с Yahoo Finance и обрезки ненужных столбцов. Python для прогонки алгоритма. 
Дивиденды учитывались в том случае, если на дату отсечки в портфеле были акции, если акций в портфеле не было, то дивиденды не учитывались. Дивиденды учитывались с учётом налога 13%.

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

Как российские инвесторы могут оптимизировать налоги. Часть 1 — брокерские счета

Любой инвестор хочет получить больше денег от инвестиций. Однако там, где есть доход, есть и налоги. Если снизить размер налогов, в вашем портфеле останется больше денег и вы быстрее придете к своим целям.

Российский налоговый кодекс позволяет снизить НДФЛ от инвестиционного дохода, не платить его или вернуть уже уплаченный налог. Для этого есть разные способы. 

Рассказываем про основные варианты оптимизации налогов согласно НК РФ. Сегодня поговорим про брокерские счета, а в следующей части расскажем про ИИС и связанные с ними вычеты.

Добавляйте в избранное, чтобы не потерять!

Вычет по сроку владения («трехлетняя выгода»)

Этот вычет позволяет освободить от налогов весь доход или часть дохода от продажи ценных бумаг, если вы не продаете их три года с момента приобретения.

Вычет применяют к доходу от продажи акций, облигаций, паев ETF и БПИФов, которые торгуются на российских биржах. Еще его можно применить к доходу от продажи паев открытых ПИФов российских управляющих компаний. Эти активы должны быть куплены, получены в дар или наследство в 2014 году или позже.

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

Как анализировать американские компании. Алгоритм

Компаний – море, даже на бирже СПб их почти тысяча. Из них — сотни вполне приличных и достойных внимания. Очевидно, что старое доброе неспешное чтение годовых отчетов в нынешних реалиях не подходит.

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

Итак. Рассмотрим пошаговый анализ одного из эмитентов, торгующихся на Санкт-Петербургской бирже, компанию Elanco Animal Health Incorporated (ELAN).

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



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

Тренд

    • 14 мая 2020, 20:41
    • |
    • ezomm
  • Еще
Я в комментариях уже писал что такое тренд.Это чисто мое мнение и мои выводы за 25 лет торговли.Напишу пост в блог .
Тренд -это отсутствие перекрытий  экстремумов нечетных фракталов.И что это значит? Начнем с нуля.Фрактал -это паттерн из свечей  ограниченный по времени(количество свечей ), повторяющий форму в любых масштабах времени.Самый простой фрактал -это свеча те 1 .  ...3 свечи  2-1 или 1-2 … и тд… Фрактал Вильямса из 3 х...5 свечей или 7 или 9.Фрактал Эллиота в идеале тоже из 5 свечей, но у Эла важна форма свечей, а у Вильямса не важна. Правильный тренд из нечетного количества свечей(фракталов), делающих новый экстремум.Это то, что в свечном 8-10 новых перемен.Свечной анализ вывел догму, что тренд не больше 10 новых перемен(фракталов).Это почти правда.Формула тренда вверх в идеале  L>=ref(H,-2). Минимум свечи больше позапрошлого максимума.Цимус в словах -больше или равен.Это и есть отсутствие перекрытия.Если вы хотите обобщить этот мой тезис, то просто поставьте вместо L и  H   фрактал или ЦЗ цену закрытия свечи.Тело свечи — это зона большого объема.Получите тренд для большого объема.

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

Как скачать много котировок акций РФ сразу.

Всем привет!

Вдохновился данным постом ( 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)


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

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