摘要:本文主要向大家介绍了哪些 Python语言 库让你相见恨晚,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。
本文主要向大家介绍了哪些 Python语言 库让你相见恨晚,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。
大家贴了很多Python的库,有关于文档处理、网络爬虫、WEB服务器、数据可视化等等,顿时感觉自己接触到的只是Python的冰山一角。不过说真的Python库实在是太多了,涉及到了方方面面的应用场景,我们不可能什么都掌握,大家平时接触比较多的Python库主要有:
Matplotlib——应用于可视化绘图
Bokeh——应用于Web交互式可视化绘图
Urllib3——应用于HTTP客户端网络请求
Numpy——应用于科学计算
Pandas——应用于金融数据分析
Statsmodels——应用于统计模型和分析
TA-Lib——应用于金融技术指标计算
Tushare——应用于财经数据的获取
Django——应用于Web框架的搭建
scrapy——应用于爬虫框架的搭建
...........................……………………..........大家好,我叫分割线................………………………………
上面列举的这些库里面Pandas是金融量化分析中最常使用的库,它封装了Numpy、Matplotlib、Urllib3等基础库,因此Pandas功能十分强大,不仅可以进行科学计算、数据可视化分析,也可以下载金融数据等。正是因为Pandas在金融量化分析中十分著名,一开始踏入这个领域的时候就接触到了,并不能说相见恨晚。
真正让我后知后觉、相见恨晚、一见如故的是TA-Lib这个计算金融技术指标的开源库。来说下是怎么接触到TA-Lib库的,“故事”的发生是这样的,最开始的时候我准备实现一幅查看股票技术指标的界面,如下图所示,其中我需要绘制包括K线图、成交量、均线和MACD、KDJ这几个常用的指标。
我先用了Matplotlib库中Candlestick方法绘制K线图,bar方法绘制成交量,很轻松,没什么问题。接下来绘制均线我先用了两个序列的线性卷积方式实现:
符号*表示卷积这个特定的运算形式,不过没过多久我就找到了pandas库rolling_mean方法来优化均线的实现方法,还算比较顺利,大家可以感受下两种方法的代码实现。
卷积实现:
N_20,N_60,N_120 = 19,59,119 #N-1Pandas实现:
stock['Ma20'] = pd.rolling_mean(stock.Close,window=20)再下一步绘制MACD的DIF(差离值)和DEA(差离平均值),±DIF值是短期移动平均线与长期移动平均线之间的聚合与分离值,DEA是对DIF值进行N日移动平滑,用常规的代码来实现差不多需要10行左右,但是我觉得即然用了Python语言,就要追求更优雅的方式,就在这个时候我在不停的搜索中发现了一套优雅的库TA-Lib,TA-Lib中MACD方法可以根据输入的收盘价直接计算得到DIF、DEA、BAR三组数据,只需要1行代码就轻松搞定。
dif, dea, bar= talib.MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)同样KDJ可以用STOCH(Stochastic Oscillator Slow)方法来实现,这里要注意的是KDJ指标最早雏形是由芝加哥期货交易商George Lane提出的KD指标,该指标又被称为随机震荡指标,在TA-Lib库中对应的方法为STOCH,而KDJ指标则在随机震荡指标K线和D线的基础上增加了一条J线,进一步提高了随机震荡指标对市场买卖信号捕捉的准确度。使用TA-Lib库我们也只需要1行代码就轻松搞定,大家可以感受下计算实现和TA-Lib库实现这两种方法的代码。
计算实现:
date = self.kl_pd.index.to_series()TA-lib实现:
slowk, slowd'= talib.STOCH(High, Low, Close, fastk_period=9, slowk_period=3, slowk_matype=0, slowd_period=3, slowd_matype=0)我继续深入地去了解TA-Lib库,在 //tadoc.org/这个网站上找到了TA-Lib库中实现各种指标的对应实现方法,包括ATR、OBV、RSI等等,总共涵盖了大约200个技术指标的实现方法,并且支持java,C,C++,Perl,Python等多种语言的API,它的强大和便捷令人不得不折服。
本文由职坐标整理并发布,希望对同学们学习Python有所帮助,更多内容请关注职坐标编程语言Python频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号