Py学习  »  Python

Python量化系列,用Python写神奇的抛物线指标!

菜鸟学Python • 1 年前 • 296 次点击  
👇我的小册 40章+教程:(小白零基础用Python量化股票分析小册) ,目前已经350多人订阅

量化里面有很多指标,而这些指标又会相互组合形成很多策略,每一种指标都有一些特殊的用处,有一些是震荡指标,有一些是趋势指标,有一些是专门研究通道的指标,比如我们前面说的布林指标就说一个通道指标,今天我们要介绍一个很有意思的指标叫SAR指标,我们一起来看一下。

1.什么是SAR

Parabolic SAR(停止和反转,简称SAR)指标是由著名的技术分析师威尔斯·威尔德(Welles Wilder)发明的。它是一种流行的技术分析工具,用于确定资产价格的潜在停止点和反转点,常用于股票、外汇、期货等多种市场。


这个指标有啥作用呢:

Parabolic SAR旨在提供以下信息:

  1. 趋势方向:SAR点位于价格图表下方时,表明市场处于上升趋势;位于上方时,表明市场处于下降趋势。

  2. 入场和退出点:SAR指标提供潜在的买入和卖出信号。当价格交叉并开始低于SAR点时,可能是卖出或做空的信号;当价格交叉并开始高于SAR点时,可能是买入或做多的信号。

  3. 止损点位置:SAR点也可以用作移动止损的依据,因为它们随着价格变动而调整。


是不是非常神奇。我们先看一下这个指标长什么样子,比如我们随便一个股票软件的分析图,找到这个SAR指标,看看:

可以看到图上我们选择了SAR这个指标,有点类似抛物线。在K线的上方和下方都有红色和绿色的小方块,当价格从SAR点下方突破到上方时,可视为买入信号;相反,当价格从SAR点上方跌破到下方时,可视为卖出信号。
可以简单理解,当价格从绿色的方块->红色的方块,表示可以做多进场,当价格从红色的方块->绿色的方块,表示可以离场,即平仓。
是不是很简单,这个指标可以看成是转向指标,非常灵敏,这既是它的优点,也是它的缺点。后面我们会详细说说,下面我们来看一下用Python如何计算这个信号。

2. 如何用Python计算这个信号

任何指标都有参数,sar也是一样的,sar的参数设置详细如下:

SAR指标有两个主要参数:

  1. 加速因子(AF):开始值通常设为0.02,每次价格达到新高(或新低),加速因子会增加,直到达到最大值。

  2. 最大加速因子:通常设为0.2,限制加速因子的增加,防止SAR点过于接近价格,从而减少其作为趋势跟踪工具的有效性。

计算sar有两个方法,一个就是纯用pandas 和numpy 来计算,这个非常复杂 ,不是不能做,代码量比较大,还有一种就是用第三方库强大的talib开操作(这个库我们后面会专门写文章讲解),如果用talib来计算就非常简单的,只需要几行代码就搞定。

首先要先安装这个库:

pip install pandas_ta

然后一行代码就可以搞定了

df['sar'] = ta.sar(df['high'], df['low'], acceleration=0.02, maximum=0.2)

我们看一下效果, 我们拿创业板300001 特瑞德德股票k线来计算一下:

在上面的表格中,我们可以清晰的看到这个指标的计算结果,那这个结果到底对不对呢,我们需要跟软件上指标计算对比一下,以确保我们的计算公式,计算流程都是对的,我们找一个软件看一下:

12月11号计算的sar是18.38,确实一样的,如果不放心,可以多对比几个日期。


3.回测看一下这个指标,到底如何

我们选择一个股票进行回测,比如我们选择上面的创业板 特锐德看一下效果,我们回测1年的数据:

我们从图上粗略的分析一下,可以看到抓住了几次上行的趋势,1月的和10月的抓的不错,其他的趋势不是启动的太晚,就是启动之后就被打脸回撤了,效果其实不是很好,那这个指标是不是就不灵呢,非也,我们看来一个股票的回测:

我们看这个天孚通信从2024年1月份开始到现在,通过SAR指标可以非常准确的把握这波抄底的行情,点位抓的还是比较准确的,计算了一下大概有40%的涨幅


结论:

也就是说这个指标适合那些波动比较大的股票,可以非常明确的把握趋势的转折和持续的时间,上面只是一个简单的指标介绍和分析,很明显这个指标不能单独使用,有一些假信号出现,需要跟其他指标配合或者择股策略一起配合才能发挥功效,限于篇幅,我们就不展开讨论,后面我们会找时间继续深入研究指标应该如何使用。


最后推荐一下我们团队写的量化小册的内容,45篇内容!从Python安装,入门,数据分析,爬取股票基金的历史+实时数据,以及如何写一个简单量化策略,策略回测,如何看资金曲线统统都有介绍!非常超值!

欢迎订阅:原价199 早鸟价2杯咖啡钱,即可永久阅读。满400人又要涨价了,现在的价格非常非常低,只要2杯奶茶,就可以终身订阅+课程源码,还有永久陪伴群。48小时无理由退款,放心食用!



推荐阅读:


量化: 如何用Python爬取创业板历史+实时股票数据!实战股票分析篇利用Pandas 9招挖掘五粮液股价实战股票数据分析篇 Pandas滚动操作 |量化股票第一步,用Python画股票K线,双均线图,可视化你的股票数据!如何用Python爬取全部800多只ETF基金数据!如何用Python写一个双均线策略 |如何用Python开发一个多策略机器人!上篇!Python量化系列-用布林策略买五粮液能赚多少钱?只要4秒钟!用Python 获取上证指数34年的历史日线数据!


入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径


干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影


趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!

AI: 会做诗的机器人 |  给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影


小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/168288
 
296 次点击