CloseToAlgoTrading
CloseToAlgoTrading Ответы на вопросы
25 марта 2019, 19:33

Алготрейдерам: Скажите, кто занимается сбором тиковых данных или 1-5сек баров, стоит ли заморачиваться по поводу оптимизации данных сохраняемых в базу данных? если кто делает поделитесь как :)

Алготрейдерам: Скажите, кто занимается сбором тиковых данных или 1-5сек баров, стоит ли заморачиваться по поводу оптимизации данных сохраняемых в базу данных? если кто делает поделитесь как :)
40 Комментариев
  • Андрей К
    25 марта 2019, 19:49
    я думаю стоит. Иначе гигабайтами обрастете быстро. 
  • _sg_
    25 марта 2019, 21:12

    Придумывать ничего не нужно:
    1. Для ленивых:
    Пишешь бары в БД сразу DtOHLCV

    База данных 5-секундных баров по RI, Si, SR c 2015 года по наст. время занимает всего лишь ~ 5 гигов. Очень даже приемлимо.
     
    2. Не для ленивых 
    Делаешь примерно так, описывать неохота
    2.1:
    var bytesBar = BinarySerialization.SerializeToByteArray(bars);
    var bsBarsZip = Compressor.Compress(bytesBar);
    Далее пишешь в БД образ по дням.

    Здесь делаешь BinarySerialization 
    сжимаешь,
    пишешь в БД по дням.

    2.2.
    var barsStr = bars.Select(b => b.ToStr()).ToList(); 
    var bytesBarStr = BinarySerialization.SerializeToByteArray(barsStr);
    var bsBarsStrZip = Compressor.Compress(bytesBarStr);
    Далее пишешь в БД образ по дням.

    Здесь в начале Бары сериализуешь в List<string>,
    потом делаешь BinarySerialization
    и далее сжимаешь.
    Этот вариант работает быстрее — проверено юнит-тестами

    В БД информация хранится по дням и тикерам.

    Желаю успехов.

  • Rostislav Kudryashov
    25 марта 2019, 21:26
    Внешний HDD в 1 террабайт на USB-3-подключении стоил в прошлом году примерно 3 тыс.руб. Это лучшая оптимизация.
    Но непонятно, что поучительного в тиковой истории котировок за 4 года? Неужто кто-то научился выуживать из этих данных некие внутренние различия?

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

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