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宝去卖。
C#搭建足球赛事资料库与预测平台(1) 基本介绍的更多相关文章
- 【目录】C#搭建足球赛事资料库与预测平台与彩票数据分析目录
本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.彩票数据分析与预测 6.智彩足球技术研究团队成员介绍 5.关于组建“智彩足球技术研究团队”的说明 4.为什么选择玩足球彩票以及玩彩票的心 ...
- 【原创】C#搭建足球赛事资料库与预测平台(6) 赔率数据表设计2
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 本篇文章开始将逐步介 ...
- 【原创】C#搭建足球赛事资料库与预测平台(2) 数据库与XCode组件
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 本篇文章开始将逐步 ...
- 【原创】C#搭建足球赛事资料库与预测平台(3) 基础数据表设计
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 开源C#彩票数据资料库系列文章总目录:http://www.cn ...
- 【原创】C#搭建足球赛事资料库与预测平台(4) 比赛信息数据表设计
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 本篇文章开始将逐步介 ...
- 【原创】C#搭建足球赛事资料库与预测平台(5) 赔率数据表设计1
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 开源C#彩票数据资料库系列文章总目录:http://www.cn ...
- .NET足球赛事资料数据库平台SmartLottery开源发布——全球足球联赛应有尽有
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 前2个月,我的系列文 ...
- 基于SpringBoot+SSM实现的Dota2资料库智能管理平台
Dota2资料库智能管理平台的设计与实现 摘 要 当今社会,游戏产业蓬勃发展,如PC端的绝地求生.坦克世界.英雄联盟,再到移动端的王者荣耀.荒野行动的火爆.都离不开科学的游戏管理系统,游戏管理系 ...
- 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】
背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...
随机推荐
- 基于VC的ACM音频编程接口压缩Wave音频(三)
(三)音 频 数 据 的 压 缩 下 面 说 明 使 用 CODEC 实 现 音 频 压 缩 的 过 程:假 设 源 信 号 为8K 采 样.16bits PCM 编 码. 单 声 道. 长 度 为1 ...
- (原创) 巩固理解I2C协议(MCU,经验)
题外话:这几天天气突然转冷了.今天已是11月23日了,查查黄历,昨天(11月22日)刚好是小雪,一夜温度骤降,果然老祖先的经验有灵验!冬天来了,还是多加加衣服,注意保暖! 1.Abstract ...
- zabbix3.x web设置手册(2)
在浏览器中输入:http://10.50.32.48/zabbix/setup.php 如下图: 点击Next step: 如上图,右侧全为ok,则点击Next step:若右侧有fail的情况,需要 ...
- hadoop使用问题
前提 环境 ubuntu 安装hadoop 已经有一段时间 1.启动的时候提示 Connection reset by peer 这个查看日志,里面有说 ssh里面某个文件的权限太大 这个ssh里修改 ...
- 一致性hash的理解
参考: http://www.blogjava.net/hello-yun/archive/2012/10/10/389289.html http://blog.csdn.net/cywosp/art ...
- 设计模式之美:Template Method(模板方法)
索引 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):Template Method 模式结构样式代码. 意图 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中. Templat ...
- 解析ASP.NET Mvc开发之EF延迟加载
目录: 1)从明源动力到创新工场这一路走来 2)解析ASP.NET WebForm和Mvc开发的区别 3)解析ASP.NET Mvc开发之查询数据实例 ------------------------ ...
- Linux xargs将输出数据流转换成命令参数
200 ? "200px" : this.width)!important;} --> 介绍 我们可以利用管道将一个命令的“标准输出”作为另一个命令的“标准输入”:但是这里的 ...
- windows 8.1 试用感受:蛋疼感大幅降低
众所周知windows 8 的最大使用感受就是蛋疼. 无论是微软MVP,还是我这样的万年不悔微软小白鼠,普通用户,小白用户,或多或少的都对这款操作系统感到蛋疼. 槽点太多,以至于大家都懒得批判了.好在 ...
- Spring-Context之六:基于Setter方法进行依赖注入
上文讲了基于构造器进行依赖注入,这里讲解基于Setter方法进行注入.在Java世界中有个约定(Convention),那就是属性的设置和获取的方法名一般是:set+属性名(参数)及get+属性名() ...