Постов с тегом "csv": 5

csv


Python. Импорт данных OHLCV из файла CSV.

    • 02 ноября 2020, 22:55
    • |
    • 3Qu
  • Еще

Простите за банальность, работа с данными начинается с их получения из внешнего источника. Мы будем получать их из CSV-файла архива котировок, скачанного с сайта Финам. Для работы с другими источниками вам надо будет немного изменить программу.

Я уже давно не работаю непосредственно с CSV, и храню все данные в БД SQLite. Поначалу я хотел написать программу чтения CSV с нуля, но выяснилось, что я уже подзабыл как это делается, однако нашелся рояль в кустах — моя старая библиотека читающая данные из CSV-файла непосредственно в программу. Ее мы и будем использовать.
Собственно, Python и ориентирован на работу с библиотеками, и не нужно знать что там внутри, важно только уметь с ними работать, а сами программы с использованием библиотек станут очень простыми.
Для начала качаем с Финам историю в формате CSV-файла следующего вида:

<TICKER>,<PER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
SPFB.Si-12.20,1,04/05/20,10:00:00,76900.0000000,76990.0000000,76900.0000000,76990.0000000,3
SPFB.Si-12.20,1,04/05/20,10:06:00,77695.0000000,77695.0000000,77400.0000000,77400.0000000,8
SPFB.Si-12.20,1,04/05/20,10:08:00,77781.0000000,77781.0000000,77700.0000000,77750.0000000,30
SPFB.Si-12.20,1,04/05/20,10:13:00,78088.0000000,78098.0000000,78088.0000000,78098.0000000,6
SPFB.Si-12.20,1,04/05/20,10:14:00,78100.0000000,78100.0000000,78100.0000000,78100.0000000,1


( Читать дальше )

Выгрузка котировок акций в файл формата csv

Всех приветствую! Подскажите — раньше котировки акций на ММВБ выгружал с сайта рбк за нужный мне период для анализа, с апреля эту лавочку прикрыли. Где можно еще скачать подобную инфу?

Реализация удобного доступа к котировкам таймфрейма М1 + сжатие в 12 раз по сравнению с csv файлами

Когда еще только начал заниматься алготрейдингом, возник вопрос удобного доступа к историческим данным котировкам. Дело в том, что csv файлы могут содержать пропуски данных, а мне необходимо было получать котировки за конкретные дни года. Поэтому мне было не удобно грузить csv файл в общий массив и затем искать в нем отрезки данных. Второй проблемой было то, что минутный график (не говоря уже о тиковом) занимает много места, когда речь идет о более 20 шт. валютных пар. Конечно это уже не такая проблема, как первая, так как сейчас большая память на SSD или HHD не проблема. Но с другой стороны, хранить все >20 валютных пар уже в памяти компьютера тоже не лучший вариант, лучше было бы грузить данные по кускам. 

Поэтому я решил убить всех зайцев тем, чтобы написать специальную библиотеку для удобного хранения и использования котировок.

  • Так как мой интерес был именно минутный график, было решено хранить фиксированное количество минут для каждого дня (даже если есть пропуски цен). В одном дне 1440 минут, следовательно каждый дневной фрагмент исторических данных содержит 1440 баров. 
  • Каждый дневной фрагмент было решено обозвать «подфайлом» и хранить все подфайлы в одном файле. Дело в том, что множество файлов тормозят систему, поэтому записывать каждый фрагмент как отдельный файл — не лучшее решение. В то же время сильно усложнять хранение фрагментов не хотелось, да и не было смысла. Обычная операция для «хранилища» котировок — добавление новых данных или чтение старых, при этом перезапись или добавление нового подфайла в глубоком слое исторических данных может потребоваться редко. Поэтому оптимальное решение будет записывать дневные фрагменты исторических данных по порядку в один общий файл и хранить ссылки на подфайлы в конце файла.


( Читать дальше )

....все тэги
UPDONW
Новый дизайн