Юрий Холодков
Юрий Холодков личный блог
30 января 2016, 13:55

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

Я 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 чтобы к ней можно было обращаться как к источнику данных, получать сообщения о поступлени новых данных.
грузить не только свечки
грузить с других источников, в том числе и с терминалов

Налетайте с советами и своими хотелками! Я к тебе обращаюсь, ты зашел  - значит интересно — пиши!
24 Комментария
  • Андрей К
    30 января 2016, 14:01
    Hydra уже все делает вроде как вышеописанное. Понятно, что хочется свое.
  • alexKa
    30 января 2016, 19:34
    p2p идея конечно интересная
  • zag1
    30 января 2016, 19:53
    ))))))))))
  • Здравый Смысл
    30 января 2016, 20:07
    А как насчет данных по амер бирже? вот это было бы интересно. список около 3-5.000 тикеров (основных)… без OTC и Pink Sheets

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

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