API를 이용한 베팅 분석
API를 이용한 베팅 분석
이번 연구의 동기는 지인에게 Pinnacle Sports의 데이터 분석을 요청받은 것입니다.
공식적으로 API가 제공되고 있으므로, 그것을 이용해 데이터의 취득과 분석을 실시합니다.
R 패키지
아마도 가장 쉬운 방법은 Pinnacle의 R 패키지를 사용하는 것입니다.
패키지 이름: Pinnacle.API
htps : // 기주 b. 코 m/마 r코 bぅ메/핀아 cぇ. 아피 #레아 D메
도입 절차
먼저 RStudio로 패키지를 설치합니다.
RStudio에서 다음 코드를 작성하면 API를 사용할 수 있습니다.
library(pinnacle.API)
username <- "ユーザー名"
userpass <- "パスワード"
SetCredentials(username, userpass)
AcceptTermsAndConditions(accepted = TRUE)
유저명, 패스워드에는 각각 Pinnacle Sports로 사용하고 있는 username, userpass를 각각 입력합니다.
데이터 얻기
실제로 데이터를 가져옵니다.
currentDate <- as.POSIXlt(Sys.Date(), tz = "UTC")
dfSum <- NULL
for (i in 1:2) {
df <- GetBetsList(fromDate = currentDate - i * 30 * 24 * 60 * 60,
toDate = currentDate - (i-1) * 30 * 24 * 60 * 60)
dfSum <- rbind(df, dfSum)
}
dfSum <- dfSum[order(dfSum$bets.betId),]
데이터를 한 번에 검색할 수 있는 날짜 및 시간 범위가 상한 30일로 제한됩니다.
루프로 구분하여 30일마다의 데이터를 취득해, rbind
로 세로에 연결하고 있습니다.
이번은 4월 1일부터 2개월간의 데이터를 취득하는 목적이므로 루프는 2회밖에 돌리고 있지 않습니다.
과거 1년분 등 취득하고 싶으면 루프의 횟수를 늘리면 됩니다.
마지막으로 order
를 사용하여 날짜와 시간 순서 (정확하게 betId 순서)로 정렬합니다.
데이터 저장
저장할 디렉토리와 파일 이름을 지정하여 데이터 프레임을 CSV에 저장합니다.
file <- "pin.csv"
write.csv(dfSum, file)
데이터 분석
데이터를 얻을 수 있었으므로 R이나 python에서 원하는 언어로 다양한 분석이 가능합니다.
R로 그대로 히스토그램을 그려 보겠습니다.
score <- c(dfSum$bets.ftTeam1Score, dfSum$bets.ftTeam2Score)
hist(score, breaks = seq(-0.5,15.5,1), col="green")
요약
이번에는 API를 사용하여 R로 데이터 분석을 수행하는 방법을 소개했습니다.
의견 등 있으면 코멘트 부탁드립니다.
Reference
이 문제에 관하여(API를 이용한 베팅 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Lily0727K/items/a1a31e398a21e6af6f31
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
library(pinnacle.API)
username <- "ユーザー名"
userpass <- "パスワード"
SetCredentials(username, userpass)
AcceptTermsAndConditions(accepted = TRUE)
currentDate <- as.POSIXlt(Sys.Date(), tz = "UTC")
dfSum <- NULL
for (i in 1:2) {
df <- GetBetsList(fromDate = currentDate - i * 30 * 24 * 60 * 60,
toDate = currentDate - (i-1) * 30 * 24 * 60 * 60)
dfSum <- rbind(df, dfSum)
}
dfSum <- dfSum[order(dfSum$bets.betId),]
file <- "pin.csv"
write.csv(dfSum, file)
score <- c(dfSum$bets.ftTeam1Score, dfSum$bets.ftTeam2Score)
hist(score, breaks = seq(-0.5,15.5,1), col="green")
Reference
이 문제에 관하여(API를 이용한 베팅 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Lily0727K/items/a1a31e398a21e6af6f31텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)