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项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...
随机推荐
- c#编程指南(十) 平台调用P-INVOKE完全掌握, 字符串和指针
可以说新手使用P-INVOKE最开始的头疼就是C#和C++的字符串传递,因为这里涉及到两个问题. 第一:C#的string和C++的字符串首指针如何对应. 第二:字符串还有ANSI和UNICODE(宽 ...
- 练习1-13:编写一个程序,打印输入中单词长度的直方图(水平)(C程序设计语言 第2版)
简单未考虑标点符号 #include <stdio.h> #define MAX_WORD_LEN 10 #define BLANK 0 #define IN_WORD 1 #define ...
- RHEL5.8配置NFS服务
机器配置:4C+16GB 操作系统:RedHat Enterprise Linux 5.8 NFS基础 NFS(Network File System)是Linux系统之间使用最为广泛的文件共享协议, ...
- java 动态代理示例,带主要注释
Java proxy是基于反射,仅仅支持基于接口的动态代理. java 动态代理是一切架构的基础,必须了解. 废话少说,先上代码获得感性认识. 示例代码有主要注释. 接口: public interf ...
- .Net MVC中的路由
MVC中的URL也就是路由,不用通过路径访问实际的物理文件而达到向用户展示界面. URL的路由功能 一方面正向 映射到Controller和Action,根据用户输入的URL触发相应的控制器和对应方法 ...
- SQLSERVER2008新增的审核/审计功能
SQLSERVER2008新增的审核/审计功能 很多时候我们都需要对数据库或者数据库服务器实例进行审核/审计 例如对失败的登录次数进行审计,某个数据库上的DDL语句进行审计,某个数据库表里面的dele ...
- 【Win10 UWP】微信SDK基本使用方法和基本原理
上回讲到,作为一个长期散播温暖,散播希望的小清新无公害WP开发者,继QQ SDK之后,又把UWP微信SDK这茬了结了,仅供学习交流. 1.安装微信SDK for UWP 微信官方此前明确说明短时间内暂 ...
- 控件UI性能调优 -- SizeChanged不是万能的
简介 我们在之前的“UWP控件开发——用NuGet包装自己的控件“一文中曾提到XAML的布局系统 和平时使用上的一些问题(重写Measure/Arrange还是使用SizeChanged?),这篇博文 ...
- [.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用
[.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用 本节导读:讨论了表达式树的定义和解析之后,我们知道了表达式树就是并非可执行代码,而是将表达式对象化后的数据结构.是 ...
- [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式
[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...