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

по

CAN SLIM, Баффетт и Weiss на практике: можно ли повторить стратегии гуру с помощью своего скринера?

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

Фундаментальный анализ — это метод оценки акций, основанный на финансовых показателях компаний, таких как прибыль, выручка, коэффициенты ликвидности и другие экономические параметры. В отличие от технического анализа, который фокусируется на движении цен, фундаментальный анализ помогает определить реальную стоимость компании и ее перспективы в долгосрочной перспективе.

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

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



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

Заметка на тему индикатора измерения силы тренда

Понимание силы тренда помогает трейдерам оценить устойчивость движения цены и находить оптимальные точки входа и выхода. Идея индикатора взята из комментария Ийона Тихого (https://smart-lab.ru/mobile/topic/1119895/#comment17905643): он предложил измерять силу тренда через относительное отклонение цены от средней. Формула проста: разница между ценой и средней, деленная на среднюю. Это позволяет оценить тренд независимо от абсолютных значений цены.

В тексте привожу открытый исходный код индикатора для того, чтобы любой человек мог проверить его в своём TradingView.

Теоретическое обоснование

Индикатор силы тренда показывает, насколько цена отклоняется от своего среднего значения. Он рассчитывается по формуле:

Сила тренда = (Цена – Средняя) / Средняя × 100

Где:

Цена – текущая цена актива (например, цена закрытия свечи).

Средняя – значение скользящей средней (например, 21-периодная экспоненциальная средняя EMA).

Почему деление на среднюю удобнее?

Абсолютное отклонение цены от средней меняется в зависимости от уровня цены актива. Например, отклонение в 10 рублей на акции стоимостью 100 рублей и 1000 рублей будет восприниматься по-разному. Деление на среднюю нормализует это значение, позволяя объективно сравнивать силу тренда на разных инструментах и таймфреймах.



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

Поиск ликвидных облигаций на питоне

На Московской бирже торгуется более 2500 облигаций, но большая часть из них неликвидна — в стакане почти нет предложений и сделок совершается крайне мало. Это затрудняет покупку и продажу таких бумаг. При этом известные мне публичные сервисы не суммируют объемы торгов за период, поэтому сложно быстро найти облигации с высокой ликвидностью.

Пять лет назад написал Node.js-скрипт, затем адаптировал его для Google Таблиц, а теперь разрабатываю Python версию. При помощи сообщества на GitHub эта Python версия идёт к созданию полноценной библиотеки с расширенными возможностями: автоматический поиск ликвидных облигаций, расчет денежных потоков, сбор новостей по эмитентам и вычисление оптимального объема покупки. Все это направлено на помощь простым инвесторам, вроде нас с вами, чтобы оперативно находить выгодные инвестиционные инструменты и принимать решения на основе актуальной информации.
Поиск ликвидных облигаций на питоне

Критерии выбора ликвидных облигаций на Московской Бирже

Ликвидность это один из ключевых параметров, поскольку даже высокодоходная бумага бесполезна, если её невозможно купить. В моём скрипте для поиска облигаций используются несколько основных критериев:



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

Тестировании торговой системы Александра Резвякова для фьючерсов Московской биржи с использованием Python

В этой статье расскажу о том, как воспроизвел и протестировал торговую систему для фьючерсов Московской биржи, основанную на идеях Александра Резвякова. Недавно, просматривая раздел алготрейдинга на Смартлабе, я наткнулся на видео с его выступления на конференции 2024 года под названием "5-6 идей для построения прибыльной торговой системы на фьючерсах". Меня привлекла четкость и понятность предложенных им правил торговли.

Поскольку я активно занимаюсь автоматизацией процессов и стремлюсь глубже изучить возможности Python библиотеки backtesting.py, мне показалось это хорошей идеей для практического применения.

Хотя я лично не знаком с Александром, полагаю, что публичное представление идеи предполагает возможность её независимого анализа и тестирования сообществом трейдеров и программистов.
Тестировании торговой системы Александра Резвякова для фьючерсов Московской биржи с использованием Python

Обзор стратегии Александра Резвякова на фьючерсах

Основная идея — открывать сделки в строго определенное время и использовать структуру рынка последних дней для принятия решений.

Правила входа



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

Тестирование торговой стратегии с использованием нового индикатора Джона Ф. Элерса на Python для дневных данных Московской биржи

Торговля акциями требует гибкости, особенно когда речь идет о тестировании стратегий технического анализа на прошлых данных. Я выбрал Python и библиотеки backtesting.py и aiomoex, потому что они позволяют анализировать рынок без сложных платформ и ограничений. Python дает свободу автоматизации, backtesting.py обеспечивает удобный и быстрый механизм тестирования стратегий, а aiomoex позволяет скачивать данные напрямую с Московской биржи без привязки к брокеру.

Важно, что backtesting.py получил обновление после четырех лет без обновлений, что делает его актуальным инструментом. И в отличие от MetaTrader, StockSharp, TSLab и Quik, которые работают с Московской биржей, но требуют Windows, если брокер имеет API, то можно запускать скрипт на любом сервере, включая облачные решения и Raspberry Pi.

В этой статье я протестирую самую свежую стратегию теханализа Джона Ф. Элерса (John Ehlers), направленную на устранение запаздывания скользящей средней. Разберемся, как её адаптировать к акциям Московской биржи и протестировать с помощью Python.

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

Никогда больше! (как я продавал золотой слиток).

Поскольку тема операций с наличным, физическим золотом в России в последние несколько лет является очень актуальной, решил рассказать о некоем своем опыте в этой интересной теме. Физическое золото и другие драгметаллы представлены у нас в стране двумя видами:

  • Слитки из драгметаллов
  • Инвестиционные монеты из драгметаллов

Эти два вида инвестиций, как известно, несколько различаются. Слитки из драгметаллов в России официально продаются только производства российских аффинажных заводов. Приобретены и проданы официально они могут быть только российским банкам. Инвестиционная же монета является официальным платежным средством центрального банка той страны, где эта монета выпущена. На российском рынке имеют легальное хождение инвестиционные монеты не только Банка России, но и других стран. Покупать и продавать инвестиционные монеты из драгметаллов можно не только у российских банков, но и у юридических и физических лиц – резидентов РФ.
Но вернемся к сути вопроса.  Недавно у меня возникла необходимость продать свой слиток из драгметалла, а точнее несколько слитков.



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

Торговля по луне

Попробуем быстренько исследовать, можно ли извлечь что-нибудь из лунного цикла с помощью питона и библиотек pandas и pylunar на индексе IMOEX. Предварительно устанавливаем pylunar. Библиотека дает дает информацию о луне на основе локации и даты.

import pylunar
import pandas as pd
import matplotlib.pyplot as plt

*** Теперь готовим дневные данные индекса IMOEX ***
*** Если есть минутные данные в формате DataFrame, то делаем следующее  ***

df = intraday_df.resample('D').agg({'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last'})
df = df.dropna() 

Теперь в df содержатся дневки IMOEX.

  *** Вычисляем процентное изменение цены за один день
df['pct'] = df['Close'].pct_change().shift(-1)  

  *** Изменение цены за один день
df['diff'] = df['Close'].diff().shift(-1)              

Делаем стобец для хранения лунных дней
df['age'] = 0.0

mi = pylunar.MoonInfo((55,45,7),(37,36,56))

Здесь цифры (55,45,7),(37,36,56) — широта и долгота г.Москвы



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

Мой доклад на 35-й конференции Смартлаба в Москве: «Парсинг котировок в Microsoft Excel и Google Таблицы с любого сайта»

Бывает, что частные инвесторы не доверяют сервисам для ведения портфеля ценных бумаг и ведут учет своих инвестиций в «Экселе» или «Гугл Таблицах».

Если количество ценных бумаг не так велико, то подобное использование таблиц оправдано:

  • не требуется платить кому-либо за хранение данных;
  • никто не удалит ваш файл, например, за неактивность;
  • отчеты можно сделать такие, как вам нравится.

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

Зачем вообще нужны актуальные цены в таблицах:

  • Инвесторам — для эффективного управления портфелями и рисками.
  • Трейдерам — для оптимизации решений о покупке и продаже с максимальной прибыльностью.


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

Лайфхак для пробойных диапазонных стратегий

    • 13 сентября 2024, 16:08
    • |
    • Ed Khan
  • Еще

Пробой диапазонов – один из популярных видов трендовой торговли. Его популярность основывается на простоте и эффективности. Достаточно выбрать некий горизонтальный диапазон и обложить отложенными стоповыми ордерами. Куда пробьёт – в то направление и становимся. А отложку на другой стороне диапазона можно даже не трогать – она исполнит роль стоп-лосса, если цене вздумается развернуться.

Строить диапазоны можно как угодно: по экстремумам (хай и лоу цены) за период времени, по последним фракталам, да как угодно!

Чем более узкий диапазон мы обкладываем, тем проще цене пройти несколько таких расстояний.
Биткоин прошёл 5000$ за день? Это круто, если мы поймали это движение из диапазона 500$ (10 к 1!). И так себе, если взять его же получилось из диапазона 2500$ (всего-то 2 к 1).

Лайфхак: торгуйте только диапазоны, являющиеся самыми узкими за определённое количество прошлых диапазонов!

Как всегда, ловите пример.

На своей платформе алготрейдинга я сгенерировал простую стратегию, крутящуюся около нуля (такие я называю «мусорными»).



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

Секреты торговой системы для ЛЧИ (+46% за 3 мес) - Ярослав Монахов

 

Для тех у кого тормозит ютуб, напоминаю, что все видосы мы дублируем сюда:

https://vk.com/video/@smartlabru

https://rutube.ru/channel/25760253/

Подпишись там и смотри без тормозов

Следующая конфа смартлаба 26 октября в Москве: https://conf.smart-lab.ru/

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