C#搭建足球賽事資料庫與預測平台(1) 基本介紹


          本博客所有文章分類的總目錄:【總目錄】本博客博文總目錄-實時更新

開源C#彩票數據資料庫系列文章總目錄【目錄】C#搭建足球賽事資料庫與預測平台與彩票數據分析目錄

  去年4月到現在,一年之中,做了很多事情,所以寫博客的時間少了,在利用業余時間搭建的彩票數據庫資料庫快完工之際,將陸續在博客園開放這一年來的相關成果。一年來重點對數字彩和足球彩票資料庫進行數據采集和分析平台的搭建,同時也利用數據挖掘和機器學習的簡單知識,對足球比賽進行預測,也小有成果,雖然已經遠離數字彩,但軟件的結構非常容易擴展,數據也很容易采集。重點還是在足球賽事資料庫,目前數據庫已經包括了近10年,世界所有的聯賽,杯賽和重要賽事的比賽信息,以及賠率盤口信息,對於玩算法和寫代碼的朋友來說,利用這些數據庫可以快速的進行自己的數據分析工作。本系列文章會對數據庫架構和結構進行介紹,並逐步開放相關足球數據庫和彩票數據庫,降低大家的門檻,可以更快的關注自己的想法,不要浪費其他時間在數據采集這一塊,敬請關注。

本文原文地址:http://www.cnblogs.com/asxinyu/p/4301629.html

1.項目目標

  項目的目標有以下幾個:

1.建立一個完善、合理、全面的足球賽事資料庫;

2.建立一個完善的足球賽事的數據統計分析系統;

3.建立一個具有良好穩定性的足球賽事預測模型;

4.建立一個完善的可盈利性的連續性模型體系;

2.采用的開源技術

  到博客園5年了,認識了很多人,也學到了很多資料。對此,非常感謝,本人對開發不太熟悉,也只會用最簡單的語法來寫程序,來完成自己的想法。而這其中就大量的用到了開源組件,在codeplex和博客園發現了大量的資源,對於我這個只會用C#的業余人員來說,這些組件是幫我完成想法的重要工具。學會使用這些組件,讓我的工作變得更簡單,可以更多時間去關注業務和思路,在足球賽事資料庫開發和分析的過程中,用到了下列開源組件: 

開源組件

功能

版本

HtmlAgilityPack

網頁數據采集分析

1.4.6

libSVMWrapper

智能學習算法libsvm的.NET封裝

3.12

MathNet.Numerics

.NET開源數值計算組件

2.6.1

NPOI

.NET開源Excel讀寫組件

2.0

XCode

開源的.NET數據庫ORM組件

8.9

Alglibnet

免費數值計算和數據分析軟件

3.8.2

HttpHelper

開源.NET Http操作類庫

1.4.6

3.資料庫和分析框架要點

  賽事資料庫雖然看起來簡單,但實際上做起來還是比較費時費力的,按照功能來划分的話,主要可以划分為3個部分:

3.1 數據采集

  本資料庫的數據由於實時性要求不高,所有相比直接采集國外的數據源,工作量要小很多,本系統是直接采集的國內的某平台,由於頁面多,資料庫本來就復雜,所以數據采集雖然簡單,但還是工作量很大的,是本系統的核心。采集使用的是HtmlAgilityPack組件,加上XPath,還是比較簡單,唯一的是過程比較繁瑣,要細心點,對很多復雜情況要做判斷。看看其中的部分代碼:

3.2 賽事資料系統

  賽事資料系統是另外一個重點,也是從全局來說最重要的部分。足球賽事資料庫更加復雜, 不僅是賽事類型,國家眾多,比賽場次眾多,而且每一場比賽賠率數據類型和數據時間點也非常多,所以賽事資料庫的結構一定要合理,否則后期的分析和預測就非常困難。本框架的賽事資料庫系統經過了3次大的重構,中間切換過3次數據源,最終才比較穩定。所以在搭建過程中,將對這些坑進行分析和說明。賽事資料庫系統的要點有;

1.每個洲,有多個個國家,每個國家有多個級別的聯賽或者杯賽,而且還分男、女,以及年齡段如U21,U17等;

2.每個州都有洲際聯賽,如歐冠,亞冠,每個州都有國家隊的比賽以及洲際杯賽,如歐洲杯等;

3.每個聯賽每年一個賽季,可能是跨年的,且大部分按輪進行的,但個別聯賽有季后賽一說,輪次也比較混亂,如阿甲,美職等;

4.每個國家或者洲際范圍都有不同級別的杯賽,如法聯杯,德國杯,中國的足協杯等等,這些杯賽和聯賽是不一樣的,主客場淘汰以及單場身負都有;

5.某場比賽的賠率玩法有很多種,在外圍玩法中,單場比賽的玩法超過了100種,但在中國的體育彩票、競彩中目前只覆蓋了6種左右的玩法(勝平負,半全場,單雙,總進球,比分,讓球勝平負),再加上國彩的一些特殊玩法,如四場進球,6場半全場以及任九,14場等等,玩法各有特殊,結構也不同,這個也需要考慮;不僅要兼顧國彩,還要兼顧外圍的一些玩法,畢竟這些玩法以后國彩也會逐步開放;

  看看下圖其中之一的結構:

3.3 賽事分析預測

  賽事分析與預測是終極目的,數據庫是基礎,沒有數據庫所有的想法都是白搭。在數據庫日益完善的時候,近5個月時間,都在考慮分析預測框架的事情,但進展很慢。一方面自己的想法很多,很復雜,在逐步完成中,另一方面要考慮到通用性和完善,很多地方還在修補。不僅僅可以快速對篩選的條件場次進行統計分析,還可以編寫算法直接對歷史數據和現有數據進行預測,並結合投資策略,可以進行長期投資。該核心主要包括以下部分:

1.場次選擇算法,或者稱為場次過濾算法。不管是分析還是預測,或者過關玩法,都是要選擇指定數目的場次進行的,選擇的方法也各種各樣,只要按照不同的條件組合就行了。

2.預測算法。這是最重要的部分,根據選擇的場次和要求,選擇合適的預測算法和玩法,來預測各個不同結果的概率,不同於歐賠的概率;

3.投注策略。這是盈利的重要部分,傳統的投資,隨機且不持續,按照人腦操作,模式固定,因此紅少黑多,既然使用了電腦進行投注,那就要按照固定的模式來進行投資,投資策略是一個復雜和多變的過程,如果根據預測策略的結果進行適合的投注,來規避風險是研究的重點內容之一,這樣才是真正達到一定盈利率的關鍵;

  看看預測模型的總體結構圖:

4.系列文章說明

  1.該賽事資料庫和分析平台,所有的文章和資源都統一發布在本博客,如果有用的朋友,可以加關注或者收藏夾,本博客鏈接:http://www.cnblogs.com/asxinyu/

  2.本項目會在本站開放大部分代碼和大部分數據庫,但保留部分核心代碼,一方面是希望采集源穩定的需求,另外一方面只是為大家提供一個八仙過海各顯神通的平台,自己的個性化的東西可能不會包括在其中。

  3.禁止將本博客發布的資料進行商業活動,特別是到XX寶去賣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM