спасибо за сайт. Но где посмотреть все доступные тикеры, не только мосбиржи ?
Я вижу Перечень тикеров биржи (и это только мосбиржи)
http://api.okama.io:5000/api/namespaces/MOEX
И у меня выходит сплошной текст. А как сделать вывод всех тикеров “имя тикера - имя компании?”
Перечень всех доступных бирж можно получить чрез запрос:
http://api.okama.io:5000/api/namespaces/
Табличную форму данных через API получить нельзя.
Как работать с базой данных показано в ноутбуке с примерами.
Добрый день. Подскажите как делать запрос сразу по нескольким тикерам?
Такой возможности не предусмотрено. API даёт информацию по одному тикеру. Я кстати не видел ни одного API, который бы обладал такой возожмностью.
Через библиотеку okama вы можете запросить информацию по нескольким бумагам. Например, через класс AssetList.
Сергей, добрый день! Бьюсь над получением данных по индексам мосбиржи, и похоже они все недоступны, кроме MCFTR.INDX. Если бы был какой-то статус актива в интерфейсе Database, что он недоступен в данный момент, и по нему можно было фильтровать и искать, было бы очень удобно. Приходится перебирать все возможные варианты, и не понятно - или я что-то делаю не так, или просто источник не работает в данный момент. Соответственно при попытке сделать портфель из IMOEX, IMOEX2 - на выходе в дашборде - пусто. Может это потому что сейчас выходные и биржа не работает? Спасибо!
Была небольшая ошибка в работе сервера данных. Поправил. Теперь данные доступны.
В примерах нашел Доходность за месяц (period=m), а можно ли получить за год? period=y почему-то выводит за день, а не за год.
Где можно посмотреть документацию по API?
Нашел https://okama.readthedocs.io/en/master/index.html, но это не API.
В API period то это просто частота данных. Есть разные типы данных. У каждого из типов данных своя частота. Иногда есть данные с двумя частотами (день, месяц). Данных с частотой 1 год у нас нет.
Если вас интересует доходность какого-то актива за определенный промежуток времени, то надо пользоваться библиотекой okama а не API. В библиотеке есть класс AssetList. По нему есть документация.
Документации по API к сожалению нет. Только примеры из этой ветки. Возможно, когда-то дойдут руки. Пока спрашивайте…
Нашел в библиотеке что-то похожее на годовые доходности okama.AssetList.annual_return_ts — okama 1.5.0 documentation
В ответ на запрос ноутбук выдает в ответ годовые доходности, но в виде диаграммы со столбцами. Нельзя ли получить эти же данные, но в числовом формате? Потому что даже при наведении на столбец не всплывает числовое значение.
Дайте знать, если есть более подходящая тема для таких вопросов.
так замените в примере из документации:
al.annual_return_ts.plot(kind='bar')
на
al.annual_return_ts
… и будут вам числовые данные ![]()
Спасибо за помощь Сергей. Получилось вывести числовые значения в процентах по коду (может кому-то пригодится):
al = ok.AssetList([‘SPY.US’, ‘BND.US’], last_date=‘2021-08’)
annual_returns = al.annual_return_ts
for year, row in annual_returns.iterrows():
spy_ret = f"{row[‘SPY.US’] * 100:+.2f}%"
bnd_ret = f"{row[‘BND.US’] * 100:+.2f}%"
print(f"{year.year}: SPY.US: {spy_ret}, BND.US: {bnd_ret}")
Подскажите еще, если задать активы в разных валютах, то OKAMA выведет годовую доходность для каждого в своей валюте или приведет к общей? Если для каждого в своей, то можно ли как-то привести к общей? В частности, интересуют доходности GSPC.INDX и IMOEX.INDX
Сравнил без указания валюты, а также с указанием (ccy=‘USD’) - результаты одинаковые. Это значит, что OKAMA сразу приводит к USD, что мое указание (ccy=‘USD’) неверно и не сработало?
al = ok.AssetList([‘GSPC.INDX’, ‘IMOEX.INDX’], last_date=‘2025-04’, ccy=‘USD’)
annual_returns = al.annual_return_ts
for year, row in annual_returns.iterrows():
gspc_ret = f"{row[‘GSPC.INDX’] * 100:+.2f}%"
imoex_ret = f"{row[‘IMOEX.INDX’] * 100:+.2f}%"
print(f"{year.year}: GSPC.INDX: {gspc_ret}, IMOEX.INDX: {imoex_ret} (all in USD)")
Еще как вариант выводить в CSV, а дальше работать в EXCEL или в чем угодно:
al.annual_return_ts.to_csv('data.csv')
В csv еще лучше, спасибо.
Уточните пожалуйста, какую доходность OKAMA выводит для активов в разных валютах - для каждого в своей валюте или приведет к общей?
Всегда приводит к общей. Иначе это не имеет смысла. Поэтому во всех виджетах есть настройка Base Currency. Это та валюта, в которой считаются все параметры: риск, доходность, дивидендная доходность и т.п.
Есть ли данные по индексу MSCI World ex USA?
нет… К сожалению индексов MSCI нет вообще никаких.
Спасибо. Может FTSE? Или только российские?
Хорошие новости для тех, кто пользуется базой данных через API.
Теперь полноценная документация в формате Open API доступна по http://api.okama.io:5000/api/
В документации можно посмотреть список всех эндпоинтов, параметры запросов. Можно даже запускать запросы.
Например, поиск в базе данных по тикеру SPERP
Теперь API доступен через HTTPS:
Форматы всех запросов сохраняются. Например, доступные разделы базы данных
https://api.okama.io/api/namespaces/
ВНИМАНИЕ:
Через 3 месяца мы удалим доступ к базе данных без HTTPS. Новые версии библиотеку будут использовать этот протокол для доступа к API.
Пока оба доступа будут работать для обеспечения совместимости со старыми версиями библиотеки.



