楼主: 邢不行
91044 483

[讨论交流] 【量化小讲堂- Python、pandas技巧系列】如何快速上手使用Python进行金融数据分析   [推广有奖]

学科带头人

59%

还不是VIP/贵宾

-

威望
1
论坛币
40785 个
学术水平
457 点
热心指数
472 点
信用等级
433 点
经验
40515 点
帖子
362
精华
26
在线时间
735 小时
注册时间
2010-4-30
最后登录
2017-12-14

邢不行 在职认证  发表于 2015-6-8 22:30:24 |显示全部楼层
本帖最后由 邢不行 于 2017-5-26 12:02 编辑

引言:
本系列帖子“量化小讲堂”,通过实际案例教初学者使用python、pandas进行金融数据处理,希望能对大家有帮助。

【必读文章】:
《10年400倍策略分享-附视频逐行讲解代码》

【所有系列文章汇总】:http://bbs.pinggu.org/thread-3950124-1-1.html

【python量化课程】想要快速、系统的学习量化知识,可以参与我与论坛合作开设的课程:
《python量化投资入门》,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击此处

微信:xbx_laoshi,量化交流Q群(快满):438143420,有问题欢迎交流。

文中用到的A股数据可在www.yucezhe.com下载,这里可以下载到所有股票、从上市日起的交易数据、财务数据、分钟数据、分笔数据、逐笔数据等。



【量化小讲堂- Python、pandas技巧系列】如何快速上手使用Python进行金融数据分析


根据之前几篇系列帖子以及交流QQ群(461470781)中的反馈,让我觉的很有必要写一篇如何快速上手使用Pyhton进行系列分析的帖子。本文主要以此为主题,介绍下我学习量化投资、Python的个人经验。

第一步:好奇心
不要为了学习而去学习一门编程语言,或者任何工具。一定要心里首先有一个问题,抱着解决问题的心态,去了解并学习这个工具是如何解决问题的。驱动你去学习量化投资的,应该是你的好奇心。你认为你有一个炒股独家的窍门,你认为你发现了某个规律,你非常好奇的想用历史数据去验证你的想法。
比如我在大二的时候接触量化投资,就是因为我的好奇心。当时我看到一些入门的技术分析书上推荐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(别去百度),第三步是论坛发帖求助。若你没有什么思路或者问题,可以加群438143420,我可以给你提供思路。

如果你没有任何编程的基础,那么想要入门Python,也是以上三个步骤。但是第2步,就不是仅仅花半天的时间浏览书了,而是要细细的看书。对着书上的例子,实际的操作下,大概花一个星期的时间的业余时间也就够了吧。

【python量化课程】想要快速、系统的学习量化知识,可以参与我与论坛合作开设的课程:《python量化投资入门》,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击此处。)

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





之后会讲的内容:
【量化小讲堂 - python & pandas技巧系列】如何根据逐笔数据计算资金流入流出数据
【量化小讲堂 - python & pandas技巧系列】如何测试海龟交易法则
【量化小讲堂 - python & pandas技巧系列】详细介绍复权价格如何计算



关于《量化小讲堂》之后想看的内容,或者相关问题,可以加我微信xbx_laoshi、Q群(快满):438143420沟通。


附件中是Python入门的相关书籍,回复可见,
觉得文章内容有帮助的话,不要忘了顶贴哦!

本帖隐藏的内容

Python入门教程汇总.zip (173.01 KB)






支持楼主:购买VIP购买贵宾 购买后,论坛将奖励 10 元论坛资金给楼主,以表示您对TA发好贴的支持
 
载入中......

Python入门教程汇总.txt

293 Bytes

回帖推荐

Crsky7 发表于7楼  查看完整内容

Python比C++容易上手

snowpea 发表于3楼  查看完整内容

