引言

最近业余时间一直在思考一件事情:在房产调控不断加码,近几年最具确定性的投资方式逐渐消失的情况下,普通人还有没有其他可以实现财富跨越的机会?创业or股市?
小匠作为一个普通的不能再普通的人,在努力工作和学习的前提下,通过各类资产的配置,终于在28岁之前实现了人生中第一次财富的小跨越。此后小匠经历过创业的血亏,深感创业不易,也经历过离莞深漂,感受到了离家赚票的艰辛,这几年可谓是历经风雨,但都没能迎来人生财富的第二次跨越。
此时小匠暂无创业的想法,唯有让生活先慢下来,潜心工作和学习,静观天象,等风来,蓄势待发。最近迷上了研究量化投资,想到是否可以利用自己的专业(大数据)与自己的投资策略相结合,实现更加高效科学的投资——量化投资。

之前已经写过一篇关于《Python量化投资初探:自动化选股策略》的文章,初步实现了量化选股的方法,接下来将继续自己的量化投资学习历程,并在个人公众号进行学习记录。这篇文章主要介绍小匠对量化投资的整体框架以及搭建股票数据仓库的代码工程。

个人量化投资整体思路:

数据获取

首先是数据来源的获取,要分析股票首先要解决股票数据源的问题,即数据从哪里来。
目前有很多券商网站或股票咨询网站都公开了各股票的波动及基本面数据,可以通过Python等工具通过爬虫的形式定时抓取股票数据及文章数据,股票数据做基本面分析,文章数据可以通过文本挖掘的形式做舆论分析。


当然,如果不想这么复杂,也可以通过调用第三方平台API接口的形式,比如某宽、某兔、某矿等平台API,直接获取各类股票数据,但这大部分是有限制的,如付费调用,积分调用,或一天免费查询超过n行即开启付费调用,对于个人投资分析来说,也完全够用了。

股票数据仓库

股票数据获取之后,通过Python数据清洗,导入到数据仓库,由于个人用户一般是在电脑本机进行分析,可以不必搭建基于HIVE的大数据框架,直接用开源数据库工具MYSQL即可,小匠这边就是在自己的电脑本机部署了MYSQL数据库作为股票数据仓库。


通过Python或KETTLE工具将股票源数据贴入至ODS层,然后在DW层建立数据模型,建立各类维度数据,以及轻加工的整合数据,最后根据分析主题,在DM层建立各类主题分析报表,提供给BI分析平台或数据分析使用。

BI分析平台

搭建好自己的股票数据仓库后,每天定时更新数仓数据,然后可以在本机或服务器上部署BI,可以采用第三方的BI,如某软的BI,支持个人用户一键部署(注意:个人版请尊重版权,切勿商用,仅供个人学习使用)。


将数据仓库DM层的主题分析表接入至BI分析平台,开发大盘驾驶舱,及个股主题分析仪表板,同时在BI开发自动化选股模型看板,将自己的选股策略封装成一个模型,并开发成选股池看板,包含个股分析等。开发自动邮件功能,每天推送最近一期选股池看板,关注个股走势及自动化选股模型推荐的个股情况。

Pyhon量化交易

基于Pyhon强大的功能及生态,独立开发或基于第三方平台,开发一款实盘量化交易平台,实现股票回测,及AI自动、手动量化交易功能。

个人量化投资
:股票数据仓库工程
下面为股票数据仓库建设工程流程及部分代码,由于代码较多影响阅读效果,文中不再显示具体代码,感兴趣的朋友欢迎关注数据小匠(ID:dataxiaojiang),后台回复“股票数仓”免费获取。
股票列表入仓:


股票行业归属入仓:


股票价格数据入仓:


公司利润季报入仓:


公司估值数据入仓:


个股财报数据入仓:


股票数据仓库:

上面获取了各股票和指数的价格及基本面信息,并导入了数据仓库的ODS层,然后在MYSQL数据库开发对应的DW数仓及DM层,DW层主要是建立各类公共维度整合表,和轻加工的统计表或事实表,如每日股价事实表等。基于DW层,在DM层开发各类主题分析:如自动化选股模型表、股票基本面分析主题表等。由于这一操作是在数据库里面进行,这边不再贴出具体代码,有兴趣交流的朋友可以关注本公众号,后台回复“股票数仓”

结语

此次项目主要讲述了数据小匠量化投资逻辑的整体框架,通过Python编程批量抓取了上市公司的基本面和交易数据,并在MYSQL数据库建立了属于自己的股票数据仓库,每天自动更新,同时开发了各类主题分析底层表,为后期做大盘分析和个股分析提供数据依据,接下来将继续优化股票数据仓库的各主题分析维度,进而搭建BI股票分析平台,封装符合自己交易策略和选股策略模型进BI平台,或者通过机器学习算法预测股票走势,设置各种预警值,让机器选股,机器盯盘。