SPL做量化----SRMI(动量修正指标)
MI 修正指标,用法参考 MI 动力指数用法。
例如计算浦发银行 2024 年的 SRMI 指标,N 取 9。
代码示例:
A | |
1 | 600000 |
2 | 2024-01-01 |
3 | 2024-12-31 |
4 | =call("adjustprice.splx", "", call("loadkday.splx", A1, A2,A3) ) |
5 | 9 |
6 | =A4.new(code,tdate,if( close < close [-A5],(close - close [-A5])/ close [-A5],if(close == close [-A5],0,(close - close [-A5])/ close )):SRMI) |
A1-A4 读取股票数据
A5 输入 N
A8 计算 SRMI。
为了使用方便,可以用宏封装成通用函数供调用。
函数代码:
A | B | |
1 | func srmi(data,N) | =data.new(code,tdate,if( close < close[-N],(close- close[-N])/ close[-N],if(close==close[-N],0,(close-close[-N])/close)):SRMI) |
此代码比较短,和前面章节的 MA 一样,可以用 func 的形式保存在 index.splx 中。
参数:
data | 序表,某支股票的日线数据 |
N | 数字,时间周期 |
返回数据集结构:
code | 股票代码 |
tdate | 日期 |
SRMI | 动量修正指标 |
例如,调用脚本计算浦发银行 2024 年的 SRMI 指标,N 取 9。
A | B | |
… | … | |
6 | =call@f("index.splx") | 登记脚本中的函数 |
7 | … | 计算出源数据 |
8 | =srmi(A7,9) | 调用函数 |
运行效果: