如何从零基础开始学习Python金融量化?
引言
让我们来观察一下几种常用编程语言在微信上的搜索指数对比,这可以在一定程度上反映出人们的关注度,显而易见,Python的搜索指数在过去三个月内一直保持最高,Python之所以如此受欢迎,主要是因为它对于初学者和完成常规任务来说非常简单易用,在进行高度抽象的计算时,高级的Python程序设计可能会变得相当复杂,鉴于许多关注本公众号的朋友在后台询问“Python入门”,我认为有必要分享一下对于零基础者如何学习Python,特别是结合个人经验,分享Python在金融量化和数据分析方面的学习路径。
01 确立学习目的
在学习Python之前,一定要明确自己学习Python的目的,学习Python的目的是为了能够运用这门语言解决实际问题,Python的应用领域非常广泛,学完Python基础知识后,如果应用方向不同,需要学习的内容也会有很大差异,如果你想用Python进行数据分析和金融建模,学完Python基础知识后,却去学习Django、Flask框架和Web开发,这就像我们想去上海却买了去北京的机票一样,尽管如此,还是有人会犯这样的错误,一开始就急于开始学习。
个人经验:
我学习Python的原因是因为在数据分析和金融量化分析方面,Python具有强大的功能,而且是免费的,它基本上涵盖了“数据获取、数据处理、数据分析、数据可视化”的所有环节,无论是在写论文还是实际工作中都非常有用。
02 规划好学习路径
在确定了学习方向和目的之后,下一步就是沿着这个方向建立自己的学习路线图,形成一个系统性的逻辑主线,这可以帮助你明确每个部分需要完成的目标,需要学习哪些知识点,以及哪些知识是暂时不必要的,特别是对于我们这些职场人士来说,很多时候没有大量的时间来集中学习,学习时间通常被分割成一些碎片化的时间,在碎片化的时间里,系统性地学习一门知识,更需要有一个贯穿始终的、系统的逻辑主线,来连接所有相关碎片化时间的学习。
个人经验:
当我确定了学习Python的数据分析和金融量化投资方向后,我按照“基础知识、数据爬取、文本分析、金融量化、机器学习、深度学习”的顺序,为自己建立了学习路线图:
- Python基础知识
- 金融量化常用库学习,如:Numpy、Pandas、Scipy、Matplotlib等
- 爬虫基本知识+财经网站数据开源库,如:Scrapy、tushare、baostock等
- 文本分析(NLP处理、词云分析、jieba分词)
- 机器学习(sklearn)
- 深度学习(TensorFlow)
建议安装Anaconda,它自带Jupyter Notebook和Spyder,我个人更喜欢使用Jupyter Notebook来交互运行Python程序,公众号上的文章和代码也都是使用它来完成的,文字使用Markdown编译,至于Python基础,我推荐阅读廖雪峰的Python 3入门教程(可在百度搜索)。
03 建议干中学
以解决学习或工作中的实际问题为指导原则,在学习和工作中,我们需要的更多是一种解决问题的系统性思维,很多人会问,有没有什么快速入门的教程之类的,但实际上没有什么牛逼的事情是能够速成的,越是底层的、收益周期越长的技能越是这样。“大道甚夷,而人好径,终为所误”,我们总会在踩了无数的坑后,才恍然大悟:捷径往往是最长的弯路,学习Python,对于零基础的人来说,在短时间内入门相对容易,但要进阶为高手,没有长时间的投入和练习,基本上是异想天开。
推荐资源
以下是一些推荐的资源,包括国内外的在线量化平台和开源框架,它们可以帮助你在金融量化领域进行学习和实践:
- 国内在线量化平台:
- BigQuant - 人工智能量化平台,可以无门槛地使用机器学习、人工智能开发量化策略。
- 优矿 - 通联量化实验室。
- 国外量化平台:
- Quantopian - 研究、回测、算法众包平台。
- 开源框架:
- Pandas - 数据分析包。
- Zipline - 一个Python的回测框架。
- vnpy - 基于Python的开源交易平台开发框架。
- tushare - 财经数据接口包。
- easytrader - 进行自动的程序化股票交易。
- pyalgotrade - 一个Python的事件驱动回测框架。
- pyalgotrade-cn - 整合了tushare提供实时行情。
- zwPython - 集成式Python开发平台。
- quantmod - 量化金融建模。
- rqalpha - 基于Python的回测引擎。
- quantdigger - 基于Python的量化回测框架。
Python金融量化