Арбитражные ситуации в букмекерских конторах
Расчет вариантов арбитражных ситуаций. Сущность работы букмекерских контор. Математическое обоснование стратегии ставок с использованием критерия Келли. Разработка программы в среде Delphi для расчета прибыли, суммы ставки игрока с помощью критерия Келли.
Рубрика | Банковское, биржевое дело и страхование |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.10.2017 |
Размер файла | 445,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Отметим, что так как
величина
измеряет экспоненциальную скорость роста за попытку. Келли максимизировал ожидаемую величину коэффициента скорости роста, g(f), где
Получается, что g(f) = (1/n)E[logXn]- (1/n)logX0, поэтому, для фиксированного n, максимизация g(f) - то же самое, что максимизация E[logXn]. Вычислим производную:
когда f = f * = p -- q.
Так как
то g' (f) убывает строго монотонно на [0, 1],
так как g' (0) = p-q > 0 и lim f>1 - g'(f) = - ?. Вследствие непрерывности g'(f), g (f) имеет единственный максимум в точке f=f *,
где g(f *) = p log p + q log q + log 2 > 0. Более того, поскольку g(0) = 0 и lim f>1 - g{f) = - ?, то существует единственное fC > 0, такое что 0 < f* < fC < 1 и g(fC) = 0.
Построим график функции g(f) от f (рисунок 3.1).
Рисунок 3.1. График функции g(f)
Исходя из максимизации функции g(f), Джоном Келли были сформулированы следующие свойства:
- Если g(f) > 0, тогда почти достоверно, что limn>? Хn = ?, то есть для каждого М, Pr [lim n>? inf Хn > М] = 1. Это свойство показывает что, если бы не конечное время, благосостояние игрока XN превысило бы любой установленный предел М, когда f выбрано в интервале (0, fс).
- Если g(f) < 0, тогда почти достоверно, что limn>? Хn = 0, то есть для каждого е>0, Pr [lim n>? sup Хn < е] = 1, получается, что крах неизбежен .
- Если g(f) = 0, тогда почти достоверно, что lim n>? sup Хn= ? и lim n>? inf Хn = 0. Это утверждение демонстрирует, что, если g(f) = 0, тогда почти достоверно, что lim n>? sup Хn= ? и lim n>? inf Хn = 0.
- Для заданной стратегии Ф*, которая максимизирует E[log Xn] и любой другой "существенно иной" стратегии Ф (не обязательно стратегии фиксированных дробных ставок) почти достоверно, что limn>? Хn(Ф*)/Хn (Ф) = ?.
- Ожидаемое время, необходимое чтобы текущий капитал Xn достиг заранее установленного значения С будет, асимптотически, наименьшим при стратегии, которая максимизирует E[log Xn].
- Если предположить, что отдача от одной ставки на i-ой попытке - биноминальная случайная переменная Ui, далее предположим, что вероятность успеха pi, где 1/2 < pi < 1. Тогда E[log Xn] максимизируется выбором значением для ставки при каждой попытке доли f *i = pi - qi которая максимизирует E[ log (1+fiUi)]. Эта часть устанавливает справедливость использования метода Kelly выбора fi* при каждой попытке (даже если от одной попытки к следующей меняется вероятность) для максимизации E[log Xn].
3.3 Пример использования свойств «критерия Келли». Обобщающая формула Келли
Разберем пример:
Игрок А играет против бесконечно богатого противника. Игрок выигрывает одну и ту же сумму при последовательных независимых бросках монеты с вероятностью p =0,53 (независимые события). Игрок А имеет начальный капитал X0 , и капитал может бесконечно делиться. Если мы применим шестое свойство, то получаем * = p - q = 0,53 - 0,47 = 0,06, Таким образом, в каждой игре он должен ставить 6 % текущего капитала, чтобы Xn рос с максимальной скоростью и с нулевой вероятностью краха. Если Игрок А постоянно ставит меньшую долю, чем 6 %, Xn также будет расти до бесконечности, но медленнее.
Если Игрок A постоянно ставит долей большей чем 6 %, но меньше fс , возникает то же самое. Решая уравнение g(f) = 0,53log (l +f) + 0,47log (l - f) = 0 численно на компьютере получаем fc = 0,11973Ї. Так, если ставка больше чем примерно 12 %, то даже при том, что Игрок А может временно наслаждаться быстрой скоростью роста, возможные колебания вниз непременно приведут величину Xn к нулю. Вычисление дает коэффициент роста g(f*)= f (0,06) = 0,001801 так, что после n последовательных ставок логарифм среднего величины капитала Игрока А будет стремиться к значению в 0,001801*n раз превышающему стартовый капитал. Приравнивая 0,001801n = log 2, получаем ожидаемое время, необходимое для удвоения капитала примерно равное n = 385.
Выше рассматривались игры с равномерными выплатами. Но, Критерий Кэлли может легко быть расширен на игры с неравными выплатами. Предположим, Игрок А выигрывает b единиц на каждую единицу ставки. Далее предположим, что на каждой попытке вероятность победы p> 0 и pb - q> 0, так что игра выгодна для Игрока А. Методы, подобные рассмотренным, могут использоваться для максимизации:
Вычисления дают f* = (bp -- q)/(b - 1), эта формула является обобщенной формулой Келли, показывающей какую долю от текущего количества денег нужно выделять для каждой отдельной ставки, чтобы максимизировать коэффициент роста g(f). Если адаптировать эту формулу для ставок на спорт, то она приобретает следующий вид:
С = (K*V) - 1)/(K - 1),
где
С -- коэффициент размера следующей ставки,
K -- коэффициент букмекера,
V - оценка вероятности проходимости события игроком.
ГЛАВА IV. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
4.1 Пример использования программы для расчета букмекерских «вилок»
Необходимо разработать программу, которая по заданным коэффициентам и сумме банка будет находить размеры ставок на каждый итог события, чтобы иметь гарантированную прибыль независимо от результата матча. Также она должна вычислять маржевую прибыль.
Суть программы заключается в следующем:
Имеется какой-либо БАНК (денежная сумма) и КОЭФФИЦИЕНТЫ K1 и K2 (для двух исходного события) и КОЭФФИЦИЕНТЫ K1, K2, KХ (для трех исходного события). Необходимо ввести значения в поле БАНК и в поле КОЭФФИЦИЕНТ нажать кнопку РАССЧИТАТЬ. Программа рассчитает нам маржу между этими коэффициентами (если она положительна, то арбитражная ситуация есть, если она отрицательная или равняется нулю - то, вилки нет) сумму ставки на каждый исход, при которой мы выигрываем одинаковую сумму независимо от результата события и конечную прибыль.
Диалоговые окна программы для расчета двух и трех исходного события изображены на рисунке 4.1. и рисунке 4.2. соответственно.
Рисунок 4.1. Диалоговое окно программы для двух исходного события
Рисунок 4.2. Диалоговое окно программы для трех исходного события
Все значения должны быть представлены в числовой форме, при несоблюдении этого правила программа выдает сообщение об ошибке.
Примеры таких ситуаций представлены на рисунке 3.3. и рисунке 3.4.
Рисунок 4.3. Диалоговое окно «Ошибка ввода данных» для поля КОЭФФИЦИЕНТ.
Рисунок 4.4. Диалоговое окно «Ошибка ввода данных» для поля БАНК.
4.2 Листинг программы для расчета букмекерских «вилок»
Текст модуля формы
unit UnitMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls;
type
TMainForm = class(TForm)
MainMenu: TMainMenu;
DoubleIssue: TMenuItem;
TrippleIssue: TMenuItem;
Label1: TLabel;
EditBank: TEdit;
Label2: TLabel;
Label3: TLabel;
LabelX: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
EditCoef1: TEdit;
EditCoefX: TEdit;
EditCoef2: TEdit;
EditBet1: TEdit;
EditBetX: TEdit;
EditBet2: TEdit;
EditProfit1: TEdit;
EditProfitX: TEdit;
EditProfit2: TEdit;
LabelCalc: TLabel;
Label4: TLabel;
LabelMargin: TLabel;
procedure TrippleIssueClick(Sender: TObject);
procedure DoubleIssueClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure LabelCalcClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
uses Math;
var
IsDoubleForks: boolean; //указывает на выбранное количество исходов в расчете
{$R *.dfm}
procedure TMainForm.TrippleIssueClick(Sender: TObject);
begin
IsDoubleForks := False;
//изменяем видимость полей
LabelX.Visible := True;
EditCoefX.Visible := True;
EditBetX.Visible := True;
EditProfitX.Visible := True;
//обнуляем поля
EditBet1.Text := '';
EditBet2.Text := '';
EditBetX.Text := '';
EditProfit1.Text := '';
EditProfit2.Text := '';
EditProfitX.Text := '';
LabelMargin.Caption := '0%';
end;
procedure TMainForm.DoubleIssueClick(Sender: TObject);
begin
IsDoubleForks := True;
//изменяем видимость полей
LabelX.Visible := False;
EditCoefX.Visible := False;
EditBetX.Visible := False;
EditProfitX.Visible := False;
//обнуляем поля
EditBet1.Text := '';
EditBet2.Text := '';
EditBetX.Text := '';
EditProfit1.Text := '';
EditProfit2.Text := '';
EditProfitX.Text := '';
LabelMargin.Caption := '0%';
end;
procedure TMainForm.FormActivate(Sender: TObject);
begin
DoubleIssueClick(nil);
//значения по умолчанию
EditBank.Text := '100';
EditCoef1.Text := '1,00';
EditCoef2.Text := '1,00';
EditCoefX.Text := '1,00';
end;
procedure TMainForm.LabelCalcClick(Sender: TObject);
var
coef1: double;
coef2: double;
coefX: double;
bank: double;
bet1: double;
bet2: double;
betX: double;
betsum: double;
profit1: double;
begin
//проверка ввода валидных данных в поля банка и коэффициентов
try
bank := StrToFloat(EditBank.Text);
except
MessageBox(Handle ,'В поле "Банк" введены неверные данные!', 'Ошибка ввода данных', MB_OK);
Exit;
end;
try
begin
coef1 := StrToFloat(EditCoef1.Text);
coef2 := StrToFloat(EditCoef2.Text);
if (not IsDoubleForks) then
coefX := StrToFloat(EditCoefX.Text);
end;
except
MessageBox(Handle ,'В поле "Коэффициент" введены неверные данные!', 'Ошибка ввода данных', MB_OK);
Exit;
end;
//рассчет для двойного исхода
if (IsDoubleForks) then
begin
bet1 := Round((bank*coef2/(coef1+coef2))*100)/100;
EditBet1.Text := FloatToStr(bet1);
bet2 := Round((bank*coef1/(coef1+coef2))*100)/100;
EditBet2.Text := FloatToStr(bet2);
betsum := bet1 + bet2;
profit1 := coef1*bet1 - betsum;
EditProfit1.Text := FloatToStr(Round((profit1)*100)/100);
EditProfit2.Text := FloatToStr(Round((coef2*bet2 - betsum)*100)/100);
LabelMargin.Caption := FloatToStr(Round((100*profit1/bank)*100)/100) + '%';
end
else //рассчет для тройного исхода
begin
bet1 := Round((bank*coef2*coefX/(coef1*coef2+coef1*coefX+coef2*coefX))*100)/100;
EditBet1.Text := FloatToStr(bet1);
bet2 := Round((bank*coef1*coefX/(coef1*coef2+coef1*coefX+coef2*coefX))*100)/100;
EditBet2.Text := FloatToStr(bet2);
betX := Round((bank*coef1*coef2/(coef1*coef2+coef1*coefX+coef2*coefX))*100)/100;
EditBetX.Text := FloatToStr(betX);
betsum := bet1 + bet2 + betX;
profit1 := coef1*bet1 - betsum;
EditProfit1.Text := FloatToStr(Round((profit1)*100)/100);
EditProfit2.Text := FloatToStr(Round((coef2*bet2 - betsum)*100)/100);
EditProfitX.Text := FloatToStr(Round((coefX*betX - betsum)*100)/100);
LabelMargin.Caption := FloatToStr(Round((100*profit1/bank)*100)/100) + '%';
end;
end;
end.
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.
ЗАКЛЮЧЕНИЕ
букмекерский программа ставка
В данной работе были подробно разобраны арбитражные ситуации, они были доказаны и описаны с помощью простых линейных неравенств. Была рассказана суть букмекерских контор, принципы их работы. Была разобрана и математически обоснованна стратегия ставок с использованием критерия Келли. Были разработана программа в среде Delphi, которая считает прибыль вилки, также разработана еще одна программа в среде Delphi, рассчитывающая сумму ставки игрока при использовании критерия Келли.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. А. Изодин, И. Миклин, Букмекерство для начинающих, М.: Айрис-пресс, 2012.
2. О. Марьин, Арбитражные ситуации в букмекерских конторах, М.: Айрис-пресс, 2011.
3. Эдвард О. Торп, Критерий Келли в спортивных тотализаторах, 2010.
4. В. Е. Гмурман, Теория вероятностей и математическая статистика, М.: Высшее образование, 2009.
Размещено на Allbest.ru
...Подобные документы
История возникновения букмекерских контор. Математическое обоснование арбитражной ситуации. Расчет вероятностей исходов и коэффициентов выплат. Описание метода "критерий Келли" и его свойства. Пример использования программы для расчета суммы ставки.
дипломная работа [1,5 M], добавлен 28.07.2014Виды арбитражных операций. Характеристика основных типов арбитражных операций: валютный и фондовый арбитраж. Анализ фьючерсных контрактов на 3-летние облигации Москвы на Фондовой бирже РТС 23. Рекомендуемые арбитражные стратегии на рынке фьючерсов.
курсовая работа [1,4 M], добавлен 13.07.2010Исследование сущности, принципов и основных видов арбитражных операций. Изучение теории эффективного портфеля. Арбитражные стратегии. Анализ фьючерсных контрактов на Индекс РТС. Возможности и перспективы развития арбитражных операций на рынке фьючерсов.
курсовая работа [3,6 M], добавлен 21.03.2014Определение уровня процентной ставки при осуществлении финансовых операций, размера долга для различных вариантов начисления процентов по кредитам. Расчет суммы, полученной владельцем векселя и величины дисконта, эквивалентной годовой учетной ставки.
контрольная работа [24,8 K], добавлен 15.10.2010Определение накопленной суммы денег и величины процентных денег по вкладам при английской, французской и германской практиках. Расчет ставки процентов по кредиту с учетом инфляции, погашенной суммы и суммы начисленных процентов. Расчет величины ренты.
контрольная работа [27,9 K], добавлен 05.12.2011Финансово-хозяйственная характеристика банка ОАО "Росгосстрах банк". Понятие и виды процентных ставок по кредитам и депозитам. Анализ применяемых процентных ставок в России и других странах. Оптимизация банковской прибыли и улучшение работы филиалов.
курсовая работа [490,1 K], добавлен 21.06.2014Особенности расчета процентной ставки при сложном и простом проценте. Сроки выплаты кредита, взятого под простую ставку. Определение величины взноса при начислении процентов ежеквартально по ставке сложных процентов годовых для накопления заданной суммы.
контрольная работа [23,8 K], добавлен 29.10.2012Особенности определения суммы, причитающейся в качестве процентов по кредиту, суммы, причитающейся к возврату. Определение процентной ставки банка. Расчет множителя наращения процентов по капиталу за срок договора. Доходность операции для кредитора.
контрольная работа [166,4 K], добавлен 19.02.2012Ссуда дочернему предприятию под простые проценты, сумма возврата и доход банка. Варианты расчета наращенной суммы. Начисление процентов на наращенные в предыдущем периоде суммы (реинвестирование). Зависимость эффективной и номинальной процентных ставок.
контрольная работа [35,0 K], добавлен 19.05.2010Экономическая деятельность страховых посредников. Методика расчета страховых тарифов по видам страхования, относящимся к страхованию жизни. Методы расчета единовременных нетто-ставок. Деятельность страховых агентов, брокеров. Примеры расчета нетто-ставок.
курсовая работа [135,9 K], добавлен 14.10.2010Объединение страховщиков, особенности их функционирования на страховом рынке. Методика расчета тарифных ставок в имущественных видах страхования. Состав Международного союза морского страхования. Расчет тарифной ставки при смешанном страховании жизни.
контрольная работа [38,5 K], добавлен 11.01.2011Выбор самого доходного способа вложения капитала. Алгоритм расчета суммы первоначального вклада, периода увеличения первоначальной суммы вклада с учетом процентов. Минимальное значение процентной ставки, выплачиваемой банком клиенту. Лизинговые операции.
курсовая работа [73,9 K], добавлен 12.06.2011Понятие и общая характеристика тарифной политики предприятия, основные факторы, влияющие на ее формирование, критерии оценки экономической эффективности. Сущность и методы разработки тарифных ставок. Применение на практике разработанных тарифных ставок.
контрольная работа [31,0 K], добавлен 09.12.2014Задачи, функции, типовые операции и специфика работы брокерских контор в современных условиях. Права и обязанности участника рынка ценных бумаг при осуществлении брокерской деятельности. Организация, регистрация и лицензирование брокерской конторы.
курсовая работа [34,9 K], добавлен 27.06.2010Роль банковского кредита в условиях рыночной экономики. Сущность, функции и принципы кредита. Понятие и классификация процентных ставок. Тенденции в изменении процентных ставок по кредитам, предоставленным физическим лицам, предприятиям и организациям.
курсовая работа [1,7 M], добавлен 06.12.2013Определение процентов, при которой первоначальный капитал достигнет через 180 дней заданной суммы. Вычисление размеров долга для вариантов начисления процентов. Расчет суммы на счете клиента к концу срока вклада. Определение дисконтированной величины.
контрольная работа [35,9 K], добавлен 15.11.2010Расчет страховой суммы, общей величины страховой премии с учетом скидки по франшизе, суммы страхового возмещения с учетом франшизы по системе пропорционального страхового обеспечения. Расчет тарифной брутто- и нетто-ставки. Определение рисковой надбавки.
контрольная работа [75,6 K], добавлен 02.02.2012Расчёт среднего показателя убыточности страховой суммы (нетто-ставки). Расчёт брутто-ставки при заключении договора имущественного страхования. Тарифная ставка и объём прибыли в ней. Определение рисковой надбавки при страховании от несчастных случаев.
контрольная работа [72,7 K], добавлен 13.11.2011Расчет размера единовременной премии по заданным условиям. Формула расчета нетто-ставки. Расчет брутто-ставки по страхованию жилых помещений. Определение страхового возмещения по сумме непогашенного в срок кредита (предел ответственности страховщика 85%).
контрольная работа [50,7 K], добавлен 13.12.2010Основные принципы тарифной политики страховщика. Сущность и задачи актуарных расчетов. Принципы расчета страховых тарифов по рисковым и накопительным (страхование жизни) видам страхования. Структура тарифной ставки. Расчет базовой части нетто-ставки.
контрольная работа [25,6 K], добавлен 31.05.2013