Схема базы данных для организации исторических данных о запасах

Если вы используете флажок

<input 
    type='checkbox'
    onChange={this.checkboxHandler}
/>

stopPropagation и stopImmediatePropagation не будут работать.

Поскольку вы должны использовать onClick = {this.checkboxHandler}

30
задан nall 6 October 2009 в 06:15
поделиться

3 ответа

Что ж, с положительной стороны, у вас есть здравый смысл, чтобы сначала запросить ввод . Это ставит вас впереди 90% людей, незнакомых с проектированием баз данных.

  • Нет четких взаимосвязей внешних ключей. Насколько я понимаю, timeframeID относится к symbolID ?
  • Непонятно, как вы сможете найти что-либо таким образом. Чтение вышеупомянутых внешних ключей должно значительно улучшить ваше понимание с небольшими усилиями.
  • Вы сохраняете данные таймфрейма как TEXT . С точки зрения производительности, а также с точки зрения удобства использования это недопустимо.
  • Ваша текущая схема не может учитывать дробление акций, которое в конечном итоге произойдет. Лучше добавить еще один уровень косвенного обращения между таблицей ценовых данных и ценами символа
  • открытия , high , low , close лучше хранить как десятичные или денежные типы, или, предпочтительно, как поле INTEGER с отдельным полем INTEGER , в котором хранится делитель, поскольку наименьшая разрешенная доля цены (центы, восьмерки и т. д.) зависит от биржи.
  • Поскольку вы поддерживаете несколько обменов, вы должны поддерживать несколько валют.

Прошу прощения, если все это не кажется слишком «конструктивным», тем более, что сейчас я слишком сонный, чтобы предлагать более удобную альтернативу. Я надеюсь, что вышеизложенного достаточно, чтобы направить вас на путь.

27
ответ дан 27 November 2019 в 22:03
поделиться

Я ' Я не уверен, какое значение добавляет Таймфрейм - это кажется ненужным усложнением, но это может быть то, чего я не понимаю ;-) Может ли Таймфрейм иметь более одного OHLCV? Если нет, то я бы предложил их объединить.

Я также хотел бы отметить, что биржевые котировки меняются время от времени по любому количеству причин. Это не частое событие, но бывает. Если вы думаете о работе с данными как с временными рядами, вам следует знать об этой проблеме, чтобы вы могли справиться с ней, когда она возникнет, если не раньше. Если вы не отслеживаете акции (например, вы работаете над фьючерсным приложением), то к этому совету можно отнестись с должным вниманием.

Опять же, в основном относится к акциям, дробление упоминалось в другом месте, и вы можете захотеть рассматривать дивиденды - акция » Цена обычно будет падать на сумму дивидендов (или, точнее, на ее текущую стоимость) на дату экс-дивидендов, что может быть неправильно истолковано, если вы не знаете, что подтвержденный будущий денежный поток был причиной. Проблемы с правами тоже могут быть интересными.

Если вы планируете просматривать ряд данных для определенного символа, я бы посоветовал посмотреть, какого рода производительность вы собираетесь получить. По крайней мере, убедитесь, что у вас есть соответствующий индекс.

собираюсь получить. По крайней мере, убедитесь, что у вас есть соответствующий индекс.

собираюсь получить. По крайней мере, убедитесь, что у вас есть соответствующий индекс.

4
ответ дан 27 November 2019 в 22:03
поделиться

Мы пытались найти правильную структуру базы данных для хранения большого количества данных в течение длительного времени. Решение ниже является результатом более чем 6 лет опыта. Теперь он работает безупречно для нашего количественного анализа.

Мы смогли хранить сотни гигабайт внутридневных и ежедневных данных, используя эту схему на SQL Server:

 Symbol -  char 6
 Date -  date
 Time -  time
 Open -  decimal 18, 4
 High -  decimal 18, 4
 Low -  decimal 18, 4
 Close -  decimal 18, 4
 Volume -  int

Все торговые инструменты хранятся в одной таблице. У нас также есть кластерный индекс на символ, столбцы даты и времени.

Для ежедневных данных у нас есть отдельная таблица и не используйте столбец времени. Объем DataType также Bigint вместо INT.

Производительность? Мы можем получить данные из сервера в вопросе миллисекунд. Помните, размер базы данных почти 1 терабайт.

Мы приобрели все наши данные исторического рынка с веб-сайта Kibot: http://www.kibot.com/

34
ответ дан 27 November 2019 в 22:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: