вторник, 5 июня 2018 г.

Бот-система (часть 3)

Web-интерфейс отображения пари, заключенных бот-системой (несколькими бот-системами) на BetFair:
Kuchen

вторник, 9 августа 2016 г.

Прогноз линий

По следующей ссылке расположена страница Прогноз линий.

вторник, 9 декабря 2014 г.

Бот-система (часть 2)

По ссылке Бот-система можно было посмотреть на результаты работы моей поделки.
В данный момент система отключена - деньги были проиграны. 

суббота, 30 августа 2014 г.

Бот-система (часть 1)

В процессе разработки бот-система для BetFair (API NG) на Python 2.7.
Текущая версия умеет собирать информацию о ценах футбольных рынков Match Odds и Under/Over 2.5.

Linux [deb-пакет версия 1-0-01]
Linux [deb-пакет версия 1-0-02]

Для запуска на Windows требуется наличие установленного дистрибутива Python.



Развёртывание системы ThrMelBot на Debian Linux
(на примере thrmelbot-1.0-01.deb)
Версии очень сильно устарели. Не стоит практически их разворачивать. :)


Скачать thrmelbot-1.0-01.deb и поместить в каталог /tmp.
Выполнить (понадобятся права суперпользователя) команды :
cd /tmp
apt-get install python-requests
dpkg -i thrmelbot-1.0-01.deb

Для того, что-бы посмотреть какая версия системы ThrMelBot установлена 
на вашей системе в данный момент можно выполнить команду:
dpkg -l | grep thrmelbot


Предпусковые работы
Запускать систему можно под учётной записью любого пользователя. Можно и от root, но я предпочитаю от “простого” пользователя.


Для запуска системы следует выполнить команду:
thrmbot stable start


Сообщение :
Для работы 'stable' необходимо наличие пользовательского
сертификата и закрытого ключа:
  '/home/mellon/thrmelbot/ssl-keys/client-2048.crt'
  '/home/mellon/thrmelbot/ssl-keys/client-2048.key'
Можно использовать программу thrmb-crkey
указывает на необходимость создания пользовательского сертификата и закрытого ключа (даже если вы не планируете их использовать для НЕинтерактивного запуска)
Certificate Generation With XCA тут можно прочитать рекомендации BetFair о процедуре создания сертификата и ключей.
Для создания сертификата и закрытого ключа можно запустить скрипт :
thrmb-crkey
Если вы планируете использовать НЕинтерактивный запуск бот системы вам следует разместить сформированный сертификат в настройки вашего аккоунта на сайте BetFair.

Так-же необходимо получить Application Key:
BetFair о Application Keys
Рекомендую перед переходом на Accounts API Visualiser выполнить авторизацию в системе. В этом случае в поле ввода “Session Token (ssoid)” будет отображаться ваш SessionToken (это один из вариантов его интерактивного получения для последующего использования в ботСистеме)

Для создания нового DeveloperAppKeys следует выбрать в левом меню пункт createDeveloperAppKeys; ввести название ВАШЕЙ программы (придумать уникальное имя) в поле ввода “Application Name”, убедиться что в поле ввода “Session Token (ssoid)” имеется SessionToken (который создаётся BetFair после вашей авторизации) и нажать кнопку Execute в нижней части экрана.
В случае успеха в правом части окно отобразится информация о сформированных Application Keys.
Значение “Application Key” для перового из отображаемых ключей (который НЕ содержит “-DELAY” в поле Version) следует внести в поле “application_key” файла log/stable.cfg. Строка должна принять примерно следующий вид
"application_key": "QXyasd2Fs1DRdfZq",

В общем случае для нормальной работы ботСистемы необходим SessionToken.
Можно скопировать содержание поля ввода “Session Token (ssoid)” в файл cfg/session_token.cache

Более менее всё готово для запуска ботСистемы. Как я уже отмечал ранее, для запуска системы следует выполнить команду:
thrmbot stable start
Для остановки системы следует выполнить команду:

thrmbot stable stop

Диагностические сообщения сохраняются в файле log/stable-<номер_процесса>.log Сообщения об ошибка в файле
log/stable-<номер_процесса>.err
Информация об отправленных запросах и результате их выполнения в файле
log/rr_stable.log






