Откроем сайт компании «Финам» www.finam.ru в браузере. Перейдём по ссылке Теханализ.
Сайт «Финам»
На открывшейся странице переходим по ссылке Экспорт котировок.
Ссылка на страницу экспорта
Выбираем Российские индексы в выпадающем списке.
Выбор индексов
В выпадающем списке инструментов выбираем IMOEX.
Выбор инструмента
Установим следующие настройки экспорта данных:
— интервал: диапазон дат 10 лет
— периодичность: 1 день
— разделитель полей: точка с запятой
— разделитель разрядов: нет
— формат записи: TICKER, PER, DATE, TIME, OPEN, HIGH, LOW, CLOSE, VOL
— добавить заголовок файла: да
Настройки экспорта
Нажимаем кнопку Получить файл. Сохраняем файл на диске и обращаем внимание, куда именно его сохранили. Ведь этот файл нам предстоит загружать в Excel.
Для начала ознакомимся с форматом файла. Откроем загруженный файл в текстовом редакторе Notepad (Блокнот). В первой строке находятся заголовки столбцов. Поля разделены точками с запятой. Целая и дробная часть числа разделены точкой. Напомним, что в английской версии Excel в качестве разделителя используется ТОЧКА, в русской версии — ЗАПЯТАЯ. Закрываем окно редактора.
Текстовый файл
Переходим в окно Excel и выбираем в меню
File — Open — Browse — Text Files
Файл — Открыть — Обзор — Текстовые файлы.
Загрузка текстового файла
Выбираем файл и нажимаем кнопку
Open
Открыть.
В окне
Text Import Wizard — Step 1 of 3
Мастер текстов (импорт) — шаг 1 из 3
устанавливаем пункт
My data has headers
Мои данные содержат заголовки.
Убеждаемся, что в разделе
Original data type
Формат исходных данных
указан формат данных
Delimited
(с разделителями).
Нажимаем кнопку
Next
Далее.
Мастер импорта — шаг 1
Результат импорта можно контролировать в нижней части диалогового окна мастера импорта
Preview of file
Предварительный просмотр файла.
На следующих шагах импорта эта часть окна будет называться
Data preview
Образец разбора данных.
По умолчанию в качестве разделителя полей установлен символ табуляции
Delimiters — Tab
Символом-разделителем является — табуляция.
На этом шаге программа не разделяет поля и рассматривает содержимое каждой строки как одну ячейку.
Мастер импорта — шаг 2
Установим точку с запятой в качестве разделителя:
Delimiters — Semicolon
Символом-разделителем является — точка с запятой.
Разделитель — точка с запятой
Убеждаемся, что в разделе предварительного просмотра появились столбцы.
Нажимаем кнопку
Next
Далее.
Выбранный формат данных для каждого столбца выводится в нижней части окна
Text Import Wizard — Step 3 of 3
Мастер импорта — шаг 3
в разделе
Data preview
Образец разбора данных.
По умолчанию для всех столбцов установлен общий формат
Column data format — General
Формат данных столбца — Общий.
Можно видеть, что столбец <DATE> рассматривается как целое число. Мы догадываемся, что в этом столбце записана дата в формате «год-месяц-день». Нужно сообщить об этом мастеру импорта.
Общий формат
Настроим формат даты. Выбираем столбец <DATE> и устанавливаем формат записи даты:
Column data format — Date — YMD
Формат данных столбца — дата — ГМД.
Формат даты
Теперь разберёмся с форматом дробных чисел. Нажимаем кнопку
Advanced
Подробнее.
Убеждаемся, что в качестве разделителя целой и дробной частей
Decimal separator
Разделитель целой и дробной части
установлена точка — как и в формате импортируемого файла.
Нажимаем кнопки ОК и
Finish
Готово.
Разделитель — точка
Файл загружен в Excel. Убеждаемся, что импорт прошёл успешно. Дата распознана как дата — это видно в самих ячейках и в строке формул. Числа с дробной частью распознаны как числа. Напомним, что числа по умолчанию выравниваются по правому краю ячейки, а такст прижимается влево.
Результаты импорта
Копируем страницу значений индекса в отчёт. Для выделения заполненных ячеек используем комбинацию клавиш Ctrl + Shift + Up и Ctrl + Shift + Down. Стрелки вверх и вниз позволяют не только перемещаться на одну строку, но и перейти в начало и конец заполненныго диапазона ячеек. Удаляем неинформативные столбцы — тикер, период, время. Делаем заголовок.
Значения индекса
Настроим формат вывода даты. Выделяем столбец дат. В контекстном меню выбираем
Format Cells — Number — Category — Date — Locale (location) — Russian
Формат ячеек — Число — Числовые форматы — Дата — Язык (местоположение) — русский.
Пример отображения даты в выбранном формате можно сразу же наблюдать в разделе
Sample
Образец.
Формат даты
Теперь даты выглядят более привычно: год-месяц-день. При этом в строке формул дата по-прежнему выводится в американском формате месяц/день/год — в английской версии пакета.
Формат даты
Построим биржевую диаграмму японских свечей. Выделяем столбцы <DATE>, <OPEN>, <HIGH>, <LOW>, <CLOSE>. Для биржевой диаграммы они должны идти именно в таком порядке. Можно также строить график без указания даты. В любом случае, в исходном наборе данных должны присутствовать все четыре цены.
Выбираем в верхнем меню
Insert — Charts — Insert Waterfall, Funnels, Stock, Surface, or Radar Chart — Stock — Open-High-Low-Close
Вставка — Вставить каскадную, воронкообразную, биржевую, поверхностную или лепестковую диаграмму — Биржевая — Биржевая (курс открытия, самый высокий курс, самый низкий курс, курс закрытия).
Построение свечного графика
Отключаем легенду. Вводим заголовок диаграммы.
Свечной график
Можно рассмотреть поведение графика за текущий год. Установим масштаб по горизонтальной и вертикальной осям, как показано на рисунке.
Масштаб
На графике видны регулярные перерывы. Возможная причина — отсутствие торгов по выходным дням. Но этот момент мы разберём чуть позже.
График за 2019 год
Затем получим котировки обыкновенных акций Сбербанка. Выбираем категорию МосБиржа акции или Мосбиржа топ. Затем выбираем инструмент Сбербанк.
Экспорт котировок Сбербанка
Для дальнейшей работы скопируем оба массива данных на новый лист — Индекс Мосбиржи и обыкновенные акции Сбербанка.
Проверим качество данных. Найдём разность соседних дат. Это шаг по времени, который должен быть постоянным. При экспорте биржевых данных мы выбрали дневные данные. Это значит, что шаг равен 1 дню. В случае выходных и праздничных дней шаг может увеличиться.
Создаём новый столбец:
Шаг — число дней между соседними строками.
Шаг по времени
Наши расчёты основаны на том, что Excel хранит дату как ПОРЯДКОВЫЙ НОМЕР ДНЯ, начиная с 1 января 1900 года. При выводе на экран применяется выбранный способ отображения даты, в нашем случае это ГГГГ-ММ-ДД. Мы можем изменить формат вывода, но содержимое ячейки при этом не меняется. Это по-прежнему порядковый номер дня. Когда мы находим разность соседних дат, мы фактически вычитаем одно целое число из другого. Результат — число дней между датами.
Посмотрим на календарь. Вызываем приложение Calendar. Выбираем 2009 год. Видим, что 17 и 18 января 2009 года — это выходные дни. А по выходным на бирже торгов нет. Так что между соседними рабочими днями будет шаг 1 день, а пятницей и понедельником — 3 дня.
Выходные дни
Чтобы увидеть порядковый номер дня, выделим ячейку с датой и выберем в контекстном меню
Format Cells — Number — Category — General
Формат ячеек — Числовые форматы — Число — Общий.
При выборе формата General мы увидим исходное содержимое ячейки. Наше число показано в разделе
Sample
Образец
диалогового окна
Format Cells
Формат ячеек.
Выясняется, что дата 11 января 2009 года на самом деле хранится как число 39824. То есть это 39824-й день от начала отсчёта (1 января 1900 года). При этом в строке формул та же самая дата выводится как 1/11/2009. Это американский формат MM/DD/YYYY. Сначала месяц, потом день и в конце — год.
Порядковый номер дня
Построим диаграмму разброса «Шаг по времени в зависимости от номера записи». Большинство значений равны 1 и 3. Но есть и долгие перерывы.
Шаг по времени
Подводим курсор к самой высокой точке и видим, что это пара чисел (497, 12). На 497 строке нашего массива данных разность дат составила 12 дней. Это новогодние выходные с 31 декабря 2010 года по 10 января 2011 года — см. рисунок.
Новогодние выходные
Сравним данные по индексу и выбранной ценной бумаге. Найдём разность дат наших двух массивов. Построим график разностей. Разность в пять дней обнаруживается в апреле 2016 года. Сравним эти даты.
Расхождение дат
При внимательном рассмотрении таблицы выясняем, что в данных о биржевом индексе есть данные за 23 февраля 2016 года, а в котировках акций Сбербанка эта строка отсутствует. Можно предположить, что в этот праздничный день торгов, скорее всего, не было. Получается, что в наших данных разница на один день. На этот сдвиг наложилась разница соседних дат.
Расхождение дат
Загрузите данные в соответствии со своим вариантом и проведите анализ массива. Какой шаг по времени в каждом массиве по отдельности? Есть ли разница дат в двух массивах? Зафиксируйте выводы на текущей странице отчёта.
Для анализа связи нам нужны пары значений, относящиеся к одним моментам времени. Должна быть синхронность. Качество данных нужно проверять. Как гласит народная мудрость, ДОВЕРЯЙ, НО ПРОВЕРЯЙ.
Проверим другие источники информации.
{quote}{login=egonomist}{date=16.11.2011 08:45}{thema=}{post}для выгрузки данных
Очень интересно посмотреть на ваш файл, если он очень большой — залейте на файлообменик и дайте ссылку.{/post}{/quote}
метод такой
Sub GetData()
‘ thanks to Ron McEwan :^)
Dim QuerySheet As Worksheet
Dim DataSheet As Worksheet
Dim EndDate As Date
Dim StartDate As Date
Dim Symbol As String
Dim Period As Integer
Dim qurl As String
Dim nQuery As Name
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Set DataSheet = ActiveSheet
StartDate = DataSheet.Range(«C2»).Value
EndDate = DataSheet.Range(«C3»).Value
Symbol = DataSheet.Range(«C1»).Value
If DataSheet.Range(«C4»).Value = «H» Then
Period = 7
ElseIf DataSheet.Range(«C4»).Value = «D» Then Period = 8
Else: Period = 9
End If
Range(«C7»).CurrentRegion.ClearContents
‘construct the URL for the query
qurl = «http://export.finam.ru/» & Symbol & «?d=d&m=1&em=16842»
qurl = qurl & «&df=» & Day(StartDate) & «&mf=» & Month(StartDate) — 1 & «&yf=» & Year(StartDate) _
& «&dt=» & Day(EndDate) — 1 & «&mt=» & Month(EndDate) — 1 & «&yt=» & Year(EndDate) _
& «&p=» & Period & «&f=» & Symbol & «&e=.csv&cn=» & Symbol _
& «&dtf=1&tmf=1&MSOR=0&sep=1&sep2=1&datf=4&at=1»
‘qurl = «http://chart.yahoo.com/table.csv?s=» & Symbol
‘qurl = qurl & «&a=» & Month(StartDate) — 1 & «&b=» & Day(StartDate) & _
«&c=» & Year(StartDate) & «&d=» & Month(EndDate) — 1 & «&e=» & _
Day(EndDate) & «&f=» & Year(EndDate) & «&g=» & Range(«E3») & «&q=q&y=0&z=» & _
Symbol & «&x=.csv»
Range(«c5») = qurl
QueryQuote:
With ActiveSheet.QueryTables.Add(Connection:=»URL;» & qurl, Destination:=DataSheet.Range(«C7»))
.BackgroundQuery = True
.TablesOnlyFromHTML = False
.Refresh BackgroundQuery:=False
.SaveData = True
End With
Range(«C7»).CurrentRegion.TextToColumns Destination:=Range(«C7»), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, other:=False
Range(Range(«E7»), Range(«E7»).End(xlDown)).NumberFormat = «mmm d/yy»
Range(Range(«D7»), Range(«G7»).End(xlDown)).NumberFormat = «0.00»
Range(Range(«H7»), Range(«H7»).End(xlDown)).NumberFormat = «0,000»
Range(Range(«I7»), Range(«I7»).End(xlDown)).NumberFormat = «0.00»
With ThisWorkbook
For Each nQuery In Names
If IsNumeric(Right(nQuery.Name, 1)) Then
nQuery.Delete
End If
Next nQuery
End With
‘turn calculation back on
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True
Range(«C7:I2000»).Select
Selection.Sort Key1:=Range(«C8»), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range(«B4»).Select
End Sub
Ссылка для скачивания файла:
http://ifolder.ru/26981392
Скачивание котировок акций и фьючерсов с сайта «Финам»
15.04.2019
Скачивание котировок акций и фьючерсов с сайта «Финам» с удобными настройками и отборами. Можно выбрать любой, даже самый большой период времени. Есть возможность сохранения в отдельные файлы данных по ценам за каждый день.
Программа позволяет скачать данные по котировкам акций и фьючерсов с сайта Финам, где они доступны в открытом доступе. Настройки сохранения аналогичны настройкам на сайте.
В отличие от сайта, позволяет сохранить данные в отдельные файлы по дням. Это бывает актуально в случае загрузки данных по «тикам».
Также решена проблема выбора слишком большого периода. При попытке скачать с сайта данные за большой период, сохранение не производится.
Данные сохраняются в файлы с расширением txt или csv. Программа написана на языке C#.
Как происходит сохранение вручную на сайте?
На сайте открыть нужно раздел Про рынок и найти Экспорт данных.
Попадем на такую страницу:
Как работает программа?
Главная задача, которую решает программа — есть возможность сохранять данные в отдельные файлы за каждый день.
При ручном сохранении котировок создается только один файл, в который помещаются данные за все дни этого интервала (если интервал будет большим, то вообще не скачается файл).
Итак:
- В программе предусмотренны те же настройки, что и на сайте и доступны все тикеты акций и фьючерсов.
- Программа начнет скачивает каждый день в отдельный файл.
- Программа работает на Windows XP, Windows 7, Windows 8.1, Windows 10 и WindowsServer 2012 R2 Standart — то есть во всех современных операционных системах.
- Скачивание всех данных в общий файл также поддерживается.
Обслуживание программы
В течение 12 месяцев после покупки обновления программы предоставляются бесплатно.
В течение этого срока оказываю консультации по переписке на Инфостарте, через электронную почту или по телефону по работе с программой.
Возможна доработка программы по Вашему запросу. С заявками на доработку обращайтесь через личные сообщения.
Программа поставляется в скопилированном виде, то есть она собрана. Вместе с программой предоставляются исходные коды программы. То есть возможно ее любое самостоятельно изменение. Для редактирования будет необходимо установить среду Microsoft Visual Studio 2013 и выше.
Программа для своей работы не требует установки. Для запуска из каталога программы нужно запустить файл с расширением *.exe.
Причины купить
При необходимости собрать данные по «тикам» эта программа сэкономит огромное количество времени. Она простая, удобная, быстрая и делает то, что нужно.
Сравнение версий
06.10.2023 — выложена проверенная в реальной работе версия программы вместе с исходными кодами.
Гарантия возврата денег
ООО «Инфостарт» гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.
Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.
Для возврата оплаты просто свяжитесь с нами.
Эта статья о том, как построить в Microsoft Excel графики акций по данным котировок в текстовом файле, который можно скачать у агрегатора брокера ФИНАМ. О том, где взять файл с ценами на акции для построения графика в Excel есть целая статья Цены акций и облигаций
Исходный файл для графика цен по выбранной бумаге скачивается в формате csv. Это обычный текстовый файл, где поля данных просто разделены запятыми. Это очень удобно для обработки этого файла в Microsoft Excel.
Шаг первый — открываем файл формата csv с ценами на акции в Microsoft Excel для построения графика
В «Проводнике » операционной системы Windows кликаем левой кнопкой мыши, чтобы выделить файл и нажимаем правую кнопку мыши, чтобы открыть контекстное меню «Проводника».
Возможно, что в операционной системе формату файлов в csv не назначен по умолчанию обработчиком Microsoft Excel. В этому случае нужно воспользоваться контекстным меню «Проводника», чтобы выбрать «Открыть с помощью >> Microsoft Office Excel»
Итак, после выполнения вышеописанных действий перед глазами должна открыться следующая картина, как на рисунке ниже. То есть, все данные видны, но они как-то сгрудились в единую кучу: цены, даты, тикер и прочее. То есть, собрались хоть и по разным строчкам, но в одном столбце.
Для того, чтобы разобрать данные по столбцам и нужен был формат текстового файла csv. Эти запятые между полями данных очень удобно использовать для разделения этих полей по столбцам с помощью внутренних средств Excel.
На ленте меню кликом левой кнопки мыши следует перейти в раздел ленты «Данные». Затем, кликнуть левой кнопкой мыши по «шапке» крайнего левого столбца, чтобы его выделить, как на рисунке ниже.
После того, как крайний левый столбец выделен, а на ленте меню активирована вкладка «Данные» следует кликнуть левой кнопкой мыши по элементу «Текст по столбцам». Смотрим на рисунок ниже:
После клика мышью по элементу «Текст по столбцам» открывается диалоговое окно для настройки сортировки данных. Нам требуется кликнуть левой кнопкой мыши по «радиокнопке» напротив опции «с разделителями». После этого можно нажимать кнопку «Далее».
На втором шаге в диалоговом окне настройки следует поставить два флажка в разделе «Символом-разделителем является:» напротив «знак табуляции» и «запятая». После установки флажков следует нажать кнопку «Готово».
На самом деле еще не все «Готово», хотя график уже можно построить. Давайте посмотрим, что у нас должно получиться при нажатии на кнопку «Готово».
Вот такие символы «######» в Microsoft Excel появляются, когда для отображения данных не хватает ширины ячейки. Чтобы Excel сам определил какая требуется ширина — нужно навести курсор мыши на правую границу шапки столбца, в котором отображаются «######».
Курсор Excel должен принять форму вертикальной линии с двумя жирными перпендикулярными стрелочками. Когда курсор принимает такую форму, то двойной щелчок левой кнопки мыши раздвигает весь столбец до необходимой ширины для корректного отображения данных.
Замена с помощью Excel в ценах на акцию точки на запятую для отделения дробной части
Теперь, когда дата отображается корректно — нужно разобраться с ценами. Все дело в разделителе целой и дробной частей числа. Excel не воспринимает точку, как разделитель — ему нужна запятая, а чтобы построить правильный график — без дробной части цены не обойтись. Можно, конечно, изменить настройки операционной системы, но проще поменять в данных точку на запятую с помощью средств самого Excel.
Для этого нужно выделить все столбцы, в которых содержатся непосредственно цены акций и точку заменить запятой. Чтобы это сделать, следует кликнуть по шапке крайнего левого столбца левой кнопкой мыши. Затем, нужно нажать и удерживать на клавиатуре клавишу «Shift», а левой кнопкой мыши кликнуть по шапке крайнего правого столбца.
Столбцы с ценами на акции «OPEN», «HIGH», «LOW», «CLOSE» должны выделиться как на рисунке.
После того, как столбцы с ценами на акцию выделены нужно перейти на вкладку ленты меню «Главная» и кликнуть левой кнопкой мыши по пункту вкладки «Найти и выделить».
В выпадающем списке пункта меню «Найти и выделить» следует кликнуть левой кнопкой мыши по строке «Заменить».
Для тех, кто любит «горячие клавиши» — в Excel для вызова этого диалогового окна, вместо блуждания по менюшкам, можно просто удерживая клавишу «Ctrl» нажать клавишу «h».
Неважно каким образом вы вызвали это диалоговое окно — используя менюшки или нажав «Ctrl+h». Важно, что в первой строке с наименованием «Найти» нужно поставить точку, а во второй строке с наименованием «Заменить на» нужно поставить запятую.
Когда мы указали Microsoft Excel что и на что нужно заменить — можно нажимать кнопку «Заменить все».
После нажатия кнопки «Заменить все» в выделенных столбцах все точки должны быть заменены запятыми и во всех ценах на акцию дробная часть, как требуется для Excel, отделена уже запятой.
О том, какое количество замен удалось произвести Excel сообщит в диалоговом окне.
В нашем примере Excel заменил в ценах на акцию 3136 точек на 3136 запятых. Можно нажимать кнопку «ОК».
График цен акции в форме японских свечей начало построения с помощью Excel
Наконец-то, когда данные разбиты по столбцам, а точки заменены на запятые — пришло время построить долгожданный график цен на акции в форме японских свечей.
Для построения графика требуется сначала выделить цены на акцию в столбцах с названиями «OPEN», «HIGH», «LOW» и «CLOSE».
Наводим курсор мыши на верхнюю ячейку с ценой акции из столбца «OPEN» и кликаем левую кнопку мыши, после чего ячейка выделяется жирной черной рамочкой. Затем, прокручиваем за ползунок (который находится слева на листе Excel) или с помощью колесика мыши лист Excel в самый низ, где заканчиваются цены на акцию.
Промотав лист в самый конец данных нужно нажать клавишу «Shift» и удерживая ее кликнуть левой кнопкой мыши в нижнюю крайне правую ячейку с ценами.
Должны выделиться все цены на акцию так, как на рисунке.
После того, как данные выделены следует перейти на вкладку ленты «Вставка» и кликнуть левой кнопкой мыши по пункту меню Excel: «Другие диаграммы».
После клика левой кнопки мыши по пункту «Другие диаграммы» откроется матрица пиктограммок различных диаграмм. Нам следует выбрать в ряду «Биржевые» пиктограммку с графиком японских свечей и кликнуть по ней левой кнопкой мыши.
Перед нами появилась диаграмма биржевого графика изменения цены на акцию. И если по вертикальной оси к этому графику вопросов нет, то по горизонтальной оси вместо 1,2,3,4,5… хотелось бы видеть даты, соответствующие ценам на графике.
Настройка подписей к графику цен на акцию
Этим мы и займемся. Кстати, график можно растянуть на весь лист «цепляя» ее мышкой за края или углы. График при этом будет автоматически масштабироваться.
Я растянул график на все окно, чтобы лучше было видно подписи горизонтальной оси.
Теперь нужно навести курсор мыши на поле рядом с графиком и нажать правую кнопку, чтобы вызвать контекстное меню настройки данных.
После того, как курсор мыши наведен на поле графика и нажата правая кнопка мыши — открывается небольшое контекстное меню в котором левой кнопкой мыши следует кликнуть по строчке «Выбрать данные».
В открывшемся меню выборки данных для графика нас будет интересовать правая часть окна с наименованием «Подписи горизонтальной оси (категории)».
Можно отметить, что именно там сейчас под графиком находятся так не приглянувшиеся цифры 1,2,3,4,5… Чтобы исправить эту ситуацию нажимаем кнопку «Изменить».
Не обращая пока особого внимания на открывшееся окно «Подписи оси» наводим курсор мыши на ячейку, которая содержит дату первой группы цен на акцию и кликаем левой кнопкой мыши так, чтобы ячейка с датой ограничилась пунктирной линией, как на рисунке.
За ползунок, или используя колесико мыши — прокручиваем лист Excel до последней, видимой даты. Нажимаем и удерживаем нажатой клавишу «Shift», а при этом наводим курсор мыши на ячейку с самой нижней датой и кликаем левой кнопкой мыши, чтобы все даты охватились пунктирной границей.
На прошлом рисунке был выделен не весь диапазон дат, часть диапазона оказалась закрыта самой диаграммой.
Выход из этой ситуации — прост. Слева видно, что ряды подсвечены только до номера 785, а значит в 785 ряду находится последняя ячейка с датой диапазона. В менюшке «Диапазон подписей осей» последнее число исправляем на 785 и жмем кнопку «ОК».
В этом окне мы можем узреть, что теперь на его правой половине в разделе «Подписи горизонтальной оси (категории)» у нас теперь отображаются даты, вместо 1,2,3,4,5…
Можно и здесь нажимать кнопку «ОК».
И вот, наконец-то мы получили желаемое. По горизонтальной оси графика размещены даты, в соответствии с ценами на акцию.
Как увидеть на графике цен акции японские свечи
А где же японские свечи на графике? — спросите вы. Не волнуйтесь, они — на графике по этой акции. Просто их так много, что они слились в сплошные черные штрихи. Чтобы узреть свечи — достаточно уменьшить период, за который построен график.
Если взять период цен на акции покороче, то масштаб отображения графика изменится и мы увидим график цен с классическими японскими свечами как на рисунке ниже:
Если у вас получилось построить график цен на акции с помощью этой статьи и Microsoft Excel, то поздравляю вас с маленькой победой! А если нет — жду описания ваших трудностей в комментариях к этой статье.
В помощь предлагается скачать файл в формате Microsoft Excel, из которого были сделаны скриншоты для написания данной статьи Скачать_Акции_в_Excel_График
Если Вам понравилась эта статья — поделитесь ею в социальных сетях, пожалуйста…
Файлы к уроку:
- Для спонсоров Boosty
- Для спонсоров VK
Ссылки:
- Страница курса
- Плейлист YouTube
- Плейлист ВК
Описание
В этом уроке мы научимся получать прямо в Excel котировки разных ценных бумаг с сайта Московской биржи.
Решение
Московская биржа предоставляет возможность скачивать котировки и другую информацию по ценным бумагам при помощи специальных ссылок.
Если мы введем такую ссылку в Power Query, создав запрос из интернета, то получим интересующие нас котировки прямо в Excel.
Вот ссылка на сайте Московской биржи https://iss.moex.com/iss/reference/ На этой странице вы можете увидеть какую именно информацию вы можете получить с сайта Московской биржи. Котировками дело не ограничивается.
Все ссылки конструируются примерно по одному шаблону. В этом примере мы разберем получение котировок при помощи Power Query, но если вам нужна какая-то другая информация, то вы по аналогии сможете создать похожую ссылку.
Наша ссылка будет выглядеть так — https://iss.moex.com/iss/history/engines/stock/markets/shares/securities/SBER/securities.xml
В том месте, где написано SBER нужно вставить тикер интересующей вас ценной бумаги. Далее, развернув таблицу, вы получите таблицу с котировками, но только 100 строк. Это максимальное количество, которое позволено выгружать. Нам нужно что-то придумать, чтобы выгружать больше строк.
Что делать, чтобы получить много строк? Нужно использовать параметр start. Мы создадим столбец с числами с инкрементом 100 и в каждой строке будем запрашивать информация по ссылке.
Примененные функции
- Xml.Tables
- Web.Contents
- List.Numbers
- Table.FromList
- Splitter.SplitByNothing
- ExtraValues.Error
- Table.AddColumn
- Text.From
- Table.SelectColumns
- Table.ExpandTableColumn
- Table.TransformColumnNames
- Text.AfterDelimiter
Код
Пример получения 100 строк:
let
source = Xml.Tables(
Web.Contents(
"http://iss.moex.com/iss/history/engines/stock/markets/shares/securities/SBER/securities.xml?start=300"
)
){0}[Table]{0}[rows]{0}[row]
in
source
Пример получения 4000 строк:
let
source = List.Numbers(1, 40, 100),
to_table = Table.FromList(
source,
Splitter.SplitByNothing(),
null,
null,
ExtraValues.Error
),
table_add_col = Table.AddColumn(
to_table,
"Пользовательская",
each Xml.Tables(
Web.Contents(
"http://iss.moex.com/iss/history/engines/stock/markets/shares/securities/SBER/securities.xml?start="
& Text.From([Column1])
)
){0}[Table]{0}[rows]{0}[row]
),
cols_select = Table.SelectColumns(table_add_col, {"Пользовательская"}),
col_expand_table = Table.ExpandTableColumn(
cols_select,
"Пользовательская",
{
"Attribute:BOARDID",
"Attribute:TRADEDATE",
"Attribute:SHORTNAME",
"Attribute:SECID",
"Attribute:NUMTRADES",
"Attribute:VALUE",
"Attribute:OPEN",
"Attribute:LOW",
"Attribute:HIGH",
"Attribute:LEGALCLOSEPRICE",
"Attribute:WAPRICE",
"Attribute:CLOSE",
"Attribute:VOLUME",
"Attribute:MARKETPRICE2",
"Attribute:MARKETPRICE3",
"Attribute:ADMITTEDQUOTE",
"Attribute:MP2VALTRD",
"Attribute:MARKETPRICE3TRADESVALUE",
"Attribute:ADMITTEDVALUE",
"Attribute:WAVAL"
},
{
"Attribute:BOARDID",
"Attribute:TRADEDATE",
"Attribute:SHORTNAME",
"Attribute:SECID",
"Attribute:NUMTRADES",
"Attribute:VALUE",
"Attribute:OPEN",
"Attribute:LOW",
"Attribute:HIGH",
"Attribute:LEGALCLOSEPRICE",
"Attribute:WAPRICE",
"Attribute:CLOSE",
"Attribute:VOLUME",
"Attribute:MARKETPRICE2",
"Attribute:MARKETPRICE3",
"Attribute:ADMITTEDQUOTE",
"Attribute:MP2VALTRD",
"Attribute:MARKETPRICE3TRADESVALUE",
"Attribute:ADMITTEDVALUE",
"Attribute:WAVAL"
}
),
types = Table.TransformColumnNames(
col_expand_table,
each Text.AfterDelimiter(_, ":")
)
in
types
Этот урок входит в курс Веб-запросы в Power Query
Номер урока | Урок | Описание |
---|---|---|
1 | Котировки Yahoo Finance | Вы хотите получить историю котировок акций MCD с 2000 года по текущий день с сайта Yahoo Finance. Вы копируете ссылку на раздел с историческими данными, вставляете ссылку в Power Query и получаете только 100 строк. |
2 | HTML, получение данных по облигациям | Мы хотим получить данные по всем облигациям со страницы bonds.finam.ru |
3 | Многостраничное извлечение | На разных страницах находятся сайта находятся котировки золота на каждый год. Нужно соединить все данные в одну таблицу. |
4 | JSON, Котировки Yahoo Finance 2 | В этом уроке мы разберем еще один способ скачивания котировок с Yahoo Finance. Этот способ намного удобнее и быстрее. Здесь мы научимся обрабатывать формат JSON. |
5 | Котировки Московской биржи | В этом уроке мы научимся получать прямо в Excel котировки разных ценных бумаг с сайта Московской биржи. Московская биржа предоставляет возможность скачивать котировки и другую информацию по ценным бумагам при помощи специальных ссылок. Если мы введем такую ссылку в Power Query, создав запрос из интернета, то получим интересующие нас котировки прямо в Excel. |
6 | Неразмеченный текст | Вы делаете запрос к Web-странице и сталкиваетесь с неразмеченным текстом. Вы хотите при помощи Power Query этот неразмеченный текст преобразовать в нормальную красивую таблицу. |
7 | Текстовый документ, веб-страница, List.Zip | В этом запросе мы научимся получать нужную информацию из текста веб-страницы. |
8 | Youtube Data API | В этом уроке мы научимся получать данные из Youtube Data API. Узнаем как получить данные о Youtube канале: список видео и плейлистов, названия, описания, длительность, тэги, количество лайков, дизлайков, просмотров и комментариев. |
9 | Личный OneDrive — подключаемся напрямую к файлам и папкам | В этом уроке мы разберем как напрямую подключиться к файлам и папкам на личном OneDrive. |
10 | Подключение Google Spreadsheets, Google Drive (Excel.Workbook, Web.Contents) | В этом уроке мы научимся подключаться к xlsx файлам, которые находятся в вашем Google Drive. |
11 | Получить все станции метро | Получим таблицу с перечнем станций метрополитена даже с координатами широты и долготы. |
12 | Получить ссылки с веб-страницы (Html.Table) | Получить URL с веб-страницы. Сделать запрос к каждому URL, получить таблицы и объединить их всех по вертикали. |
13 | Получить все URL с веб-страницы | Получим нужные URL с веб-страницы в Excel. Сделать запрос к каждому URL, получить таблицы и объединить их по вертикали. |
14 | Ищем работу через API Head Hunter (hh.ru) | Получим таблицу с перечнем вакансий с сайте HH. Получим вакансии, в названии или описании которых встречаются слова SQL, Pandas, Power Query, Power Pivot, Power BI. |
15 | Запрос к XML Sitemap | Сделаем запрос к sitemap.xml, чтобы извлечь список всех веб-страниц сайта. |
-
#1
День добрый!
Знаю, что на Финаме есть история котировок для Метастока, но я никак не могу найти историю дневных котировок, которую можно было бы запихать в Excel. Поковырялся в Квике, а там только экспорт таблиц, а они отражают максимум сравнение с предыдущим днем. Историю по дням отражают только графики, а из графиков, данные в текстовый (или Экселевский) формат не вытянуть. Подскажите плиз, как мне эти данные из квика вытащить или скачать где? И еще… Просьба не посылать меня в метасток, так как я им не владею, не в прямом не в переносном смысле
-
#2
http://export.rbc.ru/expdocs/free.micex.0.shtml
-
#3
Знаю, что на Финаме есть история котировок для Метастока, но я никак
на финаме история котировок в текстовом формате, ее можно хоть в эксель, хоть в мету, хоть куда.
-
#4
Сорри туплю. Я туда не заходил т.к. думал что там все в метастоке, может тады и ссылочку подкините поточнее чем finam.ru/гдетотутищи/ ?
-
#5
Сорри туплю. Я туда не заходил т.к. думал что там все в метастоке, может тады и ссылочку подкините поточнее чем finam.ru/гдетотутищи/ ?
![]()
http://www.finam.ru/analysis/export/default.asp
Finam-Downloader
ОТКРЫТО РАСПРОСТРАНЯЕМАЯ И БЕСПЛАТНАЯ программа для автоматического скачивания исторических данных и их динамической догрузки в текстовом формате:
Поддерживаемые источники:
Финам — https://www.finam.ru/
Форматы конвертации:
Очень удобная в обращении, легко настраивается!!!
Запускаете файл Программы:
Далее, чтобы скачать котировки по нужному вам инструменту, нажимаете в окне программы кнопку «Добавить»
В появившемся окне в разделе рынок — выбираете из какого раздела нужен инструмент:
Далее выбираем Инструмент, Таймфрейм, С какой даты по какую надо вам скачать. А также Ставим галочку По открытию, если данные для программы TSLab, не ставим галочку, если для Wealth-Lab.
После выбора инструментов нажимаете кнопку «Старт обновления по времени»
После выбора инструментов нажимаете кнопку «Старт обновления по времени»
Обновление всех инструментов раз в 5 минут.
Программа смотрит последнее время в файле и обновляет только оставшийся период. Также обновляет 2 последних строчки.
Данные скачиваются в таком формате:
Скачать программу можно тут!!!
Автору «Андрею Спиридонову» передаем благодарность за проделанную работу!