import requests import pandas as pd import numpy as np import matplotlib.pyplot as plt
# URL для API MOEX, данные по ZCYC (zero coupon yield curve) url = "https://iss.moex.com/iss/engines/stock/zcyc/securities.json" # Запрос на получение данных response = requests.get(url) data = response.json() # Извлекаем данные из секции 'params' columns = data['params']['columns'] values = data['params']['data'] # Преобразуем в DataFrame df = pd.DataFrame(values, columns=columns) # Выбираем нужные столбцы: B1, B2, B3, T1, G1, ..., G9 df_selected = df[['tradedate', 'tradetime', 'B1', 'B2', 'B3', 'T1', 'G1', 'G2', 'G3', 'G4', 'G5', 'G6', 'G7', 'G8', 'G9']] # Извлекаем параметры для функции GT из df_selected beta0 = df_selected['B1'].values[0] beta1 = df_selected['B2'].values[0] beta2 = df_selected['B3'].values[0] tau = df_selected['T1'].values[0] g_values = df_selected[['G1', 'G2', 'G3', 'G4', 'G5', 'G6', 'G7', 'G8', 'G9']].values[0].tolist()
Всем привет! Наконец-то я закончил работу над своей первой настоящей, правда еще консольной, программой, с помощью которой можно скачать все исторические данные (свечки OHLCV) с различными таймфреймами по всем акциям Мосбиржи. И вроде достаточно простая задача, но отняла достаточное количество времени. И кажется я все больше начинаю понимать как программировать, хотя осознаю, что знаний в безграничном python катастрофически не хватает. Тем не менее получилось сделать то, о чем не мог себе представить еще месяц назад. Открывая сейчас код программы начинаю чувствую на подсознании, что не все так страшно, как было совсем недавно.
Итак, в конце года я писал о том, как с помощью Algopack можно вытащить справочную информацию о всех акциях Мосбиржи. Был написан мой первый небольшой и достаточно простой скрипт использующий библиотеку moexalgo. И я обозначил планы дописать его с целью добычи всех исторических данных.
Сказано – сделано. В итоге получилась, как я считаю, вполне полноценная программа.
Люди добрые, подскажите пожалуйста как выкачать исторические данные скорректированной цены закрытия по российским акциям для Python?
Я хочу в питоне построить модель Марковитца для российских акций и для этого мне нужно откуда то тянуть дату. С амер акциями все просто — используешь API yahoo и все бесплатно, но в июле яху перестал отслеживать рос рынок. Далее посмотрел на API инвстинга но они тоже его в начале 2023 отключили вроде для всех стоков в прицнипе и больше не поддерживают. Полез в Api MOEX (который ISS) но там там можно выкачивать только цену закрытия акций а хочется доставать Скорректированую цену закрытия (с учетом дивов и сплитов). Может вы знаете ответ как можно скачать историю 10 летних торговс скорректированной ценой закрытия для рос акций
может кто уже испытывал эту проблему
Что такое Алгопак я уже писал, как и то, как можно сделать для библиотеки на Python moexalgo документацию из докстрингов – ведь пока никакого хорошего пособия с “разжеванными” примерами от Мосбиржи не существует.
На данный момент я поставил задачу – вытащить исторические данные по российским акциям и в дальнейшем их регулярно обновлять. Это позволит мне при изучении Backtrader использовать данные Мосбиржи для компонента DataFeeds, а также разрабатывать и тестировать на исторических данных собственные торговые стратегии.
Приступим. Отправная точка – раздел moexalgo на Гитхабе. Файл samples/quick_start.ipynb начинается с примера:
Информационно-статистический сервер Московской Биржи (ИСС или ISS) – это сервис, предоставляющий разнообразную биржевую информацию в режиме реального времени, а также итоги торгов и статистические данные.
Основные возможности ИСС:
Данные о ходе торгов в режиме online и итоги торгов доступны только по подписке, естественно платной.
На сайте мосбиржи есть специальный раздел “Программный интерфейс к ИСС“, на котором выложено Руководство разработчика (v.1.4), Описание метаданных и Описание методов.
С этих документов и надо начинать изучать ИИС. Кстати говоря Правила использования биржевой информации Московской Биржи четко определены и наглядно представлены в презентации.