вторник, 15 апреля 2014 г.

Пуассон

Статья старая, скрипт новый.

Скрипт , решающий «обратную задачу распределения Пуассона» и рассчитывающий линию Correct Score. При необходимости, скрипт «избавляется от маржи», то есть имеется ещё одно место, где накапливаются ошибки. :)
Хостинг бесплатный и ужастно тормозит: расчёт происходит секунд 10-20. Ужас. ;)


Попытка решишь "обратную задачу – по вероятностям победы одной из команд и вероятности ничьей вычислять
параметры L распределения Пуассона для каждой команды.»
... параметр распределения Пуассона, в данном случае среднее количество голов, которое каждая команда 
забьёт в матче (первые два параметра). Но в большинстве случаев этих двух параметров недостаточно и я 
использую ещё третий, для себя называя «поправка для ничьих».

Практически использую следующим образом: найдя параметры распределения (выйдя на fair-коэффициенты 
1-X-2 ТМ/ТБ 2.5) сравниваю вычисленные коэффициенты «Точный счёт» с рыночными и пробую найти 
«заниженные-завышенные». В основном это получаются счета 0-3 и 3-0, иногда «Любой другой».

... В данный момент (последние пару-тройку дней) балуюсь пред матчевой «торговлей»: Back, затем Lay. 
После того, как прочитал о «распределении Пуассона» решил попробовать её в своей предыдущей и несколько 
заброшенной идее. 
Тогда тоже пробовал «воссоздать линию, принимая за базовые 1-X-2 ТБ/TM 2.5», но 
(ничего не зная про Пуассона) использовал «вероятность что команда А забьёт в матче» и 
«вероятность что команда Б забьёт в матче». Был написан скрипт, который восстанавливал не только 
доматчевую линию, но и генерировал линию по ходу матча. Практически пришёл к выводу, 
что нужно вводить поправки для ничейных точных счетов, а так же выбрал для себя ставки на 
«точный счёт матча» и «точный счёт первого тайма» (не очень много рынков пытался поверхностно 
анализировать, но решил, что на «Match Odds» и «тоталах» перегибы встречаются очень редко). 
Получалось очень даже неплохо. Но слишком много времени уходило на ручной ввод «пяти базовых 
коэффициентов» (их брал с BetExplorer и потом кустарным методов преобразовывал в fair-коэффициенты, 
то есть избавлялся от «маржи») и ручную простановку ставок (про «торговлю» не думал, 
так как до стереотипно полагал, что она невыгодна). Решил отложить до «полной автоматизации», 
но… не довёл оную до начала, даже.

воскресенье, 16 января 2011 г.

Снова картинки


Соревнуемся с вот этим "простановка по минимальному коэффициенту без маржи":


так как оно более прибыльное, чем "простановка на коэффициент П1 без маржи":

понедельник, 10 января 2011 г.

Мыши в нейронных сетях

Нейронные сети! Нейронные сети!
Пробую. Простой однослойный персептрон (не запомню, из серии "импорт-экспорт").

