Este paquete R proporciona algunas funciones simples para permitir la interacción con el servicio API RESTful de Matchbook.com. Lea atentamente la documentación de cada función individual antes de usarla. Se requiere una cuenta registrada en Matchbook.com para utilizar este paquete. Lea la documentación completamente antes de usarlo.
Para instalar el paquete se requiere la biblioteca devtools:
library(devtools)
install_github("xanadunf/matchbook")
Las siguientes dos funciones ayudan con la verificación de la sesión de la cuenta.
Las siguientes funciones brindan la posibilidad de obtener información sobre los deportes que están disponibles. Esto proporciona los identificadores que utiliza Matchbook para cada deporte. Con estos, puede obtener todos los eventos de los deportes que le interesan. A continuación, puede obtener identificadores de mercado y de corredores para cualquier lista de identificadores de eventos. Consulte la documentación de R para obtener más detalles sobre esto.
I La siguiente función se puede utilizar para obtener detalles de cualquier apuesta que se haya realizado pero que aún no se haya liquidado. Se pueden obtener tanto detalles de apuestas igualadas como no igualadas. Consulte la documentación de R para obtener más detalles (por ejemplo, ? mb_get_bets)
Las siguientes funciones proporcionan la funcionalidad principal de apuestas.
Para obtener detalles sobre las apuestas que se han liquidado, se puede utilizar la siguiente función. Nuevamente, los parámetros completos de la función se pueden ver en la documentación de R (?mb_get_settled)
Esto debería ayudarle a ponerse en marcha en muy poco tiempo, suponiendo que haya cumplido con los requisitos previos. Establezcamos un objetivo en este tutorial para realizar una apuesta en el primer partido de fútbol que encontremos que contenga el nombre "hombre". Procederemos a realizar una apuesta atrasada de 5 EUR (o cualquiera que sea la moneda de su cuenta) a que el equipo local ganará el partido directamente con una cuota de 1,10.
Para comenzar, debe iniciar sesión con las credenciales de su cuenta Matchbook.com.
library(devtools)
install_github("xanadunf/matchbook")
library(matchbook)
username <- "my_user_name" ### replace with your username
password <- "verysafepassword" ### replace with your password
session_details <- mb_login(username,password)
Dado que apostamos en fútbol, necesitamos averiguar la identificación de ese deporte.
sport_id_data <- mb_get_sports(session_details)
sport_id_data
football_sport_id <- sport_id_data$id[which(sport_id_data$name=="Soccer")]
football_sport_id
De los resultados, podemos ver que el fútbol tiene un ID de deporte = 15. Podemos usar esto para obtener cualquier evento de fútbol con un equipo que contenga la cadena "hombre".
event_data <- mb_get_events(session_data=session_details,sport_ids=football_sport_id)
event_data[grep(tolower("man"), tolower(event_data$name)),]
test_event_id <- event_data$id[grep(tolower("man"), tolower(event_data$name))[1]]
test_event_id
Obviamente, dependiendo de cuándo ejecutes esto, es posible que tengas muchos o ningún resultado. Si no encuentras un resultado exitoso, cambia "hombre" por el nombre de un equipo de fútbol que sabes que jugará pronto. Entonces, obtengamos todos los datos del mercado para este evento. Como queremos apostar sobre el resultado del partido, intentaremos extraer el tipo de mercado de "ganador único".
market_data <- mb_get_markets(session_data=session_details,event_id=test_event_id,include_runners=TRUE)
market_data
test_market_id <- market_data$id[market_data$'market-type'=="one_x_two"]
test_market_id
Ahora que tenemos el mercado correcto, obtengamos información de todos los corredores en este mercado. Esta vez, incluimos el parámetro 'include_prices=TRUE' para que podamos ver a qué precio está disponible cada corredor. Además, seleccionemos el corredor de los datos resultantes.
runner_data <- mb_get_runners(session_data=session_details,event_id=test_event_id,market_id=test_market_id,include_prices=TRUE)
runner_data
test_runner_id <- runner_data$id[grep("man", runner_data$name,ignore.case=TRUE)]
test_runner_id
Ahora que tenemos detalles sobre todos los corredores, obtengamos detalles sobre los precios del corredor que hemos seleccionado.
prices_data <- runner_data$prices[[which(runner_data$id==test_runner_id)]]
prices_data_back <- prices_data[prices_data$side=="back",]
best_available_current_price <- min(prices_data_back$'decimal-odds') # min because we are backing, use the max if you are laying.
Ahora que hemos encontrado los niveles de precios a los que podemos retroceder (el volumen también está disponible a través de 'prices_data_back$'available-amount''), podemos realizar una apuesta en el corredor que hemos seleccionado.
mb_bet_place(session_data=session_details,runner_id=test_runner_id,side='back',stake=5,odds=1.10)
mb_get_bets(session_data=session_details)
Cuando se realiza la apuesta, es importante examinar el estado de la misma. Si el estado es "igualado", entonces se le ha igualado el precio proporcionado. Si está "abierta", entonces la apuesta no se ha igualado por completo. Para obtener más detalles sobre las apuestas realizadas, consulte la documentación: ?mb_bet_place
mb_get_bets(session_data=my_session,runner_id=test_runner_id)
Este paquete está en desarrollo activo y los comentarios y las mejoras sugeridas son bienvenidos.
Cree un problema utilizando el área de Problemas.
EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO, PERO NO LIMITADO A, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGÚN RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN CONTRACTUAL, AGRAVIO O DE OTRA MANERA, QUE SURJA DE, FUERA DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS NEGOCIOS EN EL SOFTWARE.