Копипаст

Копипаст | Трейдер без кода – как брадобрей без бороды. Алгоритмическая торговля с TradingView: как начать, и зачем это надо

habr.com/ru/articles/918228/


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

Почему? Всё просто. Даже если вы открываете свои сделки вручную, то в большинстве случаев конкурируете уже не с людьми, а с кодом. На автоматические и алгоритмические торговые системы приходится:

Более 60% объёма торгов на американском фондовом рынке (данные J.P. Morgan).

От 49,1% до 80% сделок – на российском фондовом рынке, в зависимости от сегмента.

Более 80% объема на спотовом и фьючерсном рынке криптоактивов (по оценкам Binance Research).

Алгоритмическая торговля – это не про волшебные кнопки, которые делают деньги. Это про системность, дисциплину и снижение влияния эмоций. Именно поэтому всё больше участников рынка – от частных трейдеров до крупных институциональных игроков – переходят к алгоритмам.

Вы еще не перешли? А алгоритмы уже идут к вам. И лучше вы их, чем они вас…

Грамотный алгоритм – всегда залог успеха
Грамотный алгоритм – всегда залог успеха
Это моя первая статья из серии, посвященной алгоритмической торговле с использованием TradingView и языка Pine Script. Здесь я буду делиться практическими материалами по созданию торговых индикаторов и стратегий своими руками.

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

Мне есть, чему и кого-то научить. Во-первых, я преподаю финансовую математику и моделирование нестандартных процессов на рынке криптоактивов в Финансовом Институте. Т.е. учить умею. Во-вторых, разрабатываю, тестирую и актуализирую алгоритмические торговые системы для международного инвестиционного криптофонда Wild Boar – действующего, причем весьма эффективно. В общем, мне есть, чем с вами поделиться.

Давайте начинать.

Почему именно TradingView и Pine Script?
На мой взгляд, это идеальная связка для тех, кто хочет быстро войти в сферу и не тратить время на настройку инфраструктуры. В отличие от более профессиональных решений вроде TSLab, MetaTrader или QuantConnect, здесь всё работает из коробки.

Основные преимущества TradingView:

бесплатный доступ к рыночным данным с разных бирж и инструментов;

удобный визуальный интерфейс;

кроссплатформенность – можно писать код даже с телефона;

встроенное хранилище истории котировок, без необходимости вручную загружать CSV или подключать внешние API;

публикация и тестирование индикаторов в пару кликов;

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

Для сравнения: в TSLab вам придётся подключать API каждой биржи отдельно. Причём для фондового рынка это почти всегда платные каналы. Историю тоже нужно будет загружать вручную или получать через внешние источники. Это не плохо, просто не подходит для старта.

Pine Script: коротко о главном
Pine Script – это специализированный язык программирования, разработанный командой TradingView. Его главная особенность – максимальная простота при достаточной гибкости. Он был создан специально для написания пользовательских индикаторов и торговых стратегий прямо в браузере, без необходимости настраивать IDE, подключать сторонние библиотеки или держать котировки на локальной машине.

Pine Script не перегружен синтаксисом: его логика близка к Python или JavaScript, но с ориентацией на анализ временных рядов. Вся работа происходит внутри графика. Вы пишете код, нажимаете «Добавить на график», и скрипт моментально на нем появляется. Не нужно думать о рендеринге, потоках данных или синхронизации с сервером – всё это берёт на себя платформа.

TradingView предоставляет полный доступ к документации по Pine Script, где можно найти описание всех функций, переменных и операторов. Официальную справку можно найти тут.

Если вы до этого никогда не программировали, Pine Script — отличный способ начать. А если вы уже знакомы с кодом, то освоение займёт буквально пару дней. Главное — практика. Именно ей мы дальше и займёмся.

Пишем RSI своими руками
Чтобы познакомиться с основами Pine Script и логикой построения индикаторов, начнём с реализации одного из самых популярных и часто используемых инструментов технического анализа – RSI (Relative Strength Index) или индекса относительной силы.

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

