前言
随着人工智能、大数据时代的到来,Python已经成为学习数据科学与机器学习的首选语言。如何学习利用Python进行数据挖掘与分析,是广大初学者或者对数据挖掘技术感兴趣的读者非常关心的一个问题,特别是不具备较强计算机专业技能的学生,如应用数学、统计、经济、管理类专业的学生。他们中有些学生既希望能够掌握一定的大数据技术以增强自己的竞争力,又因学习困难而无奈放弃。本书以应用为导向,采用被金融机构及高校广泛使用的国泰安CSMAR数据库为数据资源,通过真实的市场数据,利用Python作为分析工具,进行金融数据分析并应用于量化投资。为了帮助广大读者较好地掌握相关技能和知识,构建数据挖掘分析思想和实践应用,同时为了适应教学的需要,本书分为3篇:基础篇、案例篇和实训篇。
基础篇为第1章~第6章。第1章介绍Python基础,使读者对Python发行版本Anaconda的安装,Spyder集成开发环境界面及使用,Python的基本数据类型及方法,条件语句、循环语句、函数定义等基本编程技能有较好的认识。第2章、第3章介绍Python用于科学计算与数据处理常用的两个包,即Numpy和Pandas。利用这两个包,可以对数据进行读取、加工、清洗、集成及相关的计算,为后续的数据分析与挖掘做准备。第4章介绍Python用于数据可视化的图形展现包Matplotlib,主要介绍常用的图形,包括散点图、线性图、柱状图、饼图、箱线图和子图。第5章介绍Python用于数据分析与挖掘的机器学习包Scikit-learn和相关模型、算法,主要包括主成分分析、线性回归、逻辑回归、神经网络、支持向量机、K-均值聚类。由于Scikit-learn中没有关联规则挖掘算法,所以我们在第6章中单独对其进行介绍。实际上,第5章、第6章基本包括了数据分析与挖掘中的经典模型与算法。同时所有章节的后面都给出了练习题,供读者进行对应练习。通过基础篇的学习,读者可以掌握Python基本知识和数据分析与挖掘的核心包,以及相关模型、算法,为后续的数据分析与挖掘提供必要的基础和实现方法。
案例篇为第7章~第11章。在案例篇中,作者将案例分为基础案例和综合案例。基础案例安排在第7章,包括7个基础案例,即众包任务特征指标的计算,股票价格指数周收益率和月收益率的计算,上市公司净利润增长率的计算,股票价、量走势图的绘制,股票价格移动平均线的绘制,沪深300指数走势预测,基于主成分聚类的上市公司盈利能力分析。第8章~第11章为4个综合案例,均为金融数据挖掘方面的典型应用,包括上市公司综合评价,股票价格涨跌趋势预测,股票价格形态聚类与收益分析,行业联动与轮动分析。为了更好地贴近实战应用,每个案例均给出了案例背景、案例目标、实现思路、计算流程、数据、挖掘模型、程序实现等。根据挖掘模型得到的结论,也均给出了其量化投资的策略设计与收益率分析。在每章后面都给出了练习题或者基于案例的拓展练习。通过案例的学习,读者可以清晰地了解应用数据挖掘模型进行量化投资的全部流程及实现方法。在案例篇中,基础案例为后续综合案例服务,由简单到复杂,逐步实现从基础到综合的过渡,帮助读者轻松掌握Python金融数据挖掘的基本技能。
第12章为实训篇,由5个实训组成,即行业盈利状况可视化分析、上市公司透明度综合评价、基于支持向量机的量化择时、上市公司综合能力聚类分析、股票联动与轮动分析。每个实训均给出详细的实训内容和实训指导,从而帮助读者较快地提高自己的实际动手能力。这5个实训分别对应数据挖掘中常见的数据可视化、综合评价、分类、聚类、关联规则等经典类型,而且也与案例篇中的主要内容对应。
在本书的编写过程中,要特别感谢广州泰迪智能科技有限公司提供的关联规则Apriori算法的相关程序,感谢深圳国泰安教育技术股份有限公司周志勇等同事的大力支持,感谢广西民族师范学院数学与计算机学院提供的实验设备及学院领导的关心和支持。本书出版得到了广西重点培育学科(应用数学)建设项目(编号:SXJC2015001)、教育部协同育人项目(编号:201802151022)的资助。
本书所有的Python程序,均采用Python3.6进行编写,且全部编译通过。书中配套的所有案例数据、程序代码、课件、教学大纲、实训课题、测试题,读者可登录人邮教育社区(www.ryjiaoyu.com)或“泰迪杯”全国数据挖掘挑战赛官网(http://www.tipdm.org/tj/1590.jhtml)下载。虽然我们想尽善尽美,但书中难免会有错误之处,还请广大读者批评指正,将反馈意见发至作者邮箱:hengqiu0417@163.com。
作者
2019年6月21日于崇左