Как подтягивать котировки акций в excel
Очень интересно посмотреть на ваш файл, если он очень большой — залейте на файлообменик и дайте ссылку.
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 &dt=» & Day(EndDate) — 1 & «&mt=» & Month(EndDate) — 1 & «&yt &p=» & Period & «&f=» & Symbol & «&e=.csv&cn &dtf=1&tmf=1&MSOR=0&sep=1&sep2=1&datf=4&at=1»
‘qurl = «http://chart.yahoo.com/table.csv?s &a=» & Month(StartDate) — 1 & «&b &c=» & Year(StartDate) & «&d=» & Month(EndDate) — 1 & «&e &f=» & Year(EndDate) & «&g=» & Range(«E3») & «&q=q&y=0&z &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
Получение котировок акций
Чтобы вставить цену акций в Excel, сначала преобразуем текст в тип данных Stocks (Акции). Затем вы сможете извлечь в другой столбец нужные сведения из этого типа данных, такие как цены акций или их изменения.
Примечание: Тип данных Stocks (Акции) доступен толькоMicrosoft 365 или с бесплатной учетной записью Майкрософт. В языковых параметрах Office также должен быть добавлен английский, французский, немецкий, итальянский, испанский или португальский язык редактирования.
- Введите текст в ячейки. Например, в каждой ячейке введите тикер, название компании или название фонда.
- Затем выберем ячейки.
- Хотя это необязательно, рекомендуем создать таблицу Excel. Это упростит получение сведений из Интернета. Чтобы создать таблицу, выберите Вставка >Таблица.
- Выбирая ячейки, перейдите на вкладку Данные и нажмите кнопку Акции.
- Если Excel обнаружит совпадение между текстом в ячейках и веб-источниками, текст будет преобразован в тип данных Stocks. Вы будете знать, что они преобразованы, если у них есть значок акций:
.
- Выберите одну или несколько ячеек с типом данных, и появится
добавить столбец. Нажмите эту кнопку, а затем щелкните имя поля, чтобы извлечь дополнительные сведения. Например, для акций можно выбрать Price.
- Нажмите кнопку Добавить столбец еще раз, чтобы добавить дополнительные поля. Если вы используете таблицу, введите имя поля в строке заглавных строк. Например, введите Change (Изменить) в строке колонок акций, и в столбце цен появится изменение. Или введите другие имена полей, такие как Last Trade Time (Время последней торговли),Previous Close(Предыдущее закрытия) и Exchange .
- Чтобы увидеть все поля, доступные для компании или фонда, щелкните значок акций (
) или выберите ячейку и нажмите CTRL+SHIFT+F5.
- Если вы видите
вместо значка, Excel не удается сопоставить текст с данными в веб-источниках. Исправьте орфографические ошибки и нажмите клавишу ВВОД, чтобы повторить попытку. Кроме того, вы можете щелкнуть
, чтобы открыть область выделения. Выполните поиск по ключевым словам, выделите нужные данные, а затем нажмите кнопку Выбрать.
- Вы также можете писать формулы, ссылаясь на типы данных, или использовать функцию STOCKHISTORY.
- Данные об акциях задерживаются, предоставляются «как есть» и не являются торговыми целями или рекомендациями. Дополнительные сведения см. в сведениях об источниках данных.
Дополнительные материалы
- Подробнее о связанных типах данных
- Функция ИСТОРИЯАКЦИЙ
- Функция FIELDVALUE
- Ошибка #ПОЛЕ! #BUSY!
как в excel вывести котировки мосбиржи?
ВНИМАНИЕ! КОММЕНТАРИИ ПЕРВОГО УРОВНЯ В ВОПРОСАХ УПОРЯДОЧИВАЮТСЯ ПО ЧИСЛУ ПЛЮСИКОВ, А НЕ ПО ВРЕМЕНИ ПУБЛИКАЦИИ.
Почитайте статью на habr.com/ru/post/498268/, есть еще новые возможности в Excel для Microsoft 365. Если нужно могу то же скинуть пример получение котировок и много чего другого.
- 12 июня 2022, 09:46
- Ответить
Андрей, страница не найдена(
- 12 июня 2022, 09:56
- Ответить
Сергей Кузнецов, в ссылку добавилась запятая. Попробуйте так:
- 12 июня 2022, 10:16
- Ответить
Yury Agasiev, спасибо, открылось!
- 12 июня 2022, 10:31
- Ответить
Yury Agasiev, затрахали ссылки давать дайте формулу видел все эти ссылки открывается гугл страница по ссылкам там другая формула
- 12 июня 2022, 11:44
- Ответить
Андрей, Страница не найдена
- 12 июня 2022, 11:41
- Ответить
импортируйте туда csv файл, или вам онлайн надо ??
- 12 июня 2022, 02:01
- Ответить
квик умеет экспортировать в excel
- 12 июня 2022, 06:42
- Ответить
Проще простого)) конкретизируйте источник и состав данных, и половина задачи уже будет решена
- 12 июня 2022, 10:18
- Ответить
- 12 июня 2022, 12:01
- Ответить
В excel есть шикарный инструмент, power query. А у мосбиржи есть инструкция по api. Формируя разные ссылки, в соответствии с инструкцией по api и скармливая эти ссылки в качестве источника в power query можно добиться многого.
- 12 июня 2022, 23:18
- Ответить
в виде тьекста есть у когонить эта формула
- 12 июня 2022, 11:48
- Ответить
Только зарегистрированные и авторизованные пользователи могут оставлять ответы.
Автоматическая загрузка котировок акций и валюты: новые функции EXCEL
Последние обновления EXCEL позволяют пользователям загружать данные по многим биржевым ценным бумагам в автоматическом режиме. Важно, что теперь это возможно сделать через встроенные типы данных и функции EXCEL без сторонних плагинов и VBA.
Как это работает?
Новые возможности опираются на встроенный тип данных «Акции». Теперь в любой ячейке можно ввести тикер ценной бумаги, например MSFT, выбрать на вкладке «Данные» тип «Акции».
После этого EXCEL предлагает уточнить во вкладке «Выбор данных», о какой конкретно ценной бумаге идет речь. Это необходимо, так как данные могут быть загружены с разных бирж (NYSE, NASDAQ, Лондонская биржа — LSE, Шанхайская биржа – SSE и т.п.). Важно, что в перечне рынков присутствует и Московская биржа (полный список биржевых площадок). Это, значит, что есть возможность анализировать наборы бумаг с разных бирж, что довольно удобно.
После выбора ценной бумаг, тикер конвертируется в ее официальное название и появляется возможность в соседних колонках отображать информацию по выбранной ценной бумаге. Например, можно посмотреть ее текущую цену.
Список данных по бумагам довольно внушительный. В ячейках можно отображать среди прочего:
- Текущая Цена
- Цена закрытия
- Изменение цены (в %)
- Название биржи
- Тикер
- Валюта бумаги
- Время последних торгов (полезно для зарубежных бирж)
А также некоторые фундаментальные характеристики бумаг:
- Капитализацию
- Количество обыкновенных акций
- Количество сотрудников компании
- Расположение главного офиса
- Сектор экономики
- Год создания компании
- P/E
- Коэффициент бета
Важно, что кроме акций компаний доступна так же информация по ETF (в том числе по ETF и БПИФ Московской биржи).
Данные можно обновить в любой момент, нажав на «Обновить» на вкладке «Данные». Автоматическое обновление довольно просто настроить при помощи VBA.
Загрузка курса валют
Загрузка данных по валютным парам очень похожа на работу с акциями. В ячейке необходимо ввести обозначение валютной пары в произвольном формате. Например, для получения курса доллара США к рублю – USD/RUB. После этого на вкладке «Данные» выбираем тип данных «Акции» (немного странно, но именно так необходимо сделать). EXCEL автоматически распознает валютную пару и поменяет ее отображение в ячейке, подставив специальный значок финансовых данных.
Для получения данных по валютной паре в выпадающем списке выбираем необходимый параметр. Например, для получения курса валюты – Price (пока все финансовые параметры не переведены на русский язык).
Microsoft на этот раз не поскупились. Среди валют доступны даже некоторые криптовалюты. Например, для получения данных по Биткоину достаточно ввести символ валютной пары Биткоин/Доллар (BTC/USD). Кроме биткоина доступных котировки эфириума, XRP и других популярных сегодня криптовалют.
Новый синтаксис для финансовых функций EXCEL
Довольно удобен синтаксис новых финансовых функций. После того, как в ячейке выбран тип данных «Акции». В любой другой ячейке можно сделать ссылку на нее, поставить «.» и выбрать нужную функцию из выпадающего списка. Например, как в примере с Microsoft, можно в ячейке набрать B2.[P/E]
Недостатки
Они тоже, на мой взгляд, имеются. Например, нельзя посмотреть дивиденды по бумаге. Нет цены типа Adjusted Close, которая бы учитывала дивидендную доходность. Это ограничивает сколько-нибудь серьезное использование новых возможностей для отслеживания доходности ценной бумаги или набора ценных бумаг (портфеля).
Кроме того нет возможности посмотреть историю изменения цены или других параметров (TimeSeries).
В целом все изменения очень полезные и удобные, но новый функционал пока уступает аналогу из Google Spreadsheets. Будем надеяться, что это только первый шаг Microsoft в нужном направлении.
Пример использования новых функций EXCEL для отслеживания изменения стоимости портфеля ценных бумаг прилагается.
Файлы для скачивания
Отслеживание портфеля акций в EXCEL
Файл: stocks.xlsx
Размер: 98812 байт
Для скачивания файлов необходимо зарегистрироваться или авторизоваться