Talib技术因子详解(一)

2023-10-28

talib安装方式:pip install Ta-lib

Tushare数据获取请参考:金融量化分析基础环境搭建

数据获取代码

import tushare as ts
ts.set_token('Tushare的token')
pro = ts.pro_api()

#使用tushare旧版接口获取数据
def get_data(code, start, end):
    df = pro.daily(ts_code=code, start_date=start, end_date=end)
    df.index = pd.to_datetime(df.trade_date)
    df=df[['open', 'high', 'low', 'close', 'pre_close', 'change', 'pct_chg', 'vol', 'amount']]
    df = df.rename(columns={"vol": "volume"})
    df = df.iloc[::-1]
    return df

1、布林线 (买卖指标),调用方式为:

upper, middle, lower = talib.BBANDS(close, timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)

根据历史数据画出一个通道,upper为上限,lower为下限,middle为平均位置。调用参数:

(1)close:收盘价。

(2)timeperiod:计算的周期,通常选择20天。

(3) nbdevup:上限价格相对于周期内标准偏差的倍数,取值越大,则上限越大,通道越宽。

(4)nbdevdn:下限价格相对于周期内标准偏差的倍数,取值越大,则下限越大,通道越宽。

(5)matype:平均值计算类型,0代表简单一定平均,还可以有加权平均等方式。

2、双指数平均线DEA,调用方式为:

output = talib.DEMA(close, timeperiod)

双指数平均线大幅度的改善了传统平均线的延迟效应,可以较早的显示出价格反转的可能性,这个指标不仅只是当投资人在使用葛兰碧移动平均线八大法则时,能够更快的获知价格突破或跌破的反转点,同时,将这个双指数用在MACD理论时,可用以替代传统的单指数EMA线上,而获得更早的买卖进出时点的讯号。

3、指数平均线,EMA,平均线的一种,调用方式为:

output = talib.DEMA(close, timeperiod)

4、HT_TRENDLINE希尔伯特瞬时变换,调用方式为:

output = talib.HT_TRENDLINE(close)

趋向类指标,其构造原理是仍然对价格收盘价进行算术平均,并根据计算结果来进行分析,用于判断价格未来走势的变动趋势。

5、KAMA 卡芙曼自适应移动平均线,调用方式为:

output = talib.KAMA(close, timeperiod)

6、MA 移动平均线,调用方式如下:

output = talib.MA(close_price_arr, 14)

7、MAMA MESA自适应移动平均线,调用方式如下:

8、MAVP 变周期移动平均线, 调用方式:

output = talib.MAVP(close, periods, minperiod=2, maxperiod=30, matype=0)

periods的维度需与close一致,也就是为每个价格设置不同的平均线周期。

9、MIDPOINT 阶段中点价格 ,调用方式如下:

output = talib.MIDPOINT(close, timeperiod)

10、MIDPRICE 阶段中点价格 ,调用方式如下:

output = talib.MIDPRICE(high, low, timeperiod)

全部代码

# -*- coding: utf-8 -*-
"""
Created on Wed Jul  7 22:45:25 2021

@author: Administrator
"""

import numpy as np
import talib as tl
import matplotlib.pyplot as plt
import pandas as pd  

import tushare as ts
ts.set_token('自己申请的token')
pro = ts.pro_api()

#使用tushare旧版接口获取数据
def get_data(code, start, end):
    df = pro.daily(ts_code=code, start_date=start, end_date=end)
    df.index = pd.to_datetime(df.trade_date)
    df=df[['open', 'high', 'low', 'close', 'pre_close', 'change', 'pct_chg', 'vol', 'amount']]
    df = df.rename(columns={"vol": "volume"})
    df = df.iloc[::-1]
    return df


