社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何快速上手使用Python进行金融数据分析

邢不行 • 2 年前 • 468 次点击  


第一步:好奇心

不要为了学习而去学习一门编程语言,或者任何工具。一定要心里首先有一个问题,抱着解决问题的心态,去了解并学习这个工具是如何解决问题的。驱动你去学习量化投资的,应该是你的好奇心。你认为你有一个炒股独家的窍门,你认为你发现了某个规律,你非常好奇的想用历史数据去验证你的想法。

比如我在大二的时候接触量化投资,就是因为我的好奇心。当时我看到一些入门的技术分析书上推荐KDJ这个技术指标,说KDJ低位金叉之后股票会涨,是个很好的买入信号,并且书上会配一些图,证明这个指标的有效性。我当时就很好奇,书上说的是不是真的?这几个配图是刻意挑选的还是有代表性的?是不是可以写个程序找出历史上所有的kdj金叉,看看之后涨的概率有多大?

这就是引领我入门的最初的好奇心。当时我不会编程,一开始用excel来试着验证,发现KDJ从大概率上来讲是不行的。好奇心继续升级:我调整一下KDJ默认的参数,效果会不会好一点?再配合一下其他的指标,效果会不会好一点?再加上点财务数据,效果会不会好一点......
慢慢的想测试的想法越来越多,excel渐渐的不够用,开始学习编程。我学习编程的目的性很强,就是解决我眼前的问题。对于解决我问题没有帮助的,我就先不学。一开始用的是SAS,自己找书看,论坛上发帖子问。后来觉得SAS太重,不灵活,慢慢的迁移到Python。
我是金融专业的,但是学校并不教量化投资,一切都是自己学。可想而知,若没有好奇心一直引导我去探索,这么长的一段时间我怎么可能坚持下来呢?

第二步:为什么Python
我推荐刚入门的量化投资研究者使用Python。主要理由如下:
1. 适用性
Python配合各类第三方的package(例如下面要讲到的pandas),是非常适合用来处理金融数据的
2. 简单
相比于c,c#等语言,Python容易太多了。让你可以更快,更方便的对自己的想法进行测试。life is short, use Python。
3. 全能
Matlab是另外一个金融分析领域的统治级语言,以上讲的两点适用性、简单性matlab都是具备的,在业界的使用范围应该是比Python要高的。
而Python相比于matlab的一大优势,那就是全能。matlab基本只能用于金融数据分析。但是Python除了拥有不亚于matlab的矩阵计算、科学计算能力之外,其他几乎任何事情都可以做。比如数据的清理、整理,比如从网页上抓取数据,比如进行文本信息的挖掘,比如做一个网站......现在学习一门语言,将来在任何地方都能用到。

第三步:如何入门Python
如果你有其他语言的编写经验(比如上过一个学期的编程课),有一定的编程基础。以下三步可以让你入门Python:
1. 随便找一本Pyhton入门书。这些教程网上有很多很多,论坛里面也有很多,随便搜索一下就是。我稍微整理了下,放在附件中,回复可见。
2. 挑一本Python入门书,不要花超过半天的时间,快速翻阅这本书。这个步骤不求记住什么东西,只要大概的知道这本书讲了什么,什么知识在这本书的哪一章写了就行,以便将来查阅。
3. 结合自己的好奇心,给自己寻找一个问题,简单的复杂的都可以,找一点数据(地址),直接开始实战。遇到问题,第一步是去翻书,第二步是去google(别去百度),第三步是论坛发帖求助。若你没有什么思路或者问题,可以加我微信xbx7776,我可以给你提供思路。
如果你没有任何编程的基础,那么想要入门Python,也是以上三个步骤。但是第2步,就不是仅仅花半天的时间浏览书了,而是要细细的看书。对着书上的例子,实际的操作下,大概花一个星期的时间的业余时间也就够了吧。

第四步:如何入门pandas

使用Python做金融数据分析,一定要用pandas。pandas是Python的一个第三方库,简直是金融数据分析的神器,第一次遇到它的时候让我泪流满面。了解pandas最好的途径就是他的官方文档:http://pandas.pydata.org/pandas-docs/stable/10min.html,当然也可以看我之前写的系列文章。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/164721