趋势指标(Super Trend Indicator)

超级趋势指标是一种显示当前趋势方向的指标,很像移动平均线。和其他的趋势指标相似,可以在趋势市场中运行良好,但震荡市场中,可能会给出过多错误信号。
这个指标听过见过很多次,但是在国内的行情软件上很少见,原因我觉得也无他:他并没有表现的比其他趋势指标优秀。


1、超级趋势指标(Super Trend Indicator)计算公式:

2、Python实现

import numpy as np
import pandas as pddef super_trend(df, atr_period, multiplier):high = df['high']low = df['low']close = df['close']# 首先计算ATRprice_diffs = [high - low, high - close.shift(), close.shift() - low]true_range = pd.concat(price_diffs, axis=1)true_range = true_range.abs().max(axis=1)atr = true_range.ewm(alpha=1 / atr_period, min_periods=atr_period).mean()#计算超级趋势指标hl2 = (high + low) / 2final_upperband = hl2 + (multiplier * atr)final_lowerband = hl2 - (multiplier * atr)st = [True] * len(df) # True代表上行趋势,False代表下行趋势for i in range(1, len(df.index)):curr, prev = i, i - 1# 如果当前收盘价上传上轨if close[curr] > final_upperband[prev]:st[curr] = True# 当前收盘价下穿下轨elif close[curr] < final_lowerband[prev]:st[curr] = False# 否则趋势延续else:st[curr] = st[prev]if st[curr] and final_lowerband[curr] < final_lowerband[prev]:final_lowerband[curr] = final_lowerband[prev]if not st[curr] and final_upperband[curr] > final_upperband[prev]:final_upperband[curr] = final_upperband[prev]# 根据趋势方向分别移除相应的上下轨if st[curr]:final_upperband[curr] = np.nanelse:final_lowerband[curr] = np.nanreturn pd.DataFrame({'Supertrend': st,'Final Lowerband': final_lowerband,'Final Upperband': final_upperband}, index=df.index)

3、测试
以东方财富2021-01-04~2022-05-20的日K数据测试,并使用mplfinance绘制图形。

import mplfinace as mpf
data = pd.read_csv('../csv_data/stocks/300059.SZ.csv', parse_dates=["trade_date"], index_col=0)
data = data[['trade_date', 'open', 'high', 'low', 'close', 'vol']].sort_index(ascending=False)
data = data.reset_index(drop=True)
data.set_index('trade_date', drop=True, inplace=True)atr_period = 34
atr_multiplier = 3.0
supertrend = super_trend(data, atr_period, atr_multiplier)
data = data.join(supertrend)
print(data.tail())
std = [mpf.make_addplot(data['Final Upperband'], color='g'), mpf.make_addplot(data['Final Lowerband'], color='r')]
mpf.plot(data, type='candle', style='charles', addplot=std, tight_layout=True)

绘制的图形如下:

看上去正确的刻画了趋势,也符合直觉。OVER!

