本博客所有文章分类的总目录:【总目录】本博客博文总目录-实时更新
开源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宝去卖。
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
本文转自数据之巅博客园博客,原文链接:http://www.cnblogs.com/asxinyu/p/Smart_Lottery_FootBall_DataBase_1.html,如需转载请自行联系原作者