Там у вас только цена/объем? Или еще bid/ask там всякие, время операции и т.п.?
Как это потом применяется? Нужен ли random-доступ? Просто, например, если графики потом чертить - можно, скажем, к 5-ти минуткам эти еще min/max/среднее там добавлять, например. Что-то такое нужно, или это raw-база для истории и по этому потом уже другие какие-то агрегированные данные строятся?
Вообще мне такие штуки очень нравятся. Я в своем кровавом энтерпрайзе очень скучаю по таким вот решениям - у нас же все говно в SQL-базы тащат не думая вообще головой предварительно.
Я так понял что на каждый день и инструмент отводится отдельный файл? А как организованы файлы в файловой системе? Как на счет ограничений на количество файлов в одной директории (inode в темминах ext3/Linux)?
А как быстро находить файл по имени инструмента и дате? Я подобную проблему решал так: по имени бумаги вычисляем хэш на 32 бита - переводим в шестнадцатиричные символы вида ABCDEF01 и дальше структура каталогов трех уровней вложенности вида /ABC/DEF/ABCDEF01.dat, а список бумаг в отдельном файле в виде Bin=term_to_binary(GBTree), где GBTree - дерево модуля gb_trees.
Как-то странно видеть "умножение цены на 100 и приведение к инту". Хоть в америке, хоть у нас куча есть бумаг с гораздо меньшим шагом изменения цены, чем 0.01. Тот же ВТБ имеет 5 цифр после запятой. http://www.micex.ru/marketdata/quotes?secid=VTBR
я тоже сразу подумал об этом и вспомнил историю про "9 608 127 360 000 000 000 (Девять квинтиллионов шестьсот восемь квадриллионов cто двадцать семь триллионов триста шестьдесят миллиардов) штук номинальной стоимостью 1/ 4 003 386 400 рублей каждая"
Comments 53
Reply
Reply
Как это потом применяется? Нужен ли random-доступ? Просто, например, если графики потом чертить - можно, скажем, к 5-ти минуткам эти еще min/max/среднее там добавлять, например. Что-то такое нужно, или это raw-база для истории и по этому потом уже другие какие-то агрегированные данные строятся?
Вообще мне такие штуки очень нравятся. Я в своем кровавом энтерпрайзе очень скучаю по таким вот решениям - у нас же все говно в SQL-базы тащат не думая вообще головой предварительно.
Reply
Время да, есть.
рандомный доступ почти никогда не нужен, нужно получить пачку котировок от и до. Это прекрасно реализуется с помощью индекса.
Свечку для пятиминутки строить - это планируем.
Я бы с радостью затащил это в SQL, но он ведь не справится =)
Reply
Reply
Reply
Reply
Reply
Я подобную проблему решал так: по имени бумаги вычисляем хэш на 32 бита - переводим в шестнадцатиричные символы вида ABCDEF01 и дальше структура каталогов трех уровней вложенности вида /ABC/DEF/ABCDEF01.dat, а список бумаг в отдельном файле в виде Bin=term_to_binary(GBTree), где GBTree - дерево модуля gb_trees.
Reply
Reply
Хоть в америке, хоть у нас куча есть бумаг с гораздо меньшим шагом изменения цены, чем 0.01. Тот же ВТБ имеет 5 цифр после запятой.
http://www.micex.ru/marketdata/quotes?secid=VTBR
Текущая цена 0,05493 - как ты ее в int приведешь?
Reply
Reply
Reply
Reply
Reply
Leave a comment