使用Python实现超级趋势指标(Super Trend Indicator)相关推荐

  1. SF14 | Supertrend“超级趋势线”指标魔改升级(源码)

    量化策略开发,高质量社群,交易思路分享等相关内容 简文: 什么是超级趋势指标SuperTrend Indicator? 超级趋势指标SuperTrend Indicator是一个在外汇交易中常用指标, ...

  2. 底量超顶量超级大黑马指标源码_求通达信顶底趋势指标源码

    展开全部 顶底趋势指标(通达信) 此指标是我精心收藏的指标,无未来函数,62616964757a686964616fe4b893e5b19e31333262353334真正的好指标.图片演示在下面网址 ...

  3. 有没有哪个趋势指标,更好使?

    转 有没有哪个趋势指标更好使? 作者:石川,量信投资创始合伙人,清华大学学士.硕士,麻省理工学院博士:精通各种概率模型和统计方法,擅长不确定性随机系统的建模及优化.知乎专栏:https://zhuan ...

  4. 小散量化炒股记|趋势指标金叉死叉策略在震荡行情中怎么处理

    前言 相信大家都听说了量化交易这个东西了吧!量化交易是一种新兴的系统化金融投资方法. 那么,什么才是普通股民所适合的量化交易打开方式呢? 本文就用一个接地气的股票分析场景--典型的趋势指标金叉死叉策略 ...

  5. 【手把手教你】使用Python构建股票财务指标打分系统

    01 引言 最近受到知识星球圈友[禄子₇]的启发,利用Python基于财务指标打分构建价值投机股票的选股系统.首先感谢他给我发的电子书<价值投机>和他自己写的code(公众号回复" ...

  6. 高频交易算法研发心得--WAVT指标(Warensoft交易量趋势指标)算法及应用

    高频交易算法研发心得--WAVT指标(Warensoft交易量趋势指标)算法及应用 注:WAVT指标由Warensoft(王宇)原创. 前面聊了一系列的常见应用指标,包括短线.长线的指标,并且也无耐的 ...

  7. python:talib 市场情绪指标 BRAR

    情绪指标,简称 ARBR 或 BRAR,由人气指标(AR)和意愿指标(BR)构成. AR 和 BR 都是对通过对历史股价走势的分析,反映市场当前情况下多空双方的力量强弱对比,推断市场交易情绪,从而对趋 ...

  8. python中的super用法详解_【Python】【类】super用法详解

    一.问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: class A: def __init__(sel ...

  9. vs code 插件 简繁转换_18个vscode插件打造python的超级IDE

    18个vscode插件打造python的超级IDE 当下编写python的IDE两个比较大的阵营,一个是pycharm, pycharm就不用说了,一个字,强大.另外一个就是vscode了,很多人,使 ...

最新文章

  1. Sql sever 分组排序
  2. XLSReadWriteII 4.00.62 XE2 可以使用
  3. 《城市建筑美学》读书笔记
  4. 2019年关于VM和Kubernetes的思考 | 技术头条
  5. vue.config.js 配置参考
  6. 面试精讲之面试考点及大厂真题 - 分布式专栏 13项目中为什么要使用消息队列
  7. Javascript Math ceil()、floor()、round()三个函数的区别
  8. Ubuntu apt-get update 失败【转】
  9. 微信小程序API之map
  10. Raki的读paper小记:SUBSPACE REGULARIZERS FOR FEW-SHOT CLASS INCREMENTAL LEARNING
  11. SkinSharp使用方法
  12. 联发科MT6763处理器参数MT6763处理器芯片资料下载
  13. 一文看懂行业分类--基于wind行业分类标准
  14. 基于python的数据管理系统的设计_基于Python的自然语言数据处理系统的设计与实现...
  15. 大连雅思培训百家国际雅思考试词汇量要求与记忆方法是什么
  16. Python 绘图大全之使用 Python Folium 制作生成热图的详细指南
  17. Audified U73b 复古压缩器评测:带来复古温暖的色彩
  18. 华为平板可以安装python_Python镜像怎么配置_Python镜像下载-华为云
  19. 国外程序员也都是996么?
  20. 爬取MOOC课程评论区的评论数据

热门文章

  1. 大数据阶段项目之项目介绍
  2. seurattogiotto中的python环境设置
  3. javascript求1~100的素数和
  4. 《从两月失败职场经历看内部创业四大弊病》有感
  5. 用C语言进行公英单位转换方法
  6. python实现“幻影坦克”效果(点开图片是隐藏的另一张图)【详解】
  7. 微信十周年了,一文速览六大生态产品成绩单
  8. 安卓手机客户端与服务器纯纯socket实现文件下载+断点续传
  9. 拆解报告:爱否开物1A2C 65W PD氮化镓充电器智融SW3516十分表现抢眼
  10. 记录解决启动prometheus-kafka-adapter提示“client has run out of available brokers to talk to“的问题