- Автор темы
- #1
Одержим идеей создания своей биржи ставок. При проектировании системы столкнулся с непреодолимой проблемой. Собственно самой архитектурой данных в момент заключения пари. В отличии от букмекерской конторы, в которой как в магазине есть товар (kf) который покупают (bet), здесь каждый исход в двойном размере back/lay, так и еще весь рынок должен по всей видимости фиксироваться в двух местах в matched и unmatched.
Есть конечно затыка в организации самих рынков (тотал, победитель, фора), но это на данном этапе не важно.
Для примера возьмем теннисный матч
Игрок А играет с Игроком Б
существует два исхода Победа А и Победа Б, из чего следует четыре варианта пари за/против_Победа_А и за/против_Победа_Б
По сути конечно За_Победа_А практически равно Против_Победа_Б без всяких исключений, но с оглядкой на законодателей моды (betfair, betdaq) эти пари принимаются отдельно
Далее сымитируем варианты развития событий, для наглядной демонстрации ситуации
Иван решил поставить $2 на За_Победа_А и верит что шансы примерно равны, тем самым его вполне устроит коэффициент 1,9
Его ставка должна быть помечена как unmatched, и для наглядности отображена на сайте в колонке Против для поиска оппонента в пари.
Но для правильного расчета обязательства его предложение будет отображено как 2,11 (видимо kf для lay ставки должен расчитываться и тоже хранится вместе со ставкой)
Андрей не верит в победу Игрока А и решает ставить Против, но его не устраивает предложение Ивана, он верит что может получить больше. В итоге
его ставка: желает выиграть $5 при kf 1,95 рискует $4,75. Вполне логично что она тоже помечена как непарная. (и здесь должен отмечен kf для back ставки)
Сергей видит предложение Андрея и решается вступить с ним в пари, но желает поставить $8
Тем самым ставка Андрея становится парной а $3 доллара Сергея помечаются как непарная_ставка и переносятся в колонку Против
Ну и последний вариант исхода почти как в магазине. Михаила устраивает предложение Сергея, и он в полном объеме заключает с ним пари. Ставка и Михаила и Сергея становится парной в полном объеме
И вот как эти данные а самое главное движение этих данных должны хранится, вопрос для меня остается открытым.
Прошу помощи/совета.
Есть конечно затыка в организации самих рынков (тотал, победитель, фора), но это на данном этапе не важно.
Для примера возьмем теннисный матч
Игрок А играет с Игроком Б
существует два исхода Победа А и Победа Б, из чего следует четыре варианта пари за/против_Победа_А и за/против_Победа_Б
По сути конечно За_Победа_А практически равно Против_Победа_Б без всяких исключений, но с оглядкой на законодателей моды (betfair, betdaq) эти пари принимаются отдельно
Далее сымитируем варианты развития событий, для наглядной демонстрации ситуации
Иван решил поставить $2 на За_Победа_А и верит что шансы примерно равны, тем самым его вполне устроит коэффициент 1,9
Его ставка должна быть помечена как unmatched, и для наглядности отображена на сайте в колонке Против для поиска оппонента в пари.
Но для правильного расчета обязательства его предложение будет отображено как 2,11 (видимо kf для lay ставки должен расчитываться и тоже хранится вместе со ставкой)
Код:
За Против
----------------------------
Игрок А | | 2.11 |
| | $2 |
----------------------------
Игрок Б | | |
| | |
----------------------------
Андрей не верит в победу Игрока А и решает ставить Против, но его не устраивает предложение Ивана, он верит что может получить больше. В итоге
его ставка: желает выиграть $5 при kf 1,95 рискует $4,75. Вполне логично что она тоже помечена как непарная. (и здесь должен отмечен kf для back ставки)
Код:
За Против
----------------------------
Игрок А | 2.05 | 2.11 |
| $5 | $2 |
----------------------------
Игрок Б | | |
| | |
----------------------------
Тем самым ставка Андрея становится парной а $3 доллара Сергея помечаются как непарная_ставка и переносятся в колонку Против
Код:
За Против
----------------------------
Игрок А | | 1.95 | 2.11 |
| | $3 | $2 |
----------------------------
Игрок Б | | |
| | |
----------------------------
Ну и последний вариант исхода почти как в магазине. Михаила устраивает предложение Сергея, и он в полном объеме заключает с ним пари. Ставка и Михаила и Сергея становится парной в полном объеме
Код:
За Против
----------------------------
Игрок А | | 2.11 |
| | $2 |
----------------------------
Игрок Б | | |
| | |
----------------------------
И вот как эти данные а самое главное движение этих данных должны хранится, вопрос для меня остается открытым.
Прошу помощи/совета.