if __name__ == '__main__':
    #matplotlib作图
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
    plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
    
    #Tushare数据获取
    start_date = '20200701'
    end_date   = '20210701'
    df = get_data('000001.SZ', start_date, end_date)
    open_price_arr = df['open'].values
    close_price_arr = df['close'].values
    high_price_arr = df['high'].values
    low_price_arr = df['low'].values
    volume_arr = df['volume'].values
    
    #1、BBANDS upper, middle, lower = BBANDS(input_arrays, 20, 2, 2) 布林线 (买卖指标)
    # upper, middle, lower = tl.BBANDS(close_price_arr, 20, 2, 2, 0)
    # plt.plot(close_price_arr)
    # plt.plot(upper)
    # plt.plot(middle)
    # plt.plot(lower)
    # plt.legend(['close', 'upper', 'middle', 'lower'])
    # plt.show()
    
    #2、DEMA dema = DEMA(close, timeperiod)
    # output = tl.DEMA(close_price_arr, 14)

    #3、EMA ,指数平均线 output = DEMA(close, timeperiod)
    # output = tl.EMA(close_price_arr, 14)

    #4、HT_TRENDLINE希尔伯特瞬时变换
    # output = tl.HT_TRENDLINE(close_price_arr)
 
    #5、KAMA 卡芙曼自适应移动平均线 output = tl.KAMA(close, timeperiod)
    # output = tl.KAMA(close_price_arr, 14)
    
    #6、MA 移动平均线 output = tl.MA(close, timeperiod)
    # output = tl.MA(close_price_arr, 14)

    #7、MAMA MESA自适应移动平均线 mama, fama = tl.MAMA(close)
    # mama, fama = tl.MAMA(close_price_arr)
    # plt.plot(close_price_arr)
    # plt.plot(mama)
    # plt.plot(fama)
    # plt.legend(['close', 'mama', 'fama'])
    # plt.show()
    
    #8、MAVP 变周期移动平均线, MAVP(close, periods, minperiod=2, maxperiod=30, matype=0)
    # close_price_arr = np.array([1,5,7,8], dtype=float)
    # periods =np.array([2,3,3,2], dtype=float)
    # output = tl.MAVP(close_price_arr, periods, maxperiod=3)
    
    #9、MIDPOINT 阶段中点价格 mid = tl.MIDPOINT(close, timeperiod)
    # output = tl.MIDPOINT(close_price_arr, 14)
    
    #10、MIDPRICE 阶段中点价格 output = tl.MIDPRICE(high, low, 14)
    # output = tl.MIDPRICE(high_price_arr, low_price_arr, 14)
    # plt.plot(high_price_arr)
    # plt.plot(low_price_arr)
    # plt.plot(output)
    # plt.legend(['high', 'low', 'output'])
    # plt.show()

    
    plt.plot(close_price_arr)
    plt.plot(output)
    plt.legend(['close', 'output'])
    plt.show()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Talib技术因子详解(一) 的相关文章

  • 【Python 量化交易】EMA技术指标

    EMA Source Code span class token keyword class span span class token class name EMAIndicator span span class token punct
  • 【Python量化分析100例】Day1-使用Tushare获取数据

    1 背景 Tushare平台是目前使用python学习量化投资比较好用的而且是免费的一个数据获取平台 主要实现对金融数据从数据采集 清洗加工 到 数据存储的过程 xff0c 能够为金融分析人员提供快速 整洁 和多样的便于分析的数据 xff0
  • Talib技术因子详解(十)

    talib安装方式 pip install Ta lib Tushare数据获取请参考 金融量化分析基础环境搭建 数据获取代码请参考 Talib技术因子详解 一 101 CDLPIERCING名称 Piercing Pattern 刺透形态
  • 【定量分析、量化金融与统计学】R语言方差分析ANOVA(F检验)

    目录 一 前言 Fixed effects models Random effects models Mixed effects models 二 ANOVA使用的前提假设与假设检验 三 ANOVA的计算原理 四 事后检验与交叉图 五 R语
  • 常用技术指标之一文读懂KDJ指标

    什么是KDJ指标 KDJ中文名又叫随机指标 英文名叫Stochastic oscillator 由乔治 莱恩 George Lane 于20世纪50年代首创 最早用于期货市场 KDJ指标能比较迅速 直观地研判行情 主要用于分析中短期趋势 是
  • 一个成熟期货交易系统需要解决哪些问题?

    一个成熟期货交易系统需要解决哪些问题 交易系统绝对不仅仅是时机选择 资金管理 情绪控制这么简单 他是一个系统性的思维 交易系统是一组包含了入场信号 风险控制 资金管理 加减仓机制 可以没有 离场方式等等基本元素的的规则组合 成熟的交易系统是
  • Talib技术因子详解(七)

    talib安装方式 pip install Ta lib Tushare数据获取请参考 金融量化分析基础环境搭建 数据获取代码请参考 Talib技术因子详解 一 57 CDL2CROWS名称 Two Crows 两只乌鸦 调用方式如下 ou
  • Talib技术因子详解(八)

    talib安装方式 pip install Ta lib Tushare数据获取请参考 金融量化分析基础环境搭建 数据获取代码请参考 Talib技术因子详解 一 71 CDLDARKCLOUDCOVER名称 Dark Cloud Cover
  • Python股票历史数据预处理(二)

    Python股票历史数据预处理 二 从网上下载的股票历史数据往往不能直接使用 需要转换为自己所需要的格式 下面以Python代码编程为工具 将csv文件中存储的股票历史数据提取出来并处理 处理的数据结果为是30天涨跌幅子数据库 下载地址为
  • 用户交易数据分析 - 投资绩效归因分析-Brision模型

    1 模型介绍 通过业绩归因 能够更加清楚组合的收益究竟来源于什么 进而知道这种获取超额收益的能力是否能够持续 也能够明白组合发生剧烈波动的原因 从而改进策略 Brision模型中 将组合的收益分四部分 选股收益 在资产类别 或板块 内部 超
  • 量化术语速查表(持续更新)

    本文介绍一些量化投资相关术语 帮助大家更好地了解该行业 作者 bigquant 阅读时间 15分钟 本文由BigQuant宽客学院推出 难度标签 以下术语没有先后顺序 并将持续更新 金融相关 股票 股份公司发行的所有权凭证 债券 承诺按一定
  • Backtrader 基本使用教程 — 量化投资实战教程(1)

    都说Python可以用于量化投资 但是很多人都不知道该怎么做 甚至觉得是非常高深的知识 其实并非如此 任何人都可以在只有一点Python的基础上回测一个简单的策略 Backtrader是一个基于Python的自动化回溯测试框架 作者是德国人
  • 【定量分析、量化金融与统计学】统计推断基础 番外(1)---T table与Z table的值

    目录 一 前言 二 T table 三 Z table 一 前言 为了方便之后的例题讲解 这里放上T tabel和Z table的值 怎么查表 本篇中会直接讲 所以这里就只看表格就行 本篇为工具篇 二 T table 我们给两个版本 适合用
  • 金融时间序列分析:5. AR模型实例(Python)

    0 目录 金融时间序列分析 9 ARMA自回归移动平均模型 金融时间序列分析 8 MA模型实例 Python 金融时间序列分析 7 MA滑动平均模型 金融时间序列分析 6 AR模型实例 金融时间序列分析 5 AR模型实例 Python 金融
  • Talib技术因子详解(四)

    talib安装方式 pip install Ta lib Tushare数据获取请参考 金融量化分析基础环境搭建 数据获取代码请参考 Talib技术因子详解 一 26 MACD 异同移动平均线 调用方式如下 macd macdsignal
  • Pytorch 神经网络模型量化分析基本框架

    环境准备 1 anaconda官网下载 下载地址https www anaconda com distribution 注意选用该电脑相应的系统和64 32位 已安装Python使用环境的请跳过此步骤 已安装Python使用环境的请跳过此步
  • MATLAB金融工具箱(一)--快速入门

    一 快速入门 1 什么是金融工具箱 MATLAB和金融工具箱为金融分析和金融工程提供了一个完整的计算环境 并且金融工具箱提供了一切可帮助你完成金融数据的数学和统计分析的功能 并能将结果用高质量图像显示出来 你可以快速地提出 可视化并且解答复
  • 趋势拟合策略量化分析

    根据趋势拟合的量化分析方法 是对股票价格历史数据进行曲线拟合 从而预测出未来几天的股价 在本文所示的程序中 用fndays表示所用历史数据的天数 pndays表示预测未来的天数 例如我们可以用过去10天的价格预测未来3天的股票价格 1 数据
  • 风险平价组合(risk parity)理论与实践

    本文介绍了风险平价组合的理论与实践 后续文章将对risk parity组合进行更深入探讨以及引入预期收益后的资产配置实战策略 感兴趣的朋友可以直接前往BigQuant人工智能量化投资平台克隆代码进行复现 前言 资产配置是个很广泛的话题 在投
  • (转)基于FPGA技术的FAST行情解码研究

    http mp weixin qq com s BviH6gAqej6lHd9XxFKUfg 交易技术前沿 基于FPGA技术的FAST行情解码研究 钟浪辉 陈敏 陈坚 刘啸林 秦轶轩 李道双 2017 09 08 上交所技术服务 本文选自

