talib 安装与使用
talib 安装与使用
I 安装
最简单的安装方式:
$ pip install TA-Lib
有可能遇到的问题:
func.c:256:28: fatal error: ta-lib/ta_libc.h: No such file or directorycompilation terminated.
这个问题的意思是找不到基础的TALIB库,所以我们不能用上面的简便方式安装。
Mac下安装方式:
$ brew install ta-lib
Windows下安装方式:
从ta-lib-0.4.0-msvc.zip 下载,并解压到路径C:\ta-lib
Linux下安装方式:
下载ta-lib-0.4.0-src.tar.gz 然后依次运行$ untar and cd
$ ./configure --prefix=/usr
$ make
$ sudo make install
如果使用make -jx构建TA LIB可能会失败,需要在最后再加一条命令
$ mae -jX
II 使用
1、指数移动均线和MACD代码
import matplotlib.pyplot as plt
import numpy as np
import talibdf=ts.get_k_data('600600')
close = [float(x) for x in df['close']]
# 调用talib计算指数移动平均线的值
df['EMA12'] = talib.EMA(np.array(close), timeperiod=6)
df['EMA26'] = talib.EMA(np.array(close), timeperiod=12) # 调用talib计算MACD指标
df['MACD'],df['MACDsignal'],df['MACDhist'] = talib.MACD(np.array(close),fastperiod=6, slowperiod=12, signalperiod=9)
df.tail(12)
动量和RSI的函数
import tushare as ts
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import talibdf=ts.get_k_data('600600')
close = [float(x) for x in df['close']]
df['RSI']=talib.RSI(np.array(close), timeperiod=12) #RSI的天数一般是6、12、24
df['MOM']=talib.MOM(np.array(close), timeperiod=5)
df.tail(12)
2、K线图代码
#!/usr/bin/env python
# encoding: utf-8#@author: 好
#@file: test0701.py
#@time: 2019/7/2 17:22import pandas_datareader as pdr
import datetime
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import mpl_finance as mpf
import seaborn as sns
import talib as tlstart = datetime.datetime(2018,4,1)
df_300427 = pdr.DataReader('300427.SZ', 'yahoo', start=start)df_300427.index = df_300427.index.format(formatter=lambda x: x.strftime('%Y-%m-%d'))
fig = plt.figure(figsize=(24, 8))
ax = fig.add_subplot(1, 1, 1)
ax.set_xticks(range(0, len(df_300427.index), 10))
ax.set_xticklabels(df_300427.index[::10])
mpf.candlestick2_ochl(ax, df_300427['Open'], df_300427['Close'], df_300427['High'],df_300427['Low'], width=0.6, colorup='r', colordown='g', alpha=0.75);#加均线
sma_10 = tl.SMA(np.array(df_300427['Close']), 10)
sma_30 = tl.SMA(np.array(df_300427['Close']), 30)fig = plt.figure(figsize=(24, 8))
ax = fig.add_subplot(1, 1, 1)
ax.set_xticks(range(0, len(df_300427.index), 10))
ax.set_xticklabels(df_300427.index[::10])
mpf.candlestick2_ochl(ax, df_300427['Open'], df_300427['Close'], df_300427['High'],df_300427['Low'], width=0.6, colorup='r', colordown='g', alpha=0.75)
plt.rcParams['font.sans-serif']=['Microsoft JhengHei']
ax.plot(sma_10, label='10日均线')
ax.plot(sma_30, label='30日均线')
ax.legend();#加成交量
sma_10 = tl.SMA(np.array(df_300427['Close']), 10)
sma_30 = tl.SMA(np.array(df_300427['Close']), 30)fig = plt.figure(figsize=(24, 15))
ax = fig.add_axes([0,0.2,1,0.5])
ax2 = fig.add_axes([0,0,1,0.2])ax.set_xticks(range(0, len(df_300427.index), 10))
ax.set_xticklabels(df_300427.index[::10])
mpf.candlestick2_ochl(ax, df_300427['Open'], df_300427['Close'], df_300427['High'],df_300427['Low'], width=0.6, colorup='r', colordown='g', alpha=0.75)
plt.rcParams['font.sans-serif']=['Microsoft JhengHei']
ax.plot(sma_10, label='10日均线')
ax.plot(sma_30, label='30日均线')mpf.volume_overlay(ax2, df_300427['Open'], df_300427['Close'], df_300427['Volume'], colorup='r', colordown='g', width=0.5, alpha=0.8)
ax2.set_xticks(range(0, len(df_300427.index), 10))
ax2.set_xticklabels(df_300427.index[::10])ax.legend();#加上kd值sma_10 = tl.SMA(np.array(df_300427['Close']), 10)
sma_30 = tl.SMA(np.array(df_300427['Close']), 30)
df_300427['k'], df_300427['d'] = tl.STOCH(df_300427['High'], df_300427['Low'], df_300427['Close'])
df_300427['k'].fillna(value=0, inplace=True)
df_300427['d'].fillna(value=0, inplace=True)fig = plt.figure(figsize=(24, 20))
ax = fig.add_axes([0,0.3,1,0.4])
ax2 = fig.add_axes([0,0.2,1,0.1])
ax3 = fig.add_axes([0,0,1,0.2])ax.set_xticks(range(0, len(df_300427.index), 10))
ax.set_xticklabels(df_300427.index[::10])
mpf.candlestick2_ochl(ax, df_300427['Open'], df_300427['Close'], df_300427['High'],df_300427['Low'], width=0.6, colorup='r', colordown='g', alpha=0.75)
plt.rcParams['font.sans-serif']=['Microsoft JhengHei']
ax.plot(sma_10, label='10日均线')
ax.plot(sma_30, label='30日均线')ax2.plot(df_300427['k'], label='K值')
ax2.plot(df_300427['d'], label='D值')
ax2.set_xticks(range(0, len(df_300427.index), 10))
ax2.set_xticklabels(df_300427.index[::10])mpf.volume_overlay(ax3, df_300427['Open'], df_300427['Close'], df_300427['Volume'], colorup='r', colordown='g', width=0.5, alpha=0.8)
ax3.set_xticks(range(0, len(df_300427.index), 10))
ax3.set_xticklabels(df_300427.index[::10])ax.legend();
ax2.legend();plt.show()
【参考】:
1、https://www.cnblogs.com/zhuminghui/p/9196793.html
2、https://www.cnblogs.com/52shaidan/p/11125233.html
3、https://www.zhihu.com/question/39951384
4、https://zhuanlan.zhihu.com/p/36219963
5、https://www.ricequant.com/welcome/
talib 安装与使用相关推荐
- python中ta_非常详细的Ta-Lib安装及使用教程
一.TaLib简介 TaLib是一个Python金融指数处理库.包含了很多技术分析里的常用参数指标,例如MA.SMA.WMA.MACD.ATR等. 二.TaLib安装 注:TaLib是一个pyhon库 ...
- python股票技术分析库Ta-Lib安装日记(windows 下 talib 安装)
文章目录 1. 直接用pip install talib 安装会报错 2. 解决办法: 网上下载Ta-Lib的whl文件到本地安装 2.1 网上下载好源文件whl 2.2 打开anaconda pro ...
- python 股票指标库talib_股票指标库 TA-Lib 安装方法
TA-Lib 安装包 首先你要明确你的系统版本,win32系统还是Linux,X86还是X64: 如果你的系统是x86平台,在安装了anaconda 的基础上,可以直接使用pip安装,命令如下: pi ...
- 苹果电脑mac系统安装TA-lib安装成功了
今天早上接到一个朋友邀请我给她苹果电脑mac系统安装TA-lib,我最开始没注意,因为还有一些其他的包,很快就安装好了,安装的最新的python和社区版pycharm. 结果就卡在TA-lib这个包, ...
- python安装与使用Ta-Lib,获取金融技术面特征
ta-lib github项目地址:https://github.com/mrjbq7/ta-lib 安装 1. 首先安装依赖 mac-intel芯片: brew install ta-lib lin ...
- Mac M1安装ta-lib
Mac M1安装ta-lib## 标题 1.在你需要安装的环境目录下,输入:brew install ta-lib: 2.在同一目录下,输入: export TA_INCLUDE_PATH=" ...
- TA-Lib介绍安装及使用教程
一.TA-Lib简介 TA-Lib,英文全称"Technical Analysis Library", 中文名称:技术分析库,是一个用于金融量化的第三方库,涵盖了150多种股票.期 ...
- Ta-lib学习 - Mac 安装 Ta-lib
学习量化,总会看到这个python库,但是,想要成功安装这个包,我还费了点功夫,有点麻烦呀-虽然,整体上就是几行代码,但是,为了成功运行这几行代码,需要处理各种各样的报错信息-希望可以帮助到和我一样踩 ...
- 国内股票KDJ指标计算,Python实现KDJ指标计算,Talib实现KDJ指标计算
0 引言 KDJ指标是最为常见的指标之一,股票每日的K线数据通过Tushare.Baostock等平台能够获取到个股及指数的Open.High.Low.Close.Volume等数据,KDJ.MACD ...
- 【Java】基于TA-Lib技术分析指标研究
[Java]SFC融媒体项目基于TA-Lib技术分析指标研究 [Java]SFC融媒体项目基于TA-Lib技术分析指标研究 0. 前言 1. TA-Lib介绍 2. TA-Lib数据准备 2.1 指标 ...
最新文章
- 【JNI】JNI中java类型的简写
- java.lang.NumberFormatException 错误及解决办法
- 论文参考文献的组织(latex)
- mfp 服务器控制中心,小身材大作用 固网USB打印服务器评测
- 大学生试用期辞退之没有工钱
- 多线程(6)线程同步
- Java 8流中的数据库CRUD操作
- 今天的这个小成绩,需要向阿里云的朋友报告一下!
- python中left是什么意思_Python left
- 代码款空题 包的使用
- 李萍matlab实验报告,李萍, 张磊, 王垚廷. 基于Matlab的偏微分方程数值计算[J]. 齐鲁工业大学学报, 2017, 31(4): 39-43....
- @selector 如何调用在另一个类中的静态函数?
- C功底挑战Java菜鸟入门概念干货(三)
- 用Python构建一个PE文件
- 计算机桌面设置上时间表,怎么在电脑上安排每天的工作计划?你需要添加一款提醒功能强大的桌面便签软件...
- 读后感之悟道-一位20年IT高管的职场心得
- 【数据库CS751】数据库的建表与插入
- 如何缓解百度网盘限速问题
- 第十六届全国大学生智能汽车比赛—摄像头算法控制总结
- 计算起始时间与结束时间之间有哪些月份和周数
热门文章
- 遗传算法(Genetic Algorithm)原理详解和matlab代码解析实现及对应gaot工具箱实现代码
- SQL语言学习随手记——二进制与十六进制之间的转换
- Axure使用图标字体
- 华为全系Visio图标下载链接
- MySQL中MGR中SECONDARY节点磁盘满,导致mysqld进程被OOM Killed
- swf文件数据格式分析
- 俄罗斯方块源代码 java_俄罗斯方块 Java程序源代码 在eclipse上运行
- WordPress仿站实战教程
- 如何在点击a标签下载文件的时候通过JavaScript动态的修改文件的名称?
- 2020谷歌服务助手_华为mate30没法用谷歌?新加坡网友实测如何越过官方限制!...