量化交易及数据分析的技术栈梳理

2022年3月17日 185点热度 1人点赞 0条评论

本文总结目前我个人做量化交易及数据分析所用到的一些技术栈,随着时间推移还会涉及更多内容,现简单梳理如下:

语言环境及IDE

量化交易及数据分析在编程实现上首选Python,除了简单易学容易上手,Python天生还有数量众多且功能丰富的第三方开源库,有人觉得相比编译型语言,Python不够快,但是我认为对普通交易者来讲足够用了,实际上程序跑起来以后并不慢,尤其很多科学计算库底层都是C,执行效率也不差,Python的短板在GUI程序的实现上,虽然有QT Designer这类可视化设计工具,但总体来讲比C#,Delphi这类天生就适合做桌面应用的语言还是麻烦许多,我目前写的程序大部分都是控制台程序,没有足够的必要我不去写GUI版本的,确实麻烦。

目前我在用的Python版本是3.8.8,环境搭建上用的是Anaconda集成包(2021年5月的版本)。

IDE上,比较好用的有Pycharm和Vscode,个人用Vscode更多一些,因为相比Pycharm,Vscode执行更快。

常用的库

TA-Lib : 股票技术分析指标库,常用的技术分析指标,如均线,MACD,布林带,RSI等等等等均有封装,大概有100多种指标吧,这是做量化分析必须会用到分析库。一个需要注意的是,这个库的安装我都是下载whl包后本地安装的,用pip命令在线安装经常会遇到失败的情况,估计和依赖库有关,没有分析具体原因,总之下载好对应解释器版本的whl,本地pip安装就可以了。

tushare/akshare : 这两个库是开源金融数据包,通常来讲如果不自己写爬虫的话,股票等数据的获取要依靠他们,具体的接口文档官方网站都很详细。tushare接口调用需要较高的积分权限,akshare没有积分限制,但从数据粒度上没有tushare成熟,但发展势头很不错。我个人目前在数据源上依靠的是自己写的爬虫库,没有依赖这两个库,在需要调用一些平时不常用的数据时会import进来用一下。

matplotlib/seaborn/pyecharts : 这几个包是数据可视化分析时会用到的,相比前两者,pyecharts能够生成美观的交互式web图形,更适合国人口味。

backtrader/backtrader_plotting : backtrader是比较成熟的开源金融数据回测框架,本地策略回测的利器。backtrader_plotting是第三方配套的交互式web绘图工具,相比backtrader内置的plot,backtrader_plotting更像pyecharts相比于matplotlib。

pandas/numpy/scipy : 这几个包就不用介绍了,搞数据分析的基础设施。

剩下的还有些不是很必要但能提高开发效率的第三方库,比如loguru做日志,apscheduler做任务调度,sqlite3做数据库等等,就不一一罗列了。题外话,如果要做机器学习,AI在量化上的应用,还会涉及pytorch或者tensorflow这类机器学习库,这些我接触不多,还在学习。

可以说以上这些库基本涵盖了量化交易涉及到的方方面面,会用个大概就能应付大部分量化分析或交易中遇到的问题,看着不多,其实也不少。本站技术方面的内容也多围绕这些东西做展开。

qthinker

前地产从业者,假装是个程序员,热爱编程与交易 自研Qthinker量化交易框架

文章评论