- Сообщений: 114
Импорт котировок с сайта Мосбиржи с помощью VisualStudioCode (Pyton)
- roman
- Автор темы
- Не в сети
- Модератор
-
Less
Больше
6 мес. 3 нед. назад #38
от roman
roman создал тему: Импорт котировок с сайта Мосбиржи с помощью VisualStudioCode (Pyton)
В ветке рассмотрим вопрос:
1. импорта котировок российских акций с сайта Мосбиржи с помощью VisualStudioCode используя язык программирования Pyton.
2. создание нейронной сети, обучение ее и прогнозирование дальнейшего движения цены акции.
Тема должна быть интересной.
1. импорта котировок российских акций с сайта Мосбиржи с помощью VisualStudioCode используя язык программирования Pyton.
2. создание нейронной сети, обучение ее и прогнозирование дальнейшего движения цены акции.
Тема должна быть интересной.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- roman
- Автор темы
- Не в сети
- Модератор
-
Less
Больше
- Сообщений: 114
6 мес. 3 нед. назад - 6 мес. 2 нед. назад #39
от roman
roman ответил в теме Импорт котировок с сайта Мосбиржи с помощью VisualStudioCode (Pyton)
В начале рассмотрим установку Pyton и Visual Studio Code на компьютер.
1. Установка Visual Studio Code с официального сайта code.visualstudio.com/
2. Установка расширения Python для Visual Studio Code
В верхнем меню перейдите на меню Представление (View) выберите Расширения (Extensions) или щелкните значок Расширения (Extensions) на панели действий в левой части Visual Studio Code.
Чтобы отфильтровать список расширений, введите Python в поле поиска в верхней части представления расширений. Выберите расширение, опубликованное корпорацией Майкрософт (обычно первое в списке). Сведения об этом расширении будут отображаться на вкладке в основной области справа.
3. Установка Python в Windows
Перейдите на официальную страницу загрузки Python: www.python.org/downloads/
Скачаете приложение на компьютер и включите установку программы. После появления диалогового окна установщика выберите Добавить Python 3.8 в ПУТЬ (установить галочку на позиции «Add python to PATH») Примечание:
Обращаю Ваше внимание, что для построения нейронной сети мы будем пользоваться библиотекой «TensorFlow», которая совместима только с 64-битной установкой python (versions of Python 3.5.x and 3.6.x на Windows).
Чтобы убедиться в правильности установкиPython 3, введите следующую команду в командной строке и нажмите клавишу «ВВОД»:
Чтобы проверить, какую версиюPython вы используете, создайте новое приложение Python (новый файл.py), а затем запишите в него следующие строчки:
1. Установка Visual Studio Code с официального сайта code.visualstudio.com/
2. Установка расширения Python для Visual Studio Code
В верхнем меню перейдите на меню Представление (View) выберите Расширения (Extensions) или щелкните значок Расширения (Extensions) на панели действий в левой части Visual Studio Code.
Чтобы отфильтровать список расширений, введите Python в поле поиска в верхней части представления расширений. Выберите расширение, опубликованное корпорацией Майкрософт (обычно первое в списке). Сведения об этом расширении будут отображаться на вкладке в основной области справа.
3. Установка Python в Windows
Перейдите на официальную страницу загрузки Python: www.python.org/downloads/
Скачаете приложение на компьютер и включите установку программы. После появления диалогового окна установщика выберите Добавить Python 3.8 в ПУТЬ (установить галочку на позиции «Add python to PATH») Примечание:
Обращаю Ваше внимание, что для построения нейронной сети мы будем пользоваться библиотекой «TensorFlow», которая совместима только с 64-битной установкой python (versions of Python 3.5.x and 3.6.x на Windows).
Чтобы убедиться в правильности установкиPython 3, введите следующую команду в командной строке и нажмите клавишу «ВВОД»:
py – version
Должно появиться слово Python с набором чисел, разделенных символами. Ниже приведен пример результатов, которые вы можете получить. Чтобы проверить, какую версиюPython вы используете, создайте новое приложение Python (новый файл.py), а затем запишите в него следующие строчки:
import struct;
print(struct.calcsize("P") * 8 )
В результате выполнения программы вы увидите какая разрядная версия Python у вас установлена (либо 32-битная версия, либо 64-битная версия ). print(struct.calcsize("P") * 8 )
Последнее редактирование: 6 мес. 2 нед. назад пользователем roman.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- roman
- Автор темы
- Не в сети
- Модератор
-
Less
Больше
- Сообщений: 114
6 мес. 3 нед. назад - 6 мес. 3 нед. назад #40
от roman
roman ответил в теме Импорт котировок с сайта Мосбиржи с помощью VisualStudioCode (Pyton)
Загрузку котировок мы будем выполнять через запрос к информационно-статистическому серверу Московской Биржи (далее ИСС / ISS). Информационно-статистический сервер Московской Биржи (ИСС / ISS) (
www.moex.com/a2193
) позволяет выполнить загрузку котировок и других данных бесплатно (с задержкой в 15 минут) и без регистрации. Более подробное описание вы можете также посмотреть по ссылке:
iss.moex.com/iss/reference/
В данном случае мы будем запрашивать котировки цены акции за год с интервалом 1 день.
Пример такого запроса показан ниже на примере запроса котировок Сбербанка за 2020 год: Данные по данной ссылке откроются любым браузером (обычный HTTP-запрос к API Московской Биржи) в формате данных json.
В данном случае мы будем запрашивать котировки цены акции за год с интервалом 1 день.
Пример такого запроса показан ниже на примере запроса котировок Сбербанка за 2020 год: Данные по данной ссылке откроются любым браузером (обычный HTTP-запрос к API Московской Биржи) в формате данных json.
Последнее редактирование: 6 мес. 3 нед. назад пользователем roman.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- roman
- Автор темы
- Не в сети
- Модератор
-
Less
Больше
- Сообщений: 114
6 мес. 3 нед. назад - 6 мес. 3 нед. назад #41
от roman
roman ответил в теме Импорт котировок с сайта Мосбиржи с помощью VisualStudioCode (Pyton)
Код проекта на языке программирования Pyton в Visual Studio Code
import json
import math
import urllib.request
import pandas as pd
import matplotlib.pyplot as plt
#1. выбираем тикер акции
ticker = 'GMKN'
j=0
for i in range(2015,2022,1):
#2.1. Формируем запрос к ИСС Мосбиржи
url=' iss.moex.com/iss/engines/stock/markets/shares/securities/ ' + ticker + '/candles.json?from='+str(i)+'-01-01&till='+str(i)+'-12-31&interval=24'
s = urllib.request.urlopen(url).read()
#2.2. парсим текстовый документ из формата json в формат "dict&lists"
dictslists=json.loads(s)
listOHLC=dictslists # выбираем данные находящиеся в разделе 'candles'->'data'
#2.3. копируем OHLC в таблицу(dataframe) пандаса
dfOHLC=pd.DataFrame(listOHLC,columns=)
if j < 1:
ext_array = dfOHLC
else:
frames = [ext_array, dfOHLC]
ext_array = pd.concat(frames,ignore_index=True)
j=j+1
# 3. Вывод информации на экран
print(ext_array)
plt.plot(ext_array)
plt.show()
import json
import math
import urllib.request
import pandas as pd
import matplotlib.pyplot as plt
#1. выбираем тикер акции
ticker = 'GMKN'
j=0
for i in range(2015,2022,1):
#2.1. Формируем запрос к ИСС Мосбиржи
url=' iss.moex.com/iss/engines/stock/markets/shares/securities/ ' + ticker + '/candles.json?from='+str(i)+'-01-01&till='+str(i)+'-12-31&interval=24'
s = urllib.request.urlopen(url).read()
#2.2. парсим текстовый документ из формата json в формат "dict&lists"
dictslists=json.loads(s)
listOHLC=dictslists # выбираем данные находящиеся в разделе 'candles'->'data'
#2.3. копируем OHLC в таблицу(dataframe) пандаса
dfOHLC=pd.DataFrame(listOHLC,columns=)
if j < 1:
ext_array = dfOHLC
else:
frames = [ext_array, dfOHLC]
ext_array = pd.concat(frames,ignore_index=True)
j=j+1
# 3. Вывод информации на экран
print(ext_array)
plt.plot(ext_array)
plt.show()
Последнее редактирование: 6 мес. 3 нед. назад пользователем roman.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- roman
- Автор темы
- Не в сети
- Модератор
-
Less
Больше
- Сообщений: 114
6 мес. 3 нед. назад - 6 мес. 3 нед. назад #42
от roman
roman ответил в теме Импорт котировок с сайта Мосбиржи с помощью VisualStudioCode (Pyton)
Представленный код работает при поддержке следующих библиотек:
1. JSON
Данная функция используется как для разбора формата, так и для создания объектов для отправки.
Python содержит встроенный модуль под названием json для кодирования и декодирования данных JSON.
Дополнительно устанавливать данную библиотеку - не требуется.
2. Pandas
Python не содержит по умолчанию данной библиотеки, поэтому ее нужно установить с помощью команды:pip install pandas
Pandas предоставляет расширенный набор функций и методов для работы и выполнения анализа данных.
3. Matplotlib
Python не содержит по умолчанию данной библиотеки, поэтому ее нужно установить с помощью команды:pip install matplotlib
4. Requests
Библиотека requests позволяет отправлять HTTP-запросы HEAD, GET, POST, PUT, PATCH и DELETE. Все заголовки и параметры добавляются очень просто, также и обработка ответов сервера.
Дополнительно устанавливать данную библиотеку - не требуется.
1. JSON
import json
json - это библиотека Python для работы с форматом передачи данных - json.Данная функция используется как для разбора формата, так и для создания объектов для отправки.
Python содержит встроенный модуль под названием json для кодирования и декодирования данных JSON.
Дополнительно устанавливать данную библиотеку - не требуется.
2. Pandas
import pandas as pd
pandas — программная библиотека на языке Python для обработки и анализа данных. Работа pandas с данными строится поверх библиотеки NumPy, являющейся инструментом более низкого уровня. Предоставляет специальные структуры данных и операции для манипулирования числовыми таблицами и временными рядами.Python не содержит по умолчанию данной библиотеки, поэтому ее нужно установить с помощью команды:pip install pandas
Pandas предоставляет расширенный набор функций и методов для работы и выполнения анализа данных.
3. Matplotlib
import matplotlib.pyplot as plt
Matplotlib — библиотека на языке программирования Python для визуализации данных двумерной (2D) графикой.Python не содержит по умолчанию данной библиотеки, поэтому ее нужно установить с помощью команды:pip install matplotlib
4. Requests
import urllib.request
Request — библиотека на языке программирования Python для работы с HTTP-запросами.Библиотека requests позволяет отправлять HTTP-запросы HEAD, GET, POST, PUT, PATCH и DELETE. Все заголовки и параметры добавляются очень просто, также и обработка ответов сервера.
Дополнительно устанавливать данную библиотеку - не требуется.
Последнее редактирование: 6 мес. 3 нед. назад пользователем roman.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- roman
- Автор темы
- Не в сети
- Модератор
-
Less
Больше
- Сообщений: 114
6 мес. 3 нед. назад - 6 мес. 3 нед. назад #43
от roman
roman ответил в теме Импорт котировок с сайта Мосбиржи с помощью VisualStudioCode (Pyton)
Для вывода графика в "читаемом виде" немного корректируем окончание кода:
from datetime import datetime
def date_convert(date_to_convert):
return datetime.strptime(date_to_convert, '%Y-%m-%d %H:%M:%S').strftime('%Y-%m-%d')
ext_array = ext_array.apply(date_convert)
print(ext_array)
plt.title('1. График '+ ticker) # заголовок
plt.xlabel('2. Дата ') # подпись оси OX
plt.ylabel('3. Стоимость акции, (руб.)') # подпись оси OY
plt.grid(True)
plt.plot(ext_array, ext_array, color = 'r', linewidth = 3)
plt.setp(plt.gca().xaxis.get_majorticklabels(),rotation=-30)
import matplotlib.dates as mdates
plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=80))
plt.xticks(fontsize=10)
plt.yticks(fontsize=10)
plt.show()
В результате получаем график изменения стоимости акции в течение времени для запрашиваемого эмитента
from datetime import datetime
def date_convert(date_to_convert):
return datetime.strptime(date_to_convert, '%Y-%m-%d %H:%M:%S').strftime('%Y-%m-%d')
ext_array = ext_array.apply(date_convert)
print(ext_array)
plt.title('1. График '+ ticker) # заголовок
plt.xlabel('2. Дата ') # подпись оси OX
plt.ylabel('3. Стоимость акции, (руб.)') # подпись оси OY
plt.grid(True)
plt.plot(ext_array, ext_array, color = 'r', linewidth = 3)
plt.setp(plt.gca().xaxis.get_majorticklabels(),rotation=-30)
import matplotlib.dates as mdates
plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=80))
plt.xticks(fontsize=10)
plt.yticks(fontsize=10)
plt.show()
В результате получаем график изменения стоимости акции в течение времени для запрашиваемого эмитента
Последнее редактирование: 6 мес. 3 нед. назад пользователем roman.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.