摘要:在deepseek之前,或者说在一切AI出现之前,我们面对指标的钝化的现象,是手足无措的,但是,现在,deepseek就像一把高明的手术刀,对于指标存在的不治之癌症,我们想切一刀就是一刀,直到指标变成为一个能够准确反应价格趋势和能量的东西,而为我们所用,也能为
在deepseek之前,或者说在一切AI出现之前,我们面对指标的钝化的现象,是手足无措的,但是,现在,deepseek就像一把高明的手术刀,对于指标存在的不治之癌症,我们想切一刀就是一刀,直到指标变成为一个能够准确反应价格趋势和能量的东西,而为我们所用,也能为我们赚钱。
凡是在市场上摔打滚爬过的人,对KDJ一定有过接触,所以对于它的擅长和短板,都是一清二楚的。KDJ在横盘整理行情反应敏感,但是在趋势中,却会出现连续钝化,这像什么?就像一大波的行情来了,赚钱的预期也随着趋势上升,而KDJ却在此时要我们按下刹车,赶紧跑步离场,于是该赚的钱,没有赚到,这确实是一个让人懊恼的的问题。
KDJ钝化现象示意图
怎么解决这个问题?
deepseek给出的答案就两条:一是调整参数;二是找一个效率更高的替代品。调整参数,不论怎么调,在效果上可能稍微出彩,但换汤不换药,必然有KDJ的鬼魅的影子,不如直接找一个更好的强弱指标,来解决钝化的问题。
deepseek为我们找到了KDJ替代,如下图所示:
都是一些手拿把掐的指标,通过对比,我们发现了一个指标stochastic RSI(随机相对强弱指数),它处理钝化的表现虽然比不上趋势指标MACD和CCI,它的趋势适应和震荡适应都在四星上,但显然要比KDJ、RSI和W%好,它的趋势适应和震荡适应评比上都有四个星,是一个高平衡的指标。
也就说,不论是盘整或者是趋势,stochastic RSI 都将是所向无敌的。这样好的东西,我怎么在以前就没有发现过,而且在deepseek简单阐述这个指标的时候,顺便为我们便捷了一个简单使用的系统:
当StochRSI 50日均线 → 买入
当StochRSI > 80 + MACD死叉 + 价格
简简单单就把钱赚了,不舒服吗?所以,我宁愿愿意选择简单,去解决其他如KDJ、RSI、W%R的钝化,但又出现了一个问题,就是当我们打开交易平台的界面后,反复查找这个指标,却没有发现它的存在。
这又变成了一个难办的问题!但是有deepseek在,我们不如让它再来一刀,切出一个崭新的stochRSI也算是我们对deepseek使用上的升华了。
因为要玩头指标,机器的语言可能更加的严谨一些,所以,这里我们就参与讨论了·,直接坦诚输出:Stochastic RSI(StochRSI)是RSI的随机化版本,通过计算RSI在其周期内的相对位置,提供更灵敏的超买超卖信号。其核心优势在于:
a、双重平滑:先计算RSI,再对其做随机化处理。
b、无钝化:数值范围严格限定在0-100,避免极端值失真。
c、高灵敏度:比标准RSI提前1-2个周期发出信号。
计算的方法如下所示:
math复制代码
\begin{aligned}&\text{StochRSI} = \frac{\text{当前RSI} - \text{最低RSI(N周期)}}{\text{最高RSI(N周期)} - \text{最低RSI(N周期)}} \times 100\\&\text{信号线} = \text{StochRSI的M周期移动平均}\end{aligned}(默认参数:RSI周期=14,StochRSI周期=14,信号线=3)
千万不要因为到了这一帕就万事大吉了。当你看见上面这个玩意的时候,是不是和我们一样,无从着手了。
它就是一个代码,是一个笼统的方法,所以它仍然需要一个转换——如何把它变成交易中的指标?
直接呈现:
一、公式拆解:
\begin{aligned}&\text{StochRSI} = \frac{\text{当前RSI} - \min[\text{RSI}(N)]}{\max[\text{RSI}(N)] - \min[\text{RSI}(N)]} \times 100\\&\text{Signal Line} = \text{SMA}(\text{StochRSI}, M)\end{aligned}二、计算步骤详解
步骤1:计算基础RSI:
使用标准RSI公式(默认周期14):
代码公式:\text{RSI} = 100 - \frac{100}{1 + \frac{\text{平均上涨幅度}}{\text{平均下跌幅度}}}
步骤2:确定滚动窗口极值:
在N周期(默认14)窗口内:
最高RSI值:max(RSI_1, RSI_2, ..., RSI_14)
最低RSI值:min(RSI_1, RSI_2, ..., RSI_14)
步骤3:计算StochRSI:
将当前RSI值映射到0-100区间:
代码:\text{StochRSI}_t = \frac{\text{RSI}_t - \text{最低RSI}}{\text{最高RSI} - \text{最低RSI}} \times 100
若最高RSI=最低RSI(罕见情况),则强制设定:
当RSI>前值:StochRSI=100
当RSI
当RSI=前值:StochRSI=50
步骤4:生成信号线
对StochRSI取M周期(默认3)简单移动平均:
代码:\text{Signal Line}_t = \frac{\text{StochRSI}_{t} + \text{StochRSI}_{t-1} + \text{StochRSI}_{t-2}}{3}
三、数学特性分析
特性说明值域严格限定在[0,100]区间灵敏度比原始RSI放大波动(二阶导数效应)归一化消除不同品种RSI绝对值的差异动态边界超买超卖线随市场波动自动调整(不同于固定70/30的RSI)四、Python实现代码:
import numpy as npimport pandas as pddef calculate_stoch_rsi(close, period=14, smooth_k=3): # 计算RSI delta = close.diff gain = delta.where(delta > 0, 0) loss = -delta.where(delta至此,就算是一个新的指标全部完成了,而修改代码的过程也是一个非常复杂的过程。但是不要害怕,机器的作用,永远是我们无法想象的。
下面,我简单地说一下修改的办法,一般的交易平台上都有一个接入的方式——公式管理,打开以后,然后按下新建,就会给出一个界面,然后把上面的代码公式复制粘贴,然后再按下用法说明,就会又不断地错误的提示。
请你记住,要把错误的行数记清楚,错误的名称记清楚,回过头,把这个错误输入到deepseek,让它再来一刀。
一行一行排比,然后让deepseek一刀一刀修理,直到完美,按下确认即可。
最后,这里仍要声明一点,就是这是一个关于deepseek能力探讨的过程,其中关于交易指标的用途,就像给机器加油或者通电一样,燃烧以证明deepseek,并没有实际效应,不能作为交易的依据,由此产生的不良结果,责任自担!
以上所述,纯属个人观点,欢迎长按点赞,评论转发和收藏,我们一起探讨~
来源:行走吧木头