Блог им. holodnsk

программа загрузки исторических данных

Я Java разработчик.
Делаю программу загрузки исторических биржевых данных. Это часть другого проекта — побольше. И пока бесплатная и открытая — как долго не знаю. 

Летом 2015 года написал программу поиска свечных закономерностей вот по этому алгоритму. В моем проекте, длинна искомого паттерна варьируется от 1 до 15, эти цифры хардкодятся в коде, остальное все делается автоматически. Сейчас проектом не занимаюсь. Исходный код открыт, но сразу предупреждаю там кровь и кишки. Ну да ладно. В конце разработки этого проекта родился модуль, который быстро и удобно грузит исторические данные с финама в текстовый формат. В этих кишках его вполне можно найти.

Сейчас мне надо отдельно быстро и удобно загружать историю.

Текущее положение дел с загрузкой исторических данных не устраивает.
1. Мой код с ошибками, он не всегда корректно приклеивает обновленные данный к имеющимся, там немного поправить, но не вижу смысла. Забрать только часть загрузки истории — трудно. Слишком большая связность с другими частями проекта. Проще написать новый!
2. Гидра — там много проблемм: память, дикие настройки (видос на полтора часа чтоб научиться грузить историю?!), скорость загрузки................. 
3. Другие программы которые призваны делать тоже самое, глючат, требуют внимания в процессе работы (зачем? включили — работай!)

Чтоб сразу делать с учетом потребностей обозначу что я хочу чтобы сразу было:

1. Данные грузит с финама (потому что уже умею).
2. Формат сохранения yyyymmdd,hhmmss,o,h,l,c,v например: 20100111,110000,501.21,518.00,495.00,512.00,3019 количество нулей после запятой определяется автоматически на основе всех загруженных данных этого инструмента
3. При загрузке программа просканирует каталог где хранится история и сразуже начнет обновлять уже имеющие данные не дожидаясь действий от пользователя, отключаемо конечно. Пишет сообщение какие именно инструменты обнаружены и обновление происходит успешно и ожидаемо.
4. Java позволяет писать мультиплатформенные программы, без специальных действий со стороны разработчиква — воспользуемся. Будет работать на Windows, Linux, MacOS. 
5. Не знаю зачем надо GUI, но можно и сделать — например чтобы выбирать из списка какие инструменты и таймфреймы грузить.
6. Вообще по умолчанию грузим все таймфреймы. В разные файлы.
7. По умолчанию формат наименований файлов: FINAM-MTLR-21018-3.txt где «MTLR» и «21018» это коды инструмента а «3» это код таймфрейма в API(?) финама.

хотелки после основного релиза:
хранить в sql тоже
p2p обмен историческими данными между пользователями (просто меня прёт от p2p технологий, хочу их куда-нибудь прикрутить)
API чтобы к ней можно было обращаться как к источнику данных, получать сообщения о поступлени новых данных.
грузить не только свечки
грузить с других источников, в том числе и с терминалов

Налетайте с советами и своими хотелками! Я к тебе обращаюсь, ты зашел  - значит интересно — пиши!
205 | ★12
24 комментария
Hydra уже все делает вроде как вышеописанное. Понятно, что хочется свое.
avatar
Андрей К, да, но лютые проблемы с памятью, которые подтверждаются на формуме, меня не устраивают.
Юрий Холодков, есть такое дело. Поедает.
avatar
Юрий Холодков, у ФИНАМа много пропусков в архивах — проверял М15, H1, D1 — во всех пропуски есть.
avatar
Андрей К, Hydra обменивается данными по p2p?
avatar
Vlad, p2p нет, но можно создать сервер и выкачивать друг у друга.
avatar
p2p идея конечно интересная
avatar
alexKa, я бы сказал замечательная
avatar
))))))))))
avatar
)()(, вероятно это истина, но не на 100%. Дело в том, что я, просто не могу не попытаться формализовать и проверить стратегию, перед торгами. У меня есть навык. Это же мои деньги! 
А как насчет данных по амер бирже? вот это было бы интересно. список около 3-5.000 тикеров (основных)… без OTC и Pink Sheets
Грузить все таймфреймы смысла нет, грузите самый маленький и собирайте остальные любые, в идеале грузите тики.

p2p не нужен, нет у нас такого кол-во трейдеров, хостинг проще и дешевле обойдётся. один раз загрузили разложили по минимальным барам и раздавай всем желающим, только новые добавляй.

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

кроссплатформенность только звучит красиво, а на деле пшик, если брать нашу биржу то есть только один шлюз до биржи к которому сможете подключиться не на windows, но он дорогой и клиентов не найдёте.

в общем как хобби проект интересный, а как бизнес маловероятно что выгорит, но наши люди и в ммм участвовали :-)
avatar
Посмотри вот на этот продукт кажись уже все изобрели)) Работает очень исправно.
avatar
KNK, а что нибудь похожее из других хранилищ есть?
avatar
Mike, можно взять Велслаб, к нему прикрутить адаптер от квика и вуаля, дальше самому склеить. 
avatar

