Pull to refresh
4
0
Сергей Кикевич @Chilango

Математик

Send message

Дело в том, что ЦБ дает официальные курсы валют только к рублю. Кросскурсов (EURUSD) в базе данных нет. Правильный формат запроса для курса евро:

cbrapi.get_time_series(symbol='EUR', first_date='2019-01-01', last_date='2020-12-31', period='D')

Запрос с тикером EURXXX даст ровно такой же результат.
Убедиться в этом можно запросив внутренний код ЦБ для разных валютных пар.

cbrapi.get_currency_code('EUR')

R01239

cbrapi.get_currency_code('EURRUB.CBR')

R01239

cbrapi.get_currency_code('EURUSD.CBR')

R01239
Это особенность API ЦБ. cbrapi просто передает туда запросы. Хотя предусмотреть какую-то защиту от неправильных запросов можно было бы.

П.С. В документации к функции get_time_series действительно есть ошибка. Мы её поправим.

Спасибо. Мы тоже когда-то помучались. Потом жизнь вынудила :)

Паша, спасибо большое за статью. Когда-то делал своё небольшое исследование и пришел к аналогичным выводам. Много раз отвечал отрицательно на вопросы подписчиков и клиентов, по поводу стоит ли связываться с ICN.

А с чего вы взяли, что этот вопрос к автору именно этой статьи? :)

У Сергея всё правильно написано. Но он считает в упрощенном варианте по годовым доходностям. Тогда лучше брать геометрическую разницу. В моём случае расчет идет через месячные данные. Это более точный вариант, так как учитывается капитализация месячных дивидендов.

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

Даже если вы не держите ценные бумаги на ИИС, всё равно есть возможность не платить налог вообще. Для этого существует ЛДВ (Льгота за долгосрочное владение ценными бумагами). Достаточно на обычном брокерском счете не продавать паи БПИФ 3 года и НДФЛ платить не надо.

Всё верно. Только налог с дивидендов акций, которые вращаются на бирже, удерживается брокером не в конце года а при выплате. Что еще менее выгодно дли инвестора.

Что-то я не понял. А где ссылка на репо?

Спасибо. Интересный проект. Но отличия ровно такие, о которых я говорил в статье. Данные преимущественно по рынку США (плюс валюты и глобальные индексы). Математика стремится к нулю. Как обычно, крен в сторону трейдинга.

Биржа - тоже не совсем удачный пример. Она не делится бесполезной, то есть бесплатной, информацией. Она дает людям инструмент, чтобы они проводили на ней сделки.

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

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

В законе нигде не говорится, что это должно публиковаться через API. А это небо и земля. Я, например, с муками забираю данные по инфляции из экселек на сайте Росстата. Данные из нашей ЕМИСС, где куча полезной информации, вообще пока не получается забрать. Не хотят люди сделать удобный программный интерфейс. Хотя сами разрабатывали дорогущий сайт и получают бесплатно кучу информации.

Кому-то хватает публичных данных. Ок. А кому-то эти данные покажутся жалкими крохами, а за полные "печеньки" надо платить.

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

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

Это верно только для тех, кто действительно построил свой бизнес на "сборе данных". На мой взгляд, это умирающий вид коммерции. Я здесь писал про те организации, для которых данные - это побочный, а не основной продукт. Такими организациями являются Центральные банки. Например, у российского ЦБ есть отличный API с данными по ключевой ставке, курсам валют и т.п. Еще побочным продуктом являются данные для фондовых площадок. Пример Мосбиржа - тоже отличный API с массой полезной информации. Хотя хотелось бы больше :)

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

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

Всего лишь от "Бритвы Оккамы".
Ничего лишнего...

Спасибо за статью. Есть ли возможность делать подобные моки с помощью pytest? У меня есть ощущение, что "весь прогрессивный мир" уже давно перешел от unittest на более продвинутые методы тестирования.

Обнаружил одну неприятную деталь… если при экспорте в EXCEL используется объект Styler (со стилями), то не работают почти все методы XlsxWriter для установки стилей. В чем собственно неприятность… экспорт формата чисел (типа количества знаков после запятой) в EXCEL пока не поддерживается. Следовательно, форматы чисел необходимо «допиливать» через XlsxWriter. Но они эти методы не работают, если мы передаем Styler а не голый формат DataFrame. Работает правда .write Но этот метод не умеет писать форматы без данных.

Вывод… приходится выбирать между красивым и удобным форматированием в Styler и «дубовым» форматированием объектов XlsxWriter. Вместе они не работают…

Может быть с openpyxl лучше дела?
Проверил. Действительно многие из форматов переносятся в EXCEL. Жаль только .format не поддерживается после переноса. В любом случае это здорово упрощает жизнь. Форматирование результата через тот же XlsxWriter, это мягко говоря неудобная вещь.
Спасибо. Очень а полезно!
Вопрос… а будут ли сохраняются форматы после экспорта в EXCEL?
Спасибо. Хороший принцип. Только я бы не стал на 100% ориентироваться на запросы клиентов. Так никогда бы не родился iPhone. Да и ваш сервис тоже не родился бы скорее всего :)
1

Information

Rating
4,544-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Chief Technology Officer (CTO)
Lead
Python
OOP
Linux
Bash
English