В трейдинге акцент часто смещён в сторону поиска идеальных входов, тогда как стратегии выхода остаются в тени. Между тем именно выходы определяют соотношение прибыли и убытков. Раздельное тестирование помогает изолировать входы и оценить, как разные методы управления позицией влияют на результат. В этой статье входы будут выполняться с 50% вероятностью — это устраняет фактор предсказуемости и позволяет объективно сравнивать эффективность различных стратегий выхода.
В статье тестирую две стратегии трейлинг-стопов для Московской биржи на фьючерсном контракте USD/RUB (Si) на часовом таймфрейме, используя язык Pine Script в TradingView.
Под капотом Pine Script: как устроен и для чего используется язык TradingViewГлавный вопрос исследования — какой метод трейлинг-стопа показывает лучшие результаты при одинаковых входах: фиксированный процентный или адаптивный ATR? Простой трейлинг-стоп строго ограничивает риск, но полностью игнорирует рыночную волатильность. В отличие от него, ATR-трейлинг, основанный на значении среднего истинного диапазона, автоматически подстраивается под текущие колебания рынка и способен удерживать прибыль в затяжных трендах.
Pine Script — это язык программирования, разработанный командой TradingView как Domain Specific Language, то есть специализированный язык для решения конкретной задачи — анализа и визуализации финансовых данных. Он создан для тех, кто хочет строить собственные индикаторы, тестировать торговые стратегии и делать всё это прямо в интерфейсе графика — без установки Python, без импорта исторических котировок и без настройки среды разработки.
Pine Script предельно прост по синтаксису, но в то же время достаточно мощный, чтобы покрыть 95% потребностей розничного трейдера. В нём предусмотрены ключевые блоки: работа с таймсериями, доступ к фундаментальным данным, рисование на графике и даже поддержка таблиц.
Pine Script создан с акцентом на простоту: даже если вы раньше не писали код на нём, освоить базовые конструкции можно за вечер. У каждого скрипта есть чёткая структура, и разобраться в ней — первый шаг к созданию собственного инструмента на TradingView.
Хочу поделиться своим опытом разработки скринера и бектестера для анализа акций на основе фундаментальных данных. Это не только автоматизация, но и способ глубже разобраться в инвестиционных стратегиях, которые можно заложить в алгоритм.
Фундаментальный анализ — это метод оценки акций, основанный на финансовых показателях компаний, таких как прибыль, выручка, коэффициенты ликвидности и другие экономические параметры. В отличие от технического анализа, который фокусируется на движении цен, фундаментальный анализ помогает определить реальную стоимость компании и ее перспективы в долгосрочной перспективе.
При этом фундаментальный анализ не так популярен среди частных инвесторов, как технический анализ, поскольку требует глубокого изучения отчетности, макроэкономических факторов и финансовых коэффициентов.
Хочу создать собственный скринер и бектестер для анализа акций по фундаментальным показателям. Чтобы сделать это правильно, нужно понимать не только программирование, но и сам предмет — фундаментальный анализ. В этой статье я разбираюсь какие вообще существуют подходы, а также ищу источники данных.
Понимание силы тренда помогает трейдерам оценить устойчивость движения цены и находить оптимальные точки входа и выхода. Идея индикатора взята из комментария Ийона Тихого (https://smart-lab.ru/mobile/topic/1119895/#comment17905643): он предложил измерять силу тренда через относительное отклонение цены от средней. Формула проста: разница между ценой и средней, деленная на среднюю. Это позволяет оценить тренд независимо от абсолютных значений цены.
В тексте привожу открытый исходный код индикатора для того, чтобы любой человек мог проверить его в своём TradingView.
Индикатор силы тренда показывает, насколько цена отклоняется от своего среднего значения. Он рассчитывается по формуле:
Сила тренда = (Цена – Средняя) / Средняя × 100
Где:
Цена – текущая цена актива (например, цена закрытия свечи).
Средняя – значение скользящей средней (например, 21-периодная экспоненциальная средняя EMA).
Абсолютное отклонение цены от средней меняется в зависимости от уровня цены актива. Например, отклонение в 10 рублей на акции стоимостью 100 рублей и 1000 рублей будет восприниматься по-разному. Деление на среднюю нормализует это значение, позволяя объективно сравнивать силу тренда на разных инструментах и таймфреймах.
На Московской бирже торгуется более 2500 облигаций, но большая часть из них неликвидна — в стакане почти нет предложений и сделок совершается крайне мало. Это затрудняет покупку и продажу таких бумаг. При этом известные мне публичные сервисы не суммируют объемы торгов за период, поэтому сложно быстро найти облигации с высокой ликвидностью.
Пять лет назад написал Node.js-скрипт, затем адаптировал его для Google Таблиц, а теперь разрабатываю Python версию. При помощи сообщества на GitHub эта Python версия идёт к созданию полноценной библиотеки с расширенными возможностями: автоматический поиск ликвидных облигаций, расчет денежных потоков, сбор новостей по эмитентам и вычисление оптимального объема покупки. Все это направлено на помощь простым инвесторам, вроде нас с вами, чтобы оперативно находить выгодные инвестиционные инструменты и принимать решения на основе актуальной информации.
Ликвидность это один из ключевых параметров, поскольку даже высокодоходная бумага бесполезна, если её невозможно купить. В моём скрипте для поиска облигаций используются несколько основных критериев:
В этой статье расскажу о том, как воспроизвел и протестировал торговую систему для фьючерсов Московской биржи, основанную на идеях Александра Резвякова. Недавно, просматривая раздел алготрейдинга на Смартлабе, я наткнулся на видео с его выступления на конференции 2024 года под названием "5-6 идей для построения прибыльной торговой системы на фьючерсах". Меня привлекла четкость и понятность предложенных им правил торговли.
Поскольку я активно занимаюсь автоматизацией процессов и стремлюсь глубже изучить возможности Python библиотеки backtesting.py, мне показалось это хорошей идеей для практического применения.
Хотя я лично не знаком с Александром, полагаю, что публичное представление идеи предполагает возможность её независимого анализа и тестирования сообществом трейдеров и программистов.
Основная идея — открывать сделки в строго определенное время и использовать структуру рынка последних дней для принятия решений.
Добрый день!
Ищу решение для автоматизированного получения исторических фундаментальных данных по российским компаниям. Нужна история изменения P/E, P/S, ROE, EPS, выручки и других показателей за несколько лет для построения скринера и проведения фундаментального анализа.
Проанализировал два доступных API, но везде есть ограничения:
GetAssetFundamentalsResponse(fundamentals=[
StatisticResponse(asset_uid='40d89385-a03a-4659-bf4e-d3ecba011782',
currency='RUB',
market_capitalization=6878249241240.0,
high_price_last_52_weeks=330.45,
low_price_last_52_weeks=219.2,
average_daily_volume_last_10_days=65639361.43,
average_daily_volume_last_4_weeks=60348494.76,
beta=0.8,
free_float=0.48,
forward_annual_dividend_yield=0.0,
shares_outstanding=21586948000.0,
Как частный инвестор, я всегда ищу способы упростить управление своим портфелем. Особенно меня интересуют высокодоходные облигации. Да, они немного «мусорные», но я не стремлюсь быть финансовым аналитиком в этом или детально изучать каждого эмитента.
Моя цель проста: купить бумаги и получать купоны, то есть стабильный доход. Однако, чтобы избежать неприятных сюрпризов, важно вовремя узнавать новости о компаниях-эмитентах.
Если бы у меня было всего 3–5 облигаций, я могу просто периодически пробивать названия эмитентов в поисковике и смотреть, что о них пишут. Но когда в портфеле 10 и более бумаг, такой подход превращается в рутину, на которую жалко тратить время. Автоматизация здесь может существенно упростить задачу.
Почему не использовать готовые решения?
Да, существуют профессиональные сервисы вроде Cbonds или Bloomberg Terminal, которые позволяют отслеживать новости по эмитентам.
В преддверии конференции «Cbonds&Smart-Lab PRO облигации» я, Михаил Шардин и Екатерина Кутняк решили написать статью о том, почему облигации важны и как можно автоматизировать рутинные действия с ними.