随机推荐

  • pubmed 影响因子_如何在Pubmed利用影响因子筛选文献?

    前几天给大家介绍了Pubmed上的2个神器 不知道的同学可以返回去看原文 两大神器 让你的PubMed飞起来 直接显示影响因子 Sci Hub链接 分区 用完之后是不是觉得方便了许多 今天 再给大家介绍一个使用Pubmed时候的小窍门 在P
  • UVA 401 Palindromes 题解

    Palindromes A regular palindrome is a string of numbers or letters that is the same forward as backward For example the
  • 制造企业有没有APS系统?生产车间如何计划排程和安排生产计划的?

    生产车间从组织职能上来说是以生产为重点的部门 生产计划应该由生产计划部来安排 如果从职能上来说 生产计划和生产车间放在一起会产生类似又当运动员又当裁判员的角色一样 从管理角度来看 生产计划和生产管理需要分开 原则上一个属于计划调度部门 一个
  • 记录一下实体类模型(Entity)的常用注解

    1 Data lombok注解 Data 注解的主要作用是提高代码的简洁 使用这个注解可以省去代码中大量的get set toString 等方法 2 TableName MybatisPlus注解 TableName注解主要是实现实体类型
  • 树莓派外设小开发(继电器、语音模块、超声波模块)

    wiringPi库安装与查看 首先要了解wiringPi库 wiringPi是一个很棒的树莓派IO控制库 使用C语言开发 提供了丰富的接口 GPIO控制 中断 多线程 等等 验证wiringPi的是否安装成功 输入gpio v 会在终端中输
  • 单片机C语言常用的头文件与库函数

    单片机C语言常用的头文件与库函数 以下头文件与库函数 只用头文件包含以下相应头文件即可调用 持续更新中 Intrins h头文件 函数名 函数原型 功能 返回值 crol unsigned char crol unsigned char v
  • 计算机密码输入正确,Win10输入正确密码却提示“密码不正确”如何解决

    在使用windows10系统过程中 很多用户都会遇到一些奇怪的问题 比如 有用户反馈开机登录win10的时候输入正确的登入密码 却碰到 密码不正确 请确认您的微软账户密码正确 的错误提示 无法登录 是怎么回事呢 在出现该问题的时候首先我们可
  • QT定时器的几种用法

    一 自定义定时器 定义一个定时器对象 绑定自定义槽函数 也可以定义定时器对象指针 这样可以一次性让多个定时器绑定同一个槽函数 头文件中加入 QTimer myTimer void myTimerEvent 自定义定时处理槽函数 在需要启动的
  • TCP的三次握手与四次挥手以及面试常见题

    TCP 是什么 TCP Transmission Control Protocol 传输控制协议 是一种面向连接的 可靠的 基于字节流的传输层通信协议 而且TCP是全双工模式 面向连接 你和你女朋友聊天是面向连接的 只有连接起来才可以通信的
  • 【Jmeter】什么是BeanShell?

    一 什么是BeanShell BeanShell是用Java写成的 一个小型的 免费的 可以下载的 嵌入式的Java源代码解释器 JMeter性能测试工具也充分接纳了BeanShell解释器 封装成了可配置的BeanShell前置和后置处理
  • 花生壳 linux客户端 命令

    phddns start service sshd status phddns status phddns version
  • HJ32密码截取

    有一定难度 难在考虑不周全 最后还是看了别人提到的方法 自己独立实现了一下 可能没有别人的简洁 但是易懂 调试的时候有些小毛病 但自己解决了 原因不是很清楚 最后总结里会提到 目标 在输入的字符串里找到对称的且是最长的那个字符串 思路 参考
  • 【Zabbix实战之部署篇】Zabbix使用SNMP监控Linux系统

    Zabbix实战之部署篇 Zabbix使用SNMP监控Linux系统 一 SNMP协议介绍 1 SNMP协议简介 2 SNMP协议特点 二 实践环境介绍 三 检查Zabbix监控平台环境 1 检查Zabbix相关组件容器状态 2 检查Zab
  • day05:js基础——函数、作用域问题

    js函数 作用域问题 概述 1 函数 1 1 函数概念 函数作用 函数构成 1 2 定义函数 调用函数 1 3 函数参数 1 4 函数返回值 1 5 js中的特殊函数 1 6 函数demo 2 变量作用域 3 js中的预解析 3 1 声明式
  • 用c语言制作一个简单的答题系统

    首先制作一个答题系统需要有一个题库 其次要有完整的出题系统 然后要能够进行答题和判断答案对错 最后就是统计答案正确率了 实现创建一个题库并不难 仅需要使用数组保存题目与标准答案就行了 使用strcpy函数将题目分别输入进题库 部分代码如下
  • Web自动化测试 —— 测试环境搭建 (Selenium+Python)及视频操作

    一 什么样项目适合做web自动化 1 软件需求不会频繁的变更 2 项目周期比较长 3 自动化的脚本能够重复利用 介入点 第一个版本的核心功能确认以后 系统测试 自动化的实施过程 1 可行性分析 2 框架的选择 selenum rf 框架的搭
  • 使用 maven 自动将源码打包并发布

    在pom xml中添加maven source plugin插件 maven生成 jar的同时生成 sources包
  • 用分布式锁和redis实现原子性递增,解决编号重复问题

    import com baomidou mybatisplus core conditions query QueryWrapper import lombok extern slf4j Slf4j import org apache co
  • C语言-二维数组做函数的参数

    文章目录 1 引例 2 观点1 这种使用方法是错误的 3 观点2 根本不需要这么做 4 二维数组做函数参数的方法 4 1 方法1 4 2 方法2 4 3 方法3 5 与Java的不同 1 引例 下面的程序很简单 定义了一个PrintMatr
  • Talib技术因子详解(一)

    talib安装方式 pip install Ta lib Tushare数据获取请参考 金融量化分析基础环境搭建 数据获取代码 import tushare as ts ts set token Tushare的token pro ts p