В этом разделе мы обсуждаем новости, идеи по развитию и возможные баги открытой финансовой базы данных okama, доступной через API.
Все данные доступны через http://api.okama.io:5000
Примеры запросов
Доступные типы данных (namespaces):
http://api.okama.io:5000/api/namespaces/
Временные ряды активов (исторические данные)
Месячные данных скорректированных цен закрытия (Adjusted Close)
http://api.okama.io:5000/api/ts/adjusted_close/SPY.US?first_date=2019-01-01&last_date=2020-01-01&period=m
Месячные/дневные данные цен закрытия (Сlose)
http://api.okama.io:5000/api/ts/close/SPY.US?first_date=2019-01-01&last_date=2020-01-01&period=m
История дивидендных выплат
http://api.okama.io:5000/api/ts/dividends/SPY.US?first_date=2018-01-01&last_date=2020-01-01
Доходность за день/месяц
http://api.okama.io:5000/api/ts/ror/SPY.US?first_date=2019-01-01&last_date=2020-01-01&period=m
Макроэкономические данные
Инфляция
http://api.okama.io:5000/api/ts/macro/RUB.INFL?first_date=2019-01-01&last_date=2020-01-01
Ключевая ставка ЦБ
http://api.okama.io:5000/api/ts/macro/RUS_CBR.RATE?first_date=2000-01-01&last_date=2021-05-01&period=d
Лучшие ставки банков TOP-10
http://api.okama.io:5000/api/ts/macro/RUS_RUB_TOP10.RATE?first_date=2000-01-01&last_date=2021-05-01&period=m
Лучшие ставки во всех банках
http://api.okama.io:5000/api/ts/macro/RUS_RUB.RATE
История CAPE 10 Шиллера по странам:
api.okama.io:5000/api/ts/macro/USA_CAPE10.RATIO?first_date=2019-01&last_date=2023-10
Вспомогательная информация
Информация о тикере
http://api.okama.io:5000/api/symbol/SPY.US
Поиск по всей базе данных
http://api.okama.io:5000/api/search/SPY.US
Перечень тикеров биржи
http://api.okama.io:5000/api/namespaces/MOEX
Перечень символов CAPE10 Шиллера по странам:
http://api.okama.io:5000/api/namespaces/RATIO
спасибо за сайт. Но где посмотреть все доступные тикеры, не только мосбиржи ?
Я вижу Перечень тикеров биржи (и это только мосбиржи)
http://api.okama.io:5000/api/namespaces/MOEX
И у меня выходит сплошной текст. А как сделать вывод всех тикеров “имя тикера - имя компании?”
Перечень всех доступных бирж можно получить чрез запрос:
http://api.okama.io:5000/api/namespaces/
Табличную форму данных через API получить нельзя.
Как работать с базой данных показано в ноутбуке с примерами.
Добрый день. Подскажите как делать запрос сразу по нескольким тикерам?
Такой возможности не предусмотрено. API даёт информацию по одному тикеру. Я кстати не видел ни одного API, который бы обладал такой возожмностью.
Через библиотеку okama вы можете запросить информацию по нескольким бумагам. Например, через класс AssetList.
2 сообщения были перенесены в новую тему: Загрузка данных из CSV при создании экземпляра класса Asset
Сергей, добрый день! Бьюсь над получением данных по индексам мосбиржи, и похоже они все недоступны, кроме MCFTR.INDX. Если бы был какой-то статус актива в интерфейсе Database, что он недоступен в данный момент, и по нему можно было фильтровать и искать, было бы очень удобно. Приходится перебирать все возможные варианты, и не понятно - или я что-то делаю не так, или просто источник не работает в данный момент. Соответственно при попытке сделать портфель из IMOEX, IMOEX2 - на выходе в дашборде - пусто. Может это потому что сейчас выходные и биржа не работает? Спасибо!
Была небольшая ошибка в работе сервера данных. Поправил. Теперь данные доступны.
В примерах нашел Доходность за месяц (period=m), а можно ли получить за год? period=y почему-то выводит за день, а не за год.
Где можно посмотреть документацию по API?
Нашел Okama Documentation — okama 1.4.4 documentation, но это не API.
В API period то это просто частота данных. Есть разные типы данных. У каждого из типов данных своя частота. Иногда есть данные с двумя частотами (день, месяц). Данных с частотой 1 год у нас нет.
Если вас интересует доходность какого-то актива за определенный промежуток времени, то надо пользоваться библиотекой okama а не API. В библиотеке есть класс AssetList. По нему есть документация.
Документации по API к сожалению нет. Только примеры из этой ветки. Возможно, когда-то дойдут руки. Пока спрашивайте…
Нашел в библиотеке что-то похожее на годовые доходности okama.AssetList.annual_return_ts — okama 1.4.4 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? Или только российские?
