大数跨境
0
0

归一化波动率指标(Normalized Volatility Indicator)及根据此指标进行交易系统设计附程式码

归一化波动率指标(Normalized Volatility Indicator)及根据此指标进行交易系统设计附程式码 我爱程序化
2025-10-02
0
导读:早期熊市阶段信号可以帮助您在市场下跌之前脱身。该指标告诉你如何做到这一点。

早期熊市阶段信号可以帮助您在市场下跌之前脱身。该指标告诉你如何做到这一点。

识别金融市场趋势的方法有很多,最常见的是 200 天指数移动平均线 (EMA)。当价格下跌趋势低于 200 天 EMA 时,市场被认为处于熊市阶段。如果市场趋势高于 200 天 EMA,则认为市场处于牛市阶段。

由于每个指标都有失灵的时候,我想找到其他指标来确认趋势。在寻找另一个确定金融市场趋势的指标时,我发现 CBoE 波动率指数 (VIX) 是一个很好的市场方向指标。VIX 是根据标准普尔 500 指数期货各种期权隐含波动率的加权平均值计算得出的。

J. 威尔斯-怀尔德的平均真实区间也能显示金融市场的趋势;也就是说,当市场处于牛市阶段时,平均真实区间会缩小,而当市场处于熊市阶段时,平均真实区间会扩大。归一化波动率指标(NVI)就是基于这种行为。

归一化波动率指标(NVI)

平均真实波动范围(ATR)随时间而变化。但我们如何通过 ATR 来判断金融市场的阶段呢?也许某种比率可以提供线索。比率是一个量相对于另一个量的关系。我根据 64 天平均真实区间和股票指数(如标准普尔 500 指数 (SPX))日终值的比率做了一些研究。我选择了 64 天,因为它接近一个季度的平均交易天数。64 天平均真实波动范围与收盘价的比值确实扣除了平均真实波动范围的季节性变化,并给出了一个单一的数字,可用来比较一个金融工具几十年的波动率。我称这一比率为归一化波动率指标。

我发现 Nvi 与主要股票市场指数的周期之间存在着有趣的相关性。Nvi 的计算公式是

NVI = 64 日平均真实波动范围/当日收盘价 * 100

高级预警信号

如图 1 所示,在 2000 年 10 月 SPX 指数开始进入周期性熊市阶段之前,NVI 提前发出了预警信号。在 2003 年开始的牛市阶段和 2007 年 11 月开始的当前世俗熊市周期中,NVI 几乎都在现场。

图 1:归一化波动率指标(NVI)。归一化波动率指标在 2000 年 10 月 SPX 开始进入周期性熊市阶段之前就发出了先行信号,在 2003 年开始的牛市阶段和 2007 年 11 月开始的当前世俗性熊市周期中几乎都发出了信号。

区分 SPX 指数熊市和牛市周期的 NVI 中枢值是多少?我用大约 10,000 个 SPX 数据点进行了几次回溯测试。回溯测试的代码可在边栏 “Prorealtime 回溯测试代码 ”中查看。

回溯测试的 NVI 值范围从 1 到 1.5,步长为 0.001。有许多最佳的 NVI 值都能带来良好的结果,我选择了 1.343,这也是最佳值之一。当 NVI 值约为 1.343 时,回溯测试结果的恢复系数(净利润/最大缩水)为 4.374。这意味着该策略可以承受长时间的缩水。胜率为 16.67;利润因子为 10.44,回报率为 52,这意味着每损失 1 美元,就能获得 52 美元的收益。所有这些都符合我的指标标准。

测试 NVI 盈利潜力的策略很简单。

当 NVI 升至 1.343 以上时,关闭所有多头头寸,并开立空头头寸。每天继续做空一个单位,直到 Nvi 跌破 1.343。一旦 Nvi 跌破 1.343,关闭所有空头头寸,打开多头头寸。继续每天买入一个单位,直到 Nvi 升至 1.343 以上。

图 2:回测统计。以下是 1990 年 4 月至 2010 年 5 月期间 NVI 值为 1.343 的回测统计数据。请注意,回溯测试不包括佣金。

回溯测试结果如图 2 所示。图 3 显示了 NVI 值为 1.343 的回溯测试的股本曲线。在股本曲线下方标注了进场和出场。绿色代表多头头寸,红色代表空头头寸。

图 3:EQuiTY 曲线。股票曲线下方标有入场和出场。绿色代表多头头寸,红色代表空头头寸。

早期信号?

Nvi 可用作长期趋势交易指标。但是,即使基于 Nvi 的简单交易策略具有积极的统计优势或长期优势,Nvi 也可能发出早期熊市信号。因此,为了尽量减少缩减,您应该将 Nvi 与其他趋势跟踪指标(如 200 天 ema)结合使用,因为 Nvi 是为增强长期趋势跟踪指标而开发的。

图 1 显示,Nvi 值低于 1 是进入多头头寸的理想值。这也意味着当前的长期熊市可能不会很快结束。

本研究针对 Spx。不同指数的 N vi 中枢值可能不同,我的回溯测试假设零佣金和相对较大的初始资金。因此,要使用 Nvi,您需要进行回溯测试,选择适合指数和您的交易风格的 Nvi 中枢值。

平均真实范围可以显示金融市场的趋势。NVI 就是基于这种行为。

Indicator: NVI

inputs:        ATR_Range64 ),        ShortAvgLength50 ),        LongAvgLength200 ),        PivotLine1.343 ) ;
variables:        NVI0 ) ;
NVI = AvgTrueRange( ATR_Range ) / Close * 100 ;
Plot1( NVI, "NVI" ) ;Plot2( PivotLine, "Pivot" ) ;Plot3( AverageFC( NVI, ShortAvgLength ), "ShortAvg" ) ;Plot4( AverageFC( NVI, LongAvgLength ), "LongAvg" ) ;

Strategy: NVIStrategy

inputs:        ATR_Range64 ),        NVI_Threshold1.343 ),        AverageLength200 ),        Quantity1 ) ;
variables:        NVI0 ) ;
NVI = AvgTrueRange( ATR_Range ) / Close * 100 ;
if NVI < NVI_Threshold and        Close < XAverage( Close, AverageLength ) then        SellShort Quantity contracts next bar at market ;
if NVI > NVI_Threshold and        Close > XAverage( Close, AverageLength )then        Buy Quantity contracts next bar at market ;
研究专题:http://qhlt.club/thread-158391-1-2.html
关注我们微信及群,第一时间获取最新策略解析及程式码

关注微信:

图片

加入群:每天接收新策略新思路

图片


关注公众号:每天经典策略不错过!

通过下面方式支持我们:

1、关注管理员微信、我们公众号及入群。

2、想用multicharts平台做程序化可以联系我们购买它们年度会员或绑定实盘进行程序化,我们有最具性价比的手续费政策和年度会员购买优惠折扣政策。

3、使用我们自研平台“鼎元C++全自动化”平台进行期货量化交易,执行期货公司特惠佣金费率,享受免平台费服务,【执行无平台费,不加手续费政策】,众多策略模板范例可供参考、优化与升级。我们还提供更多的教程服务与视频培训,欢迎咨询。

4、通过我们开立证券股票账户,执行人性化佣金政策,欢迎咨询。

5、我们的工作与研究离不开大家的支持。感谢大家!

图片


【声明】内容源于网络
0
0
我爱程序化
期货程序化介绍、平台、策略及源码研究与编程。20年策略研究,15年实战经验。
内容 292
粉丝 0
我爱程序化 期货程序化介绍、平台、策略及源码研究与编程。20年策略研究,15年实战经验。
总阅读596
粉丝0
内容292