Классическая формула RSI выглядит так:

Классическая формула RSI
Классическая формула RSI
В большинстве случаев для расчёта берётся период в 14 свечей. Алгоритм работает следующим образом:

Рассчитывается изменение цены между текущей и предыдущей свечой.

Эти изменения делятся на положительные (приросты) и отрицательные (убытки).

Считается скользящее среднее приростов и убытков за выбранный период.

Полученное значение подставляется в формулу.

Значение RSI колеблется от 0 до 100. Уровень выше 70 традиционно интерпретируется как сигнал перекупленности, а ниже 30 – как сигнал перепроданности. Однако стоит понимать, что это не торговый сигнал сам по себе, а лишь индикатор потенциального разворота или замедления тренда.

Теперь от слов – к делу.

Чтобы реализовать индикатор RSI на TradingView действуем в описанном ниже порядке.

Шаг 1. Регистрируемся на сайте TradingView.

Шаг 2. Выбираем инструмент или торговую пару и открываем супер-график – так называется панель в TradingView. В качестве примера я выберу BTC/USDT на бирже Binance.

Для этого нажимаю на поисковую строку:

Шаг 2
Шаг 2
Затем печатаю тикер инструмента – в моем случае это BTCUSDT. Далее навожу на нужную биржу и нажимаю кнопку «Открыть график».


Шаг 3. В открывшемся графике перехожу во вкладку «Редактор Pine». Она находится в нижней части экрана, слева, рядом со скринером.


Чтобы открыть область написания кода на Pine Script – нажимаем на кнопку «Редактор Pine». Если вы еще ничего не писали, то, скорее всего, откроется вот такой индикатор по умолчанию:


Шаг 4. А теперь снова немного теории – без нее дальше никак. Первые строки в редакторе, которые вы видите на скрине выше, необязательны. Их можно смело удалить.

Но строка 4, на которой написано: //@version=6 обязательна! Именно она определяет, какая версия Pine Script будет использоваться. У версий есть небольшие отличия в синтаксисе и в функциях, так что еще раз: строку с версией необходимо сохранять.

Далее, уже под ней, вы видите сам код индикатора. Первое, что всегда пишется в редакторе – это то, что мы будем делать. Есть 3 варианта:

Индикатор (рассчитываются и рисуются линии на графике).

Стратегия (дополнительно идет тест результатов стратегии).

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

В этой статье мы рассмотрим первый вариант – то есть индикатор. Об остальных поговорим когда-нибудь в следующий раз. На скрине выше (см. строку 5) как раз индикатор и указан, поэтому оставляем функцию как есть.

Следующее, что идет после функции indicator – это отрисовка, которая запускается с помощью функции plot. Если в коде не будет функции, которая что-то обрисовывает или взывает оповещения, то скрипт не запустится. Это важно учитывать при написании индикаторов и стратегий.

Шаг 5. Давайте напишем сам индикатор RSI. Для этого вставляем в область такой код:

indicator(title = «Relative Strength Index», shorttitle = «RSI», overlay = false)

rsi_period = input.int(defval = 14, title = «RSI period», minval = 1, step = 1)
overbought_line = input.int(defval = 70, title = «Overbought line», minval = 0, maxval = 100, step = 1)
oversold_line = input.int(defval = 30, title = «Oversold line», minval = 0, maxval = 100, step = 1)

rsi(x, y) =>
up = math.max(x — x[1], 0)
down = math.max(x[1] — x, 0)
rs = ta.sma(up, y) / ta.sma(down, y)
result = 100 — 100 / (1 + rs)
result