首先感谢楼主的好帖和分享精神,其次 我这两天搜寻基础python教程,对比发现,国内老齐的教程最适合新手,网址是: https://github.com/qiwsir/StarterLearningPython 这个是网页格式,代码都可以直接复制。 当然,如果你一定崇尚老外教材,那么推荐的有(入门级):http://vdisk.weibo.com/s/os417 其实我觉得老齐的版本和老外的版本大内容差不多,但是老齐显然写的更好点。 我直接给了下载网址了,附件格式对没币的屌丝太 ...
已有 10 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
zl89 + 80 精彩帖子
accumulation + 100 + 1 + 1 + 1 精彩帖子
sheva0728 + 5 + 1 + 1 + 1 精彩帖子
lasgpope + 40 + 40 + 1 + 1 + 1 精彩帖子
xddlovejiao1314 + 100 + 5 + 5 + 5 精彩帖子
rhapsodyr + 80 + 3 + 4 + 2 精彩帖子
henry_l + 30 + 30 感谢分享
kongqingbao280 + 20 + 2 精彩帖子
客初 + 60 + 20 + 2 + 3 + 2 精彩帖子
fantuanxiaot + 1 精彩帖子

总评分: 经验 + 585  论坛币 + 170  学术水平 + 14  热心指数 + 18  信用等级 + 13   查看全部评分

本帖被以下文库推荐

不管去哪里 只要在路上
stata SPSS
Edwardu 发表于 2015-6-8 22:45:03 |显示全部楼层
take a look
回复

使用道具 举报

snowpea 发表于 2015-6-8 22:49:48 |显示全部楼层
本帖最后由 fantuanxiaot 于 2015-6-9 00:17 编辑

首先感谢楼主的好帖和分享精神,其次 我这两天搜寻基础python教程,对比发现,国内老齐的教程最适合新手,网址是: https://github.com/qiwsir/StarterLearningPython     这个是网页格式,代码都可以直接复制。 当然,如果你一定崇尚老外教材,那么推荐的有(入门级):http://vdisk.weibo.com/s/os417 其实我觉得老齐的版本和老外的版本大内容差不多,但是老齐显然写的更好点。

我直接给了下载网址了,附件格式对没币的屌丝太郁闷了。  有币的水友们打点赏吧 俺都不能下载其他人的资料了
已有 10 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
胡老 + 5 + 5 + 5 精彩帖子
zl89 + 80 精彩帖子
blastcc + 1 + 1 + 1 精彩帖子
gleesing + 1 + 1 + 1 精彩帖子
MemMao + 5 + 2 + 1 + 1 精彩帖子
dian613595 + 1 + 1 + 1 精彩帖子
blackcircle + 5 + 1 + 1 + 1 精彩帖子
henry_l + 30 + 30 精彩帖子
fantuanxiaot + 30 + 1 + 1 + 1 精彩帖子
客初 + 12 感谢推荐

总评分: 经验 + 130  论坛币 + 82  学术水平 + 12  热心指数 + 13  信用等级 + 11   查看全部评分

回复

使用道具 举报

Elena3 发表于 2015-6-8 22:52:45 |显示全部楼层
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
御风卷九 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

回复

使用道具 举报

wujianjack2 发表于 2015-6-8 23:37:28 |显示全部楼层
   有个错别字,“降”--->“讲" 。 :-)
回复

使用道具 举报

汪pei2011 发表于 2015-6-8 23:47:12 |显示全部楼层
谢谢分享
回复

使用道具 举报

Crsky7 发表于 2015-6-9 00:00:04 |显示全部楼层
本帖最后由 fantuanxiaot 于 2015-6-9 00:18 编辑

Python比C++容易上手
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
fantuanxiaot + 20 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 20  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

回复

使用道具 举报

newgoodman 发表于 2015-6-9 00:55:22 来自手机 |显示全部楼层
邢不行 发表于 2015-6-8 22:30
引言:

本系列帖子“量化小讲堂”,通过实际的案例让大家知道如何使用Python、pandas进行金融数据处理。帖 ...
希望这个栏目能一直办下去 谢谢楼主
回复

使用道具 举报

kerrydu 发表于 2015-6-9 01:03:09 |显示全部楼层
[handshake][handshake]
回复

使用道具 举报

vegebeef 发表于 2015-6-9 01:31:21 |显示全部楼层
kankan...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

GMT+8, 2017-12-16 00:06