KNK, спасибо за ответ.

К сожалению, для меня это звучит, как китайская грамота… :)

avatar
KNK, что-то так ничего и не загрузил этот продукт
Юрий Холодков, все работает
avatar
Если дойдут таки руки, то...

-сканирование и автоматическая дозагрузка(3) — самая интересная фича из перечисленного.

GUI нужен, по крайней мере для того чтобы пользователь смог быстро вспомнить че происходит, че у него есть и понять  что что-то пошло не так.

можно еще сделать генерилку разно-секундных баров из загруженных тиков… но тогда id финама для таймфреймов не подойдут… а придется опуститься до чегонить типа количества секунд в баре… что несколько непривычно

если будете корячить p2p — думайте как гарантировать подлинность файлов...

имхо sql просто нахер не нужен для хранения котировок(неудобно и медленно)… разве что только файлы в нем целиком хранить в виде зазипленных блобов.
Бабёр-Енот, 
вот автоматического сканирования и дозагрузки и не хватает больше всего. Чтоб запустил программу — сразу она докачивает, как торрент клиент.
GUI — думаю да. Конечно да, надо как-то показать пользователю что все ОК.
Генерилка разносекундных — даже уже начинаю понимать зачем надо генерить и постоянно хранить. Раньше считал что можно каждый раз расчитывать.
p2p — хэш. Вообще посмотреть как реализованы протоколы битторент.
SQL — не так все просто. Уж очень он удобен в коде.
Тоже пишу на яве и недавно озаботился тулзой для скачивания котировок. На гитхабе полно проектов, где качают с Финама, но явовских, к моему удивлению, нет.
Меня больше интересует библиотечная сторона проблемы, т.е. что подключать в своем коде без GUI. Так что возможно есть смысл разбить на core и gui модули. Посмотрим, чем могу помочь.
avatar
electron, давно пишешь? Много написал?
avatar
Юрий Холодков, прилично, несколько лет. Если говорить именно о загрузке исторических данных, то есть простенький загрузчик из csv, скачанных вручную. Но т.к. предстоит сделать тестирование на разных бумагах и интервалах, то такой автоматический загрузчик видится идеальным. Хранить данные в файловом кеше. Подгружать для простоты целиком.
avatar
Я такое далал для сайта money.net в 2000 году(брали с yahoo), и сам брал с финама для jcharts.net (2003) там нифига сложного вообще. Делал на java, perl и с++  (Кому на чем хотелось  ) Неск раз потом пытался графики с индикаторами продать — хер, никому ни данные ни графики не нужны были
avatar

Читайте на SMART-LAB:
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 27 февраля 2026 г.
Следите за нашими новостями в удобном формате:  Telegram ,  Youtube ,  RuTube,   Smart-lab ,  ВКонтакте ,  Сайт
Фото
#MGKL: Купонные выплаты по облигациям за февраль — 100 млн руб.
В феврале ПАО «МГКЛ» в срок и в полном объёме исполнило обязательства перед держателями облигаций. Общий объём купонных выплат составил 100...
Инвестиции без спешки: торгуем в выходные
Рынок часто движется импульсами, и тем важнее оценивать активы без спешки, не отвлекаясь на инфошум. Для этого отлично подходят выходные дни. В...
Фото
Ростелеком. МСФО за Q4 2025г. Всё неплохо… но всё равно печально…
Компания Ростелеком опубликовала финансовые результаты за 4 квартал 2025г.: 👉Выручка — 270,5 млрд руб. (+15,6% г/г) 👉Операционные...

теги блога Юрий Холодков

....все тэги



UPDONW
Новый дизайн