Михаил Titov
Михаил Titov личный блог
10 мая 2020, 10:57

Как скачать много котировок акций РФ сразу.

Всем привет!

Вдохновился данным постом ( https://smart-lab.ru/blog/616708.php ) и решил немного подпилить код, пока карантин делать нечего.

Кто не знал как скачивать котировки по одной компании вручную — сайт для скачивания котировок по одному тикеру (финам):
www.finam.ru/profile/moex-akcii/gazprom/export/

Тут через питон скачиваем котировки из текстового файла, в который вносим желаемые тикеры компаний:
Как скачать много котировок акций РФ сразу.



Сайт для скачивания среды программирования Python (PyCharm), пойдет обычная версия:
www.jetbrains.com/ru-ru/pycharm/download/#section=windows

Файлы из видео, в том числе и со списком тикеров:
yadi.sk/d/R3BSbFjV3Pfydg

Код программы:

import requests
import datetime
import pathlib
import apimoex
import pandas as pd
 
board = 'TQBR'
 
with open("C:/PYEX/TICK.txt", "r") as TICKs:
    TICKs = [line.rstrip() for line in TICKs]
pathlib.Path("C:/PYEX/Database/{}".format(board)).mkdir(parents=True, exist_ok=True)
process = 0
with requests.Session() as session:
    for TICK in TICKs:
         process = process + 1
         print((process / len(TICKs)) * 100, ' %')
         data = apimoex.get_board_history(session, TICK, board=board)
         if data == []:
             continue
         df = pd.DataFrame(data)
         df = df[['TRADEDATE','CLOSE']]
         df.to_excel("C:/PYEX/Database/{}/{}.xlsx".format(board,TICK), index=False)




Не забывайте проверять пути файлов в программе и путь к файлу TICK.txt



Кому нужно подробней, смотрите видео:


 --------------------------------------------------

Кому было полезно, кликаем на кнопочку ХОРОШО и добавляем в избранное, чтобы не потерять :)

 
23 Комментария
  • Я не пью!
    10 мая 2020, 12:57
    Зачем это нужно когда можно все прекрасно скачивать с ФИНАМа?
  • Владимир Граф
    10 мая 2020, 13:32
    Спасибо за идею и механизм нахождения корреляционных взаимосвязей
  • Михаил
    10 мая 2020, 15:05
    Моя библиотечка пошла в массы.
  • Beach Bunny
    10 мая 2020, 17:06
    И какой таймфрейм то качается? И с какой и по какую дату?
    Или качаются все таймфреймы и за все время.
  • Пафос Респектыч
    10 мая 2020, 17:51
    Кружок авиамоделистов, бл_ть ))
    • Виктор Бондаренко
      21 июня 2020, 22:04
      UnembossedName, Там слишком любят банить всех налево и направо. Невозможно задать вопрос по поводу данных по облигациям. Надо искать более прямой путь получения данных — с биржи напрямую.  
  • Как скачать много котировок
    нужны данные типа B по неликвидным фьючерсам за 2015г-н.в.
    Как?
    P.S. Как сделать сложно и долго я знаю. Мне надо именно просто и быстро.
  • Я для интересующих меня облигаций сделал закачку с мосбиржи в гуглдок

    docs.google.com/spreadsheets/d/1t_2w48dYnRP59OvkQ1H8mnCZWZ0DcGF8GjtBE8ZzLps/edit#gid=674522839

     

    Там же все расчеты

  • chizhan
    11 мая 2020, 06:24
    Не удивлюсь, если Финам быстро прикроет этот источник ввиду того, что халявщиков войску прибыло. Скажите спасибо автору.
  • StockChart.ru
    11 мая 2020, 08:16
    вот тут все прекрасно качается

    http://stockchart.ru/ServiceNews/Details/8
    • broker25
      11 мая 2020, 10:20
      StockChart.ru, а у вас есть биды аски опционов, или хотя бы заявки без сделок?
      • StockChart.ru
        11 мая 2020, 10:41
        broker25, нет стакан не хранится
  • Виктор Бондаренко
    21 июня 2020, 21:56

    Не нашел в сервисе iss.moex.com/iss/reference/ информацию об амортизации облигаций хотя эти данные есть на сайте мосбиржи www.moex.com/ru/bondization/calendar

     

    Не подскажите — как найти эту инфу через iss.moex.com ?

  • Алексей Варванин
    08 июня 2021, 10:55
    Вы не подскажете, почему ошибки выдает? Папку создал на диске С, путь правильный, библиотеки скачал. Но выдает в нижнем окне вот это: C:\Users\Pizzaboy\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/Pizzaboy/PycharmProjects/pythonProject/main.py 0.3424657534246575 % Traceback (most recent call last): File «C:/Users/Pizzaboy/PycharmProjects/pythonProject/main.py», line 22, in <module> df.to_excel(«C:/PYEX/Database/{}/{}.xlsx».format(board, TICK), index=False) File «C:\Users\Pizzaboy\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\generic.py», line 2189, in to_excel formatter.write( File «C:\Users\Pizzaboy\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\io\formats\excel.py», line 815, in write writer = ExcelWriter( # type: ignore[abstract] File «C:\Users\Pizzaboy\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\io\excel\_openpyxl.py», line 30, in _init_ from openpyxl.workbook import Workbook ModuleNotFoundError: No module named 'openpyxl' Process finished with exit code 1
  • Ram R
    08 августа 2023, 14:25
    а как скачать котировки других таймрефмов? H1 например?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн