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 安装与使用相关推荐

  1. python中ta_非常详细的Ta-Lib安装及使用教程

    一.TaLib简介 TaLib是一个Python金融指数处理库.包含了很多技术分析里的常用参数指标,例如MA.SMA.WMA.MACD.ATR等. 二.TaLib安装 注:TaLib是一个pyhon库 ...

  2. python股票技术分析库Ta-Lib安装日记(windows 下 talib 安装)

    文章目录 1. 直接用pip install talib 安装会报错 2. 解决办法: 网上下载Ta-Lib的whl文件到本地安装 2.1 网上下载好源文件whl 2.2 打开anaconda pro ...

  3. python 股票指标库talib_股票指标库 TA-Lib 安装方法

    TA-Lib 安装包 首先你要明确你的系统版本,win32系统还是Linux,X86还是X64: 如果你的系统是x86平台,在安装了anaconda 的基础上,可以直接使用pip安装,命令如下: pi ...

  4. 苹果电脑mac系统安装TA-lib安装成功了

    今天早上接到一个朋友邀请我给她苹果电脑mac系统安装TA-lib,我最开始没注意,因为还有一些其他的包,很快就安装好了,安装的最新的python和社区版pycharm. 结果就卡在TA-lib这个包, ...

  5. python安装与使用Ta-Lib,获取金融技术面特征

    ta-lib github项目地址:https://github.com/mrjbq7/ta-lib 安装 1. 首先安装依赖 mac-intel芯片: brew install ta-lib lin ...

  6. Mac M1安装ta-lib

    Mac M1安装ta-lib## 标题 1.在你需要安装的环境目录下,输入:brew install ta-lib: 2.在同一目录下,输入: export TA_INCLUDE_PATH=" ...

  7. TA-Lib介绍安装及使用教程

    一.TA-Lib简介 TA-Lib,英文全称"Technical Analysis Library", 中文名称:技术分析库,是一个用于金融量化的第三方库,涵盖了150多种股票.期 ...

  8. Ta-lib学习 - Mac 安装 Ta-lib

    学习量化,总会看到这个python库,但是,想要成功安装这个包,我还费了点功夫,有点麻烦呀-虽然,整体上就是几行代码,但是,为了成功运行这几行代码,需要处理各种各样的报错信息-希望可以帮助到和我一样踩 ...

  9. 国内股票KDJ指标计算,Python实现KDJ指标计算,Talib实现KDJ指标计算

    0 引言 KDJ指标是最为常见的指标之一,股票每日的K线数据通过Tushare.Baostock等平台能够获取到个股及指数的Open.High.Low.Close.Volume等数据,KDJ.MACD ...

  10. 【Java】基于TA-Lib技术分析指标研究

    [Java]SFC融媒体项目基于TA-Lib技术分析指标研究 [Java]SFC融媒体项目基于TA-Lib技术分析指标研究 0. 前言 1. TA-Lib介绍 2. TA-Lib数据准备 2.1 指标 ...

最新文章

  1. 【JNI】JNI中java类型的简写
  2. java.lang.NumberFormatException 错误及解决办法
  3. 论文参考文献的组织(latex)
  4. mfp 服务器控制中心,小身材大作用 固网USB打印服务器评测
  5. 大学生试用期辞退之没有工钱
  6. 多线程(6)线程同步
  7. Java 8流中的数据库CRUD操作
  8. 今天的这个小成绩,需要向阿里云的朋友报告一下!
  9. python中left是什么意思_Python left
  10. 代码款空题 包的使用
  11. 李萍matlab实验报告,李萍, 张磊, 王垚廷. 基于Matlab的偏微分方程数值计算[J]. 齐鲁工业大学学报, 2017, 31(4): 39-43....
  12. @selector 如何调用在另一个类中的静态函数?
  13. C功底挑战Java菜鸟入门概念干货(三)
  14. 用Python构建一个PE文件
  15. 计算机桌面设置上时间表,怎么在电脑上安排每天的工作计划?你需要添加一款提醒功能强大的桌面便签软件...
  16. 读后感之悟道-一位20年IT高管的职场心得
  17. 【数据库CS751】数据库的建表与插入
  18. 如何缓解百度网盘限速问题
  19. 第十六届全国大学生智能汽车比赛—摄像头算法控制总结
  20. 计算起始时间与结束时间之间有哪些月份和周数

热门文章

  1. 遗传算法(Genetic Algorithm)原理详解和matlab代码解析实现及对应gaot工具箱实现代码
  2. SQL语言学习随手记——二进制与十六进制之间的转换
  3. Axure使用图标字体
  4. 华为全系Visio图标下载链接
  5. MySQL中MGR中SECONDARY节点磁盘满,导致mysqld进程被OOM Killed
  6. swf文件数据格式分析
  7. 俄罗斯方块源代码 java_俄罗斯方块 Java程序源代码 在eclipse上运行
  8. WordPress仿站实战教程
  9. 如何在点击a标签下载文件的时候通过JavaScript动态的修改文件的名称?
  10. 2020谷歌服务助手_华为mate30没法用谷歌?新加坡网友实测如何越过官方限制!...