- •Арбитражные ситуации в букмекерских конторах
- •Оглавление
- •Глава I. Букмекерство §1.1. История возникновения букмекерских контор
- •§ 1.2. Перспективы развития букмекерских контор
- •§ 1.3. Букмекерская линия и основные виды ставок
- •§ 1.4. Маржевая прибыль. На чем зарабатывают букмекерские конторы
- •§ 1.5. Основные правила игры в букмекерской конторе
- •Глава II. Арбитражные ситуации
- •§ 2.1. Реальный пример арбитражной ситуации
- •§ 2.2. Математическое обоснование арбитражной ситуации
- •§ 2.3. Расчет вероятностей исходов и коэффициентов выплат
- •§ 2.4. Условие арбитражной ситуации
- •Глава III. Метод «критерий келли» § 3.1. Суть метода «критерий Келли»
- •§ 3.2. Описание метода «критерий Келли» и его свойства
- •§ 3.3. Пример использования свойств «критерия Келли». Обобщающая формула Келли
- •Глава IV. Программная реализация § 4.1. Пример использования программы для расчета букмекерских «вилок»
- •§ 4.2. Листинг программы для расчета букмекерских «вилок»
- •§ 4.3. Пример использования программы для расчета суммы ставки по методу «критерий Келли»
- •§ 4.4. Листинг программы для расчета суммы ставки по методу «критерий Келли»
- •Заключение
- •Список использованной литературы
§ 4.3. Пример использования программы для расчета суммы ставки по методу «критерий Келли»
Необходимо разработать программу, которая по заданным критериям (коэффициент букмекера, сумма банка и оценка вероятности проходимости события) будет рассчитывать сумму, которую необходимо поставить для увеличения собственной прибыли.
Суть программы заключается в следующем:
Имеется какой-либо банк (денежная сумма) и коэффициент букмекера на спортивное событие, а также личностная вероятностная оценка этого события игроком, выраженная в процентах.
Необходимо ввести значение в поля ВАША ОЦЕНКА ВЕРОЯТНОСТИ, КОЭФФИЦИЕНТ БУКМЕКЕРА И БАНК и нажать кнопку ВЫЧИСЛИТЬ. Программа рассчитает сумму ставки и выведет результат в поле СТАВКА ИГРОКА.
Диалоговое окно программы для расчета суммы ставки по методу «критерий Келли» изображено на рисунке 4.5.
Рисунок 4.5. Диалоговое окно программы при нажатии кнопки ВЫЧИСЛИТЬ
Значение, вводимое в поле ОЦЕНКА ВЕРОЯТНОСТИ, должно лежать в пределах от 1 до 100. При несоблюдении этого критерия программа выдает сообщение об ошибке. Пример такой ситуации представлен на рисунке 4.6.
Рисунок 4.6. Диалоговое окно «Ошибка ввода данных» для поля ОЦЕНКА ВЕРОЯТНОСТИ
При незаполнении полей КОЭФФИЦИЕНТ БУКМЕКЕРА и БАНК программа выдает ошибки ввода, представленные на рисунках 4.7 и 4.8 соответственно.
Рисунок 4.7. Диалоговое окно «Ошибка ввода данных» для поля КОЭФФИЦИЕНТ БУКМЕКЕРА
Рисунок 4.8. Диалоговое окно «Ошибка ввода данных» для поля БАНК
Если в результате вычисления суммой ставки окажется отрицательное число, то можно сделать вывод, что такая ставка не выгодна для игрока. Пример такого вычисления представлен на рисунке 4.9.
Рисунок 4.9. Диалоговое окно программы с отрицательным результатом вычислений
Результат нажатия кнопки СБРОС, обнуляющей значения всех полей представлен на рисунке 4.10.
Рисунок 4.9. Диалоговое окно программы при нажатии кнопки СБРОС
§ 4.4. Листинг программы для расчета суммы ставки по методу «критерий Келли»
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Button1: TButton;
Label4: TLabel;
Edit4: TEdit;
Button2: TButton;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9',#8,'.']) then key:=#0;
end;
procedure TForm1.Button1Click(Sender: TObject);
Var k,c,b:real;
r,v:integer;
begin
Val(Edit1.Text,v,r);
if r<>0 then
Begin
ShowMessage('Некорректный ввод вероятности');
exit;
End;
if not (v in [1..100]) then
Begin
ShowMessage('Вероятность должна лежать в пределах [1..100]');
exit;
End;
Val(Edit2.Text,k,r);
if r<>0 then
Begin
ShowMessage('Некорректный ввод коэфициена букмекера');
exit;
End;
Val(Edit3.Text,b,r);
if r<>0 then
Begin
ShowMessage('Некорректный ввод банка игрока');
exit;
End;
c:=(k*(v/100)-1)/(k-1);
Edit4.Text:=FloatToStrF(c*b,ffFixed,12,4);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
end;
end.