Вопросы по работе библиотеки okama

Не очень понял вопрос. Если есть временной ряд дневных adj_close, можно выкинуть все данные кроме последних в месяце и получить из этого ряда месячный.

Всё что считается в Portfolio, AssetList, EfficientFrontie основано на месячных данных полной доходности.

1 лайк

Да, спасибо большое! После того, как задал вопрос, появилось такое предположение, сегодня хотел его проверять. Больше вопросов нет. Спасибо большое за ответы и Ваш проект!

1 лайк

Я пока отвечал на ваши вопросы, заметил, что в документации okama отсутствуют все методы, которые наследуются классами Portfolio, AssetList и EfficientFrontier у материнского класса ListMaker. Там как раз есть описание всего, что связано с месячными рядами Adjusted Close. Так что вопросы в любом случае полезны. Надо доработать отображение документации (Issue 53).

Начал осваивать библиотеку. Очень хорошая идея и реализация.От души благодарю!

Подскажите, пожалуйста, как учесть сплиты в дневных рядах (по аналогии с Adjusted Close), только без остальных корпоративных действий? Может есть информация по сплитам как по дивидендам?

К сожалению, такой информации нет. Поставщик данных предоставляет для библиотеки уже готовую информацию по adjusted close. Отдельной информации по сплитам нет…

Заметил, что Asset.price округляет значение до двух знаков после запятой. Иногда это существенно меняет цену, особенно у активов с ценой менее 0.1.
Можно ли настроить это округление?

Да, думаю можно сделать более точное округление. 3х знаков после запятой хватит или нужно 4?

Можно применить такое правило:

  • если значение < 0.1 то до 4-х знаков,
  • если < 1 то до 3-х,
  • в остальных случаях до 2-х.
    Благодарю!

Хорошее правило. Сделал.

Заодно отключил кэширование для price. Минимальная частота обновления информации - 1 минута. Задержка 15-20 мин.

Округление теперь работает замечательно - благодарю!

Теперь вопрос по поводу ребалансироки активов в портфеле. Какая дата считается началом периода ребалансировки? Можно ли добавить периоды в 3 и 6 месяцев и сделать ребалансировку по правилу (превышение определенного порога в изменение весов активов)? И комбинацию этих двух подходов (по времени и по порогу).

Сейчас день ребалансировки - это последний день месяца (ежемесячная ребалансировка), последний день года (ежегодная ребалансировка).

Другие стратегии ребалансировки есть в планах. Более того, работа по ним уже идет. Но нас слишком мало, чтобы делать подобные вещи быстро. Присоединяйтесь к команде разработчиков, если опыт позволяет и есть желание :slight_smile:

Опыта в Python маловато, но желание присоединиться есть :slight_smile:

1 лайк

Свойство Asset.price, почему-то, перестало возвращать значение.

Когда, запрашиваете эти данные, необходимо иметь ввиду, что на бирже может не быть торгов. Плюс задержка по времени 20-30 минут.

Спасибо! Понял.
Поменялся тип данных Asset.price? Раньше, при отсутствии данных, был возврат None, теперь NaN.

Вроде, торги на бирже сейчас есть, но Asset.price выдает NaN.

Да, есть такое. Для Мосбиржи почему-то перестали приходить данные. По остальным биржам показывает. Запрошу поддержку.

Обещают починить через 1-2 недели. Что-то у них там изменилось.