plot(series = rsi(close, rsi_period), title = «RSI line», color = #147461, linewidth = 2)
hline(price = overbought_line, title = «Overbought line», color = #1474618e, linestyle = hline.style_dotted)
hline(price = oversold_line, title = «Oversold line», color = #1474618e, linestyle = hline.style_dotted)

Выглядеть он должен следующим образом (не забываем про версию Pine Script):


Небольшое пояснение к коду. Первым делом мы объявляем, что будем делать – в нашем случае индикатор. Далее в эту функции входят различные параметры, у каждого из которых есть свое название. Например:

title – название индикатора,

shorttitle – короткое название, которое будет отображаться на графике,

overlay – где будет расположен график (true, тогда все отрисовки будут располагаться на основном графике ИЛИ false, тогда будет создана новая панель снизу основного графика).

Это основные параметры для индикатора. Чтобы посмотреть остальные – можно навести на функцию и с зажатым Ctrl нажать левую кнопкой мыши.

Далее идет блок настроек – то есть те данные, которые мы можем менять в области настроек индикатора. Чтобы не лезть в код каждый раз, это делается с помощью функции input, далее через точку можно добавлять различные окончания:

int означает, что будут целочисленные значения,

float – дробные, то есть можно писать 5.5 или 2.2 и т.д.

По умолчанию стоит 14, 70 и 30, в зависимости от переменной. Далее идет название – чтобы пользователю было понятнее, что он меняет. Затем минимальное и максимальное значение, а также шаг. Есть и другие параметры, но мы пока остановимся на этих.

Следующий блок – функция расчета RSI. Чтобы ее написать, необходимо дать имя и два параметра на вход: x и y.

Когда мы будем вызывать функцию, то вместо x будем подставлять цены, чаще всего цены закрытия (close).

Место y – период, у нас он записан в инпутах.

Далее идет обязательный оператор =>. И на следующей строчке, через Tab, идет вычисление RSI.

Первые две строчки (13 и 14) выбирают максимальное значение из разницы цены текущей и предыдущей (если стоит [1] – значит, это прошлое значение), 0 для роста, разница между предыдущим и текущим днем, и 0 для падения – так, чтобы у нас были значения по модулю.

После чего рассчитывается RS, которую мы видели в формуле. Где среднее значение положительных изменений цены за период в 14 баров (в инпутах стоит период 14) делится на среднее значение положительных изменений цены за период в 14 баров.

Затем рассчитывается значение RSI – также по формуле, которую мы смотрели ранее. И в конце еще раз прописываем, что должна выдавать функция, когда к ней обращаются/вызывают.

Скрытый текст
Далее блок с отрисовками. В функции plot вставляем нашу функцию rsi (close, rsi_period).

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

HEX

RGB (и RGBA)

готовыми цветами, например, color.red.

После цвета определяем толщину линии. Тут можно указывать любое неотрицательное значение.

Ниже функции plot идет hline. По сути – это тоже самое, что и plot, только значение всегда одно и будет нарисована горизонтальная линия (hline → horizontal line).

В данной отрисовке вставляется значение цены, устанавливается цвет и стиль линии. Для plot тоже есть стили, но в hline они более красивые. Плюс есть варианты:

сплошная линия (по умолчанию),

в точку,

в штрих.

Дополнительные параметры можно также посмотреть, нажав левой кнопкой мыши с зажатым Ctrl.

Шаг 6. После того, как мы написали код, его нужно добавить на график. Для этого нажимаем кнопку «Добавить на график» (или «обновить на графике», если вы уже добавляли код и просто что-то в нем поменяли).


После этого на графике появляется дополнительная панель с индикатором.

Панель с индикатором — под графиком
Панель с индикатором — под графиком
Видно, что под графиком добавлена новая панель. Данный индикатор также перерисуется, если изменить таймфрейм. На моем примере – 1 минута. Если перейду на 1 день, значение поменяется (потому что значение цен закрытия будет другое).

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


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


Мы можем задать период для расчета RSI (по коду не менее 1). Или изменить значение для линии перекупленности и перепроданности – это верхняя и нижняя граница соответственно.

Чтобы применить значения, нужно нажать на кнопку «Ок». Если хотим сохранить эти параметры, нажимаем на кнопку «Сделать по умолчанию» (внизу слева).

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

Шаг 7. Чтобы сохранить индикатор, необходимо нажать соответствующую кнопку. Она находится внутри с названием индикатора – если нажать на эту область, всё сохранится.


Указываем название индикатора. Можете придумать что-то эдакое. А по умолчанию оно будет такое же, как и полное название индикатора в коде:


Нажимаем кнопку «Сохранить» – и готово.

Ваш индикатор появится в разделе «Индикаторы» в подтеме «Мои скрипты». Можете даже добавить его в избранное, нажав на звездочку/область слева.


Скрытый текст
На сегодня всё. Надеюсь, статья была для вас интересной и полезной. Если остались вопросы – не стесняйтесь, пишите. А я буду готовить для вас новые материалы. В которых мы продолжим разбирать популярные торговые индикаторы, улучшать их и добавлять туда собственную логику – чтобы постепенно перейти к построению торговых стратегий.

Подписывайтесь и добавляйте статью в избранное, чтобы не потеряться.

До новых встреч!

735 | ★1
32 комментария
Да не, куда алгоритмам конкурировать с человеком, мозг человека — самая мощная нейросеть созданная природой
avatar
SKtrade, но чудовищно медленная, и неспособная поддерживать постоянную концентрацию.
avatar
SKtrade,  ---  а им не нужно  конкурировать  с человеческой мыслью. их  цель проста. 90%  посадить на ИМИ же созданные алгоритмы.
avatar
Не всем же быть программистами.))
Если, скажем, сегодня начать заниматься программированием с нуля, то лет, этак, через 5, у некоторых возможно что-то и получится.)
avatar
"  На автоматические и алгоритмические торговые системы приходится:

Более 60% объёма торгов на американском фондовом рынке (данные J.P. Morgan).

От 49,1% до 80% сделок – на российском фондовом рынке, в зависимости от сегмента.

Более 80% объема на спотовом и фьючерсном рынке криптоактивов (по оценкам Binance Research)." ---  в этом прелесть.  спасибо им всем за доблестный труд  и пока открытые  возможности .

avatar

Здравствуйте, благодарю пока очень интересно, буду ждать продолжение. Подскажите, а циклы while или for в языке pine можно делать? 
 

avatar
Maxx, эти вопросы на сайте хабра задайте, я всего лишь скопировал статью.
Нормальная тема, прям вот сейчас попробовал роботуля в TW запилить, статистика прям фантастически выглядит :) Надо в Lua его попробовать перекодить .



avatar
Программеров, за копейки, полно.
Толк от них — как от машинистки и печатной машинки.
Кода бесплатного — полно, толку от этого?
Алгоритмистов — куча, ну и что? Все бестолковые. Почему?
Потому что это бывшие программеры.
Алгоритмистом может стать только человек с творческим мышлением,
например, поэт, художник или композитор.
Василий Федорович, 
Программеров, за копейки, полно.
Толк от них — как от машинистки и печатной машинки.
Кода бесплатного — полно, толку от этого?
но ведь именно HFT алготрейдеры и получают все те деньги которые сливают 95% спекулей. А брокеры стабильно получают профит от собственных операций на рынке. БОльшая часть этих операций — это маркетмейкерские алгоритмические HFT сделки.
Сергей Олейник, а в чем алгоритмичность HFT сделок? в скорости? и до каких значений эти скорости будут расти за следующие 10 лет?
или в объемах первой сделки? или в направлении первой сделки? а если объем и направление сделки — блеф? тогда вся теория рушиться.
Василий Федорович, 
или в объемах первой сделки? или в направлении первой сделки? а если объем и направление сделки — блеф?
если вы каждую секунду делаете 1000 прибыльных арбитражных сделок, то зачем вам брать риски от направленной торговли?.. Маркетмейкинг-это почти всегда арбитраж… или стат. арбитраж в худшем случае.
и до каких значений эти скорости будут расти за следующие 10 лет?
сколько позволят железо и софт
Сергей Олейник, в этой теории арбитража меня всегда смущает не направление сделки и не 1000 сделок в секунду, а спред и комиссии. Вход — заплати, выход — заплати.
Василий Федорович, 
а спред и комиссии. Вход — заплати, выход — заплати.

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




Сергей Олейник, ок, спасибо.
__rtx, 
Только норма там не в том чтобы лупить по стакану наматывая объёмы
я и не пишу что в этом норма… Но если ты время и спред выдержал, то никто не запрещает лупить по стакан и с каждого пробоя (а это может быть сотни раз в СЕКУНДУ!!! зарабатывать свою копеечку. И явно что маркетос купается в деньгах вовсе не с ребейтов биржи. Даже наш ЦБ уже не выдержал и ограничил агрессивные сделки для маркетосов.

rutube.ru/video/2997fc4b13d6f667ed46acbe60ee64b3/?playlist=539448


Файл со всеми ссылками drive.google.com/file/d/1XRu2wh4jXXUDgXSiaeQrDs-OT_D1YpUW/view?usp=sharing
Тайминг
00:00 введение
01:50 вопрос про двухсторонние котировки
03:00 документ от ЦБР и ссылка на сайт
07:00 фрагмент закона фз 224 в том что касается ММ
07:30 ММ все свои операции делает не опасаясь закона
10:00 какие заявки признаются ММ… то есть это лимитные заявки
11:00 Регулятор требует лишь 75% пассивности от заявок
12:00 оставлена опять огромная дыра в законе для манипуляций...
13:00 Про двухсторонние котировки для поддержании цен.
13:30 выбор самого маркетоса при поддержании спроса, предложения и объёма
14:00 мошенничество в программе СПАН
17:00 фрагменты презентации СПАНа на ММВБ в 2003 году
20:00 про методологию СПАН. Она стала неофициальным стандартом.
21:00 SPAN тщательно скрывают от клиентов


__rtx, 
Допустим хочу я купить по 100, начинаю «спуфить» хомячки встают вперёд, цена улетает до 200. 
так это вы рассуждаете для направленной торговли. А маркетосы 99.9999999999% времени арбитражат. Там спуфинг работает гораздо эффективнее и в любую сторону. Например, вот агрегированный стакан Лукойла прямо сейчас


__rtx, вы про арбитраж слышали?
за такую торговлю надо платить спредом+проскальзыванием из-за чего цена покупок будет сильно выше цены продаж.
если вас спред не устраивает, то вы связку не открываете!!! Какое проскальзывание если ваш сервер в датацентре рядом с ядром биржи!!!

rutube.ru/video/d93dbe5ea5fb5dd01a7e3f893d006c6f/?playlist=539448



на все вопросы оперативно отвечаем в ТГ канале t.me/+DZKVPsxJH7A0YzEy
оригинал видео www.youtube.com/watch?v=j-T8dVLPXmg
Маркет-мейкеры постоянно участвуют в работе рынка, покупая ценные бумаги у продавцов и продавая их покупателям. Предоставляемая ими ликвидность гарантирует инвесторам возможность торговать быстро и по справедливой цене при любых условиях.
Citadel Securities — это компания нового поколения на рынке капитала и ведущий мировой маркет-мейкер. Мы обеспечиваем институциональных и розничных инвесторов ликвидностью, необходимой для торговли широким спектром акций и продуктов с фиксированным доходом в любых рыночных условиях. Самые яркие умы в сфере финансов, науки и технологий используют мощную аналитику для решения самых сложных задач на рынке, превращая масштабные идеи в реальные результаты. Citadel Securities работает в крупнейших финансовых центрах мира, включая Майами, Чикаго, Нью-Йорк, Лондон и Гонконг.
Тайминг
00:50 маркетмейкеры — посредники, без которых финансовая система была бы менее эффективной
01:33 в 1971 году появилась биржа НАСДАК
01:52 объемы торгов утроились в первое десятилетие 21 века
02:07 маркетмейкеры совершают миллиарды сделок за доли секунды

__rtx, 
Если я арбитражу то зачем мне «спуфить» перед собой?
если вы арбитражите разные LOB, то и направления могут быть разные. Если во второй ноге вам не хватает лимитных ордеров то вы спуфингом их подгоните а потом свой ордер снимете.

rutube.ru/video/975cc4f9231c4fef3f3964c318cde29f/?playlist=539448



на все вопросы оперативно отвечаем в ТГ канале t.me/+DZKVPsxJH7A0YzEy
оригинал youtu.be/Sw_nNPR7h84?list=PL9Hyy4Quy-NGcmRHaH4MUgditox3jnDl7
Это видео является частью мини-серии, в которой мы рассказываем обо всех деталях, которые вам нужно знать, чтобы понять, как формируется рынок, что очень важно для большинства компаний, занимающихся quant trading.
тайминг
0:09 одним из основных факторов, влияющих на прибыльность фирмы, занимающейся маркет-мейкингом, является волатильность
1:45 волатильность связана с более высокими объемами продаж и, по логике, торговая фирма предпочла бы зарабатывать на спреде 1 миллион раз в день, а не 100 000 раз в день
2:06 во времена повышенной волатильности мы обычно сталкиваемся с большей неопределённостью что подразумевает увеличение риска для участников рынка и заставляет их расширять свои спреды для учёта этого риска и это также оказывают положительное влияние на прибыльность маркет-мейкеров поскольку более широкие спреды означают, что они могут зарабатывать больше денег на каждой сделке
2:51 большинство торговых фирм также используют нерыночные методы создания стратегии, которые также могут быть улучшены в периоды повышенной волатильности
3:39 механика, которую используют маркет-мейкеры для достижения прибыльности включает хеджирование, арбитраж и общее управление рисками
4:19 направление движения рынков гораздо менее важно, чем волатильность для торговых фирм, что также объясняет, почему торговые фирмы часто очень хорошо работают во время рыночных спадов и крахов



__rtx, если вы этот стакан называете дырявым, то вы просто ничего не понимаете в биржевых технологиях. Там цены перекрываются, а вы про проскальзывание.
__rtx, так вы же две LOB арбитражите, вам просто надо загнать ликвидность внутрь спреда, какая разница как вы это делаете. Можно по всякому.
к своему ордеру с обратной стороны или ноги, руки
да вашего ордера там может и не быть… вы второй ногой можете не стоять лимиткой. Вы же на второй бирже можете не иметь никакого договора.
__rtx, 
Связывать проскальзывание с тем где стоит сервер это как говорить что в четверг телевизор громче.
если ваш сервер быстрее всех вводит заявку и никто не успеет снять свои заявки, то о каком проскальзывании идет речь? Опишите, что вы называете проскальзыванием для маркемейкера…
__rtx, так стакан то вы обсчитали и активной лимиткой взяли ровно ценовых уровней сколько уже стоит в стакане. Это арбитраж, детка.

Читайте на SMART-LAB:
Фото
Аэрофлот 9М25 - испытание демпфером
Аэрофлот представил финансовые результаты по МСФО за 3 квартал и 9 месяцев. Выручка за 9 месяцев выросла на 6,3% г/г до 676,48 млрд рублей ,...
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 5 декабря 2025 г.
Следите за нашими новостями в удобном формате:  Telegram ,  Youtube ,  Смартлаб ,  Вконтакте ,  Сайт
Фото
Что общего у фиксированного купона и флоатера?
Правильно: это типы облигаций! Главные отличия собрали в карточках, а подробный гайд по выбору облигаций читайте в статье . #всенабиржу...

теги блога Сергей Олейник

....все тэги



UPDONW
Новый дизайн