Сеть-3:
12 января
Diagoras Rodou -- E. Asteras П11.81
Denizlispor -- Gaziantepspor П22.25
Palermo -- Chievo П11.59
Bucaspor -- Genclerbirligi П12.32
Manisaspor -- Besiktas П22.08
Benfica -- Olhanense П11.18
Pacy Eure -- Paris FC П22.70
Alfortville -- Colmar П12.47
Rodez -- Strasbourg П22.70
Frejus -- Gap П11.62
Creteil -- Bastia П21.91
Villarreal -- Sevilla П11.92
Rouen FC -- Bayonne П11.62
Carmarthen -- TNS П21.35
Roeselare -- Boom П12.04
Hamilton -- Celtic П21.28
Ipswich -- Arsenal П21.35
AFC Wimbledon -- Luton П22.47
Dundee Utd -- Motherwell П12.12
Inter -- Genoa П11.54
Blackpool -- Liverpool П21.90
Betis -- Barcelona П21.11
13 января
Almeria -- La Coruna П12.15
Juventus -- Catania П11.58
Real Madrid -- Atl. Madrid П11.29
14 января
Gold Coast -- North QueenslandП11.45
Karlsruher -- Furth П22.42
Union Berlin -- Aachen П12.32
Sittard -- Apeldoorn П22.07
Helmond -- Den Bosch П12.31
Waalwijk -- Eindhoven П11.59
Veendam -- Stormvogels/TelstarП11.67
Cambuur -- Dordrecht П11.71
Zwolle -- Emmen П11.21
Volendam -- Maastricht П11.43
Oostende -- Wetteren KST П11.84
Leverkusen -- Dortmund П12.35
Brentford -- Exeter City П11.92
Colchester -- Bournemouth П12.42
Siena -- Pescara П11.49
Girona -- Numancia П22.73
Portimonense -- Braga П21.71
Costa Rica -- Honduras П12.53
Tecos -- Monterrey П22.25
15 января
Sydney -- Melbourne П12.20
Perth -- Melbourne Heart П12.14
Dusseldorf -- Cottbus П12.34
Hibernian -- Celtic П21.42
Munich 1860 -- Bochum П12.18
Swansea -- Crystal Palace П11.54
Kallithea -- Doxa Drama П22.23
Cisco Roma -- Pisa П11.50
Cannes -- Strasbourg П12.02
Empoli -- Frosinone П11.74
Dijon -- Clermont П11.96
Tours -- Istres П11.79
Varese -- Torino П12.32
Boulogne -- Angers П12.08
Ascoli -- Grosseto П12.13
Sassuolo -- Livorno П12.40
Vicenza -- Atalanta П22.27
Cittadella -- Portogruaro П11.74
Ajaccio -- Le Havre П12.23
Grenoble -- Sedan П22.35
Vannes -- Evian Thonon Gaillard П22.56
Reims -- Le Mans П22.59
Novara -- Padova П11.82
Piacenza -- Modena П12.15
Albinoleffe -- Triestina П11.94
Metz -- Laval П11.97
Chateauroux -- Nimes П12.07
Newtown -- Bangor П21.26
Aberystwyth -- Llanelli П21.82
Nurnberg -- Moenchengladbach П11.90
Stuttgart -- Mainz П11.92
Haverfordwest -- TNS П21.27
St. Pauli -- Freiburg П12.30
Wolfsburg -- Bayern П21.65
Prestatyn -- Port Talbot П12.08
Bremen -- Hoffenheim П11.97
Mansfield -- Newport П12.33
Hull -- Barnsley П11.90
Swindon -- Yeovil П11.82
Alfreton Town -- Cambridge П22.36
Salisbury -- Wrexham П21.95
Barrow -- Kidderminster П22.37
Ross County -- Raith П12.35
Preston -- Leicester П22.00
Motherwell -- Inverness CT П12.07
Rotherham -- Southend П11.87
Rochdale -- Leyton П12.30
Cheltenham -- Accrington П12.18
Albion Rovers -- Montrose П11.57
Peterhead -- Livingston П21.90
Partick -- Stirling П11.58
Darlington -- Bath City П11.74
Sheffield Wed -- Charlton П11.96
Chelsea -- Blackburn П11.26
Stranraer -- Queens Park П11.61
Plymouth -- Oldham П12.54
Alloa -- Ayr Utd П12.23
Brighton -- Peterborough П11.71
Oxford -- Bradford П12.02
Chesterfield -- Stevenage П12.03
Dunfermline -- Dundee П11.96
Hartlepool -- Dagenham & Red.П11.84
Burnley -- QPR П12.31
Dorchester -- Eastbourne П22.19
Airdrie -- Brechin П22.11
Betis -- Alcorc├│n П11.35
Annan Athletic -- Elgin П12.06
Millwall -- Ipswich П11.83
Eastleigh -- Worcester П11.71
Rangers -- Hamilton П11.15
Barnet -- Shrewsbury П22.42
Lincoln -- Wycombe П22.18
Stoke -- Bolton П12.10
Histon -- York П21.67
Dumbarton -- Stenhousemuir П12.31
Feirense -- Aves П11.82
West Brom -- Blackpool П11.75
Berwick -- Arbroath П12.36
Crawley -- Kettering П11.30
Bristol City -- Middlesbrough П12.58
Droylsden -- Ebbsfleet П12.42