ticker_list = {'gazp': 'GAZP.ME', 'sber': 'SBER.ME', 'tatn': 'TATN.ME', 'moex': 'MOEX.ME', 'rosn': 'ROSN.ME', 'lkoh': 'LKOH.ME', 'yndx': 'YNDX.ME', 'nlmk': 'NLMK.ME', 'alrs': 'ALRS.ME', 'rual': 'RUAL.ME', 'magn': 'MAGN.ME'}
Захотелось реализовать несколько идей для быстрого расчета по позициям акций и для этого мне нужно было чтобы скрипт на python постоянно получал обновленное значение цены. Например раз в три секунды. Искал решение и нашел похожий пример с парсингом любой информации в интернете на python с применением блиотек requests и beautiful soup, (bs4).
Скачать ее можно по адресу: drive.google.com/drive/folders/1SnxKojpiXD2or6begSZTkzDyDoCBla_d?usp=sharing. Т.к. компиляция производилась при помощи pyinstaller, то, скорее всего винда пожалуется на exe-шник (решение проблемы нетрудно гуглится), поэтому, и потому что люди могут сидеть не из под винды, в папке с exe-шником лежит питонячий проект. Замечание: Если хотите скачать только exe-шник, то не забудьте скачать db.json и поместить его в ту же директорию, иначе программа не запустится!
Программа качает котировки в csv файл (считайте аналог Финама) с разделителем ";".
Некоторые замечания по разработке: Изначально планировалось что все разделы (Торговая система, Рынок и т.д.) будут парсится с API, такая идея даже была осуществлена, но показала свою неэффективность, поэтому в настоящей версии парсится только период времени для которого возможно скачивание, а остальные данные берутся из db.json, которую вы можте сами дополнить (если понадабится).
При возникновении проблем связанных с интернетом (его отсутствие, отказ сервера и т.д.) в окошках «Начало периода» и «Конец периода» будут стоять даты 01.01.0001.
По любым вопросам можете писать в коментарии или ЛС. Всем добра!
Если хотите поддержать автора: Сбер — 4817 7602 2175 5865 (Емельянов Иван Д.)
# подключаем либы from loguru import logger from notifiers.logging import NotificationHandler # прописываем параметры телеграм бота, от чьего имени и куда слать, где их взять думаю сами разберетесь params = { 'token': 'dfdfsfasdfljsahdfkljhasdfklj', 'chat_id': 'dfkdsflksdjfls;kfjas;ldkf' } tg_handler = NotificationHandler("telegram", defaults=params) # добавляем в logger правило, что все логи уровня info и выше отсылаются в телегу logger.add(tg_handler, level="INFO")
logger.info("Слава роботам! Убить всех человеков!")
Всем привет!
Заранее оговорюсь, меня интересует исключительно теория, что с чем складывать/умножать/вычитать и тд, с кодом я сам справлюсь. Поэтому, даже если вы не разработчик, любой совет будет полезным.
Я разработчик, пишу инструмент на C# по переводу тиковой таблицы в 1-минутную с OHLC-данными и объемом. Работаю с фьючерсами.
Прошу помочь разобраться, поделиться опытом. Может кому-то тоже будет полезно.
В итоге, я хочу получить 5 разных OHLCV-данных:
1. OHLCV цен контрактов.
2. OHLCV объема (не цены, а объема) контрактов на покупку. Это о том, сколько всего контрактов на покупку в течение 1 минуты.
3. OHLCV объема контрактов на продажу. Это о том, сколько всего контрактов на продажу стоит в течение 1 минуты.
4. OHLCV объема заявок на покупку. Это о том, сколько всего заявок на покупку стоит в течение 1 минуты.
5. OHLCV объема заявок на продажу. Это о том, сколько всего заявок на продажу стоит в течение 1 минуты.
Я в финансовой теме новичок, пытался разобраться, но боюсь ошибиться.
В таблице есть T-строки (Trade, примеры полей: <ACTIVITY.DATETIME>,<TRADE.PRICE>,<TRADE.SIZE>), Q-строки (Quote, поля: <ACTIVITY.DATETIME>,<BID.PRICE>,<BID.SIZE>,<ASK.PRICE>,<ASK.SIZE>), так же в первой H-строке заголовка (Header) есть поля <YEST.TRADE.CLOSE>,<YEST.TRADE.VOL> — это данные предыдущего дня — последняя цена закрытия, последний объем. Пример таблицы скопировал ниже.