金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3030|回复: 10

求助分组计算标准差

[复制链接]

144

主题

410

帖子

410

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
发表于 2022-7-5 07:36 | 显示全部楼层 |阅读模式
INPUT:N(60,1,300,1),M(120,1,300,1);
RDR:=LN(C/REF(C,1));
VR:STD(RDR,N)*100;
VRMA:MA(VR,M);


RDR中数据有正有负,请问老师,如何把当中的正负分开,做成两个组,每个组单独求标准差呀?

附网上下载的python 源代码是这样的:
# 切片出要计算用的收益率数据   
        return_data = self.return_array[-n:]
        
        # 计算RV      
        rv = np.sum(pow(return_data, 2))
        # 计算RV +/-     
        positive_data = np.array([rfor r in return_data if r > 0])      
        negative_data = np.array([rfor r in return_data if r <= 0])
        rv_positive = np.sum(pow(positive_data, 2))   
        rv_negative = np.sum(pow(negative_data, 2))
             # 计算RSJ      
        rsj = (rv_positive -rv_negative) / rv   
        return rsj


回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-7-5 09:06 | 显示全部楼层

INPUT:N(60,1,300,1),M(120,1,300,1);
RDR:LN(C/REF(C,1));
VARIABLE:rdr1[]=0;
if rdr>0 then rdr1:=rdr;
VR:std(rdr,10);

用variable定义全局变量然后满足条件时候把数据传入
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

144

主题

410

帖子

410

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2022-7-5 10:53 | 显示全部楼层
收到,谢谢
回复

使用道具 举报

144

主题

410

帖子

410

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2022-7-5 16:42 | 显示全部楼层
请教老师,RDR中包括正数与负数,用VARIABLE:rdr1[]=0;
if rdr>0 then rdr1:=rdr;表示正数集后,能不能再建一个RDR2[]=0表示负数集合,如下:
要求两个集合波动率相加得VR的历史波动率
INPUT:N(60,1,300,1),M(120,1,300,1);
RDR:=LN(C/REF(C,1));
VR:STD(RDR,N);

VARIABLE:rdr1[]=0;
if rdr>0 then rdr1:=rdr;

VARIABLE:rdr2[]=0;
if rdr<0 then rdr2:=rdr;
VR1:std(rdr,60);


补充内容 (2022-7-5 16:44):
现在VR与VR1经常相等,实际上不应该相等的
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-7-5 20:27 | 显示全部楼层
结果不一样的啊,要对数组求std不是原来的rdr,我们是吧rdr存到不同的数组中
截图202207052027162870.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

144

主题

410

帖子

410

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2022-7-6 00:48 | 显示全部楼层
老师,您做的没问题,三个数值不等是对的,可是我用的是和您一样的代码,三个结果却一样,不知问题出在何处?

补充内容 (2022-7-6 00:59):
我的结果是VR,VR1,VR2均为0.125,肯定是不对的,为什么呢?
截图202207060047013470.png
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-7-6 08:43 | 显示全部楼层
运行模式那边选择逐k模式,不要使用序列模式
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

144

主题

410

帖子

410

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2022-7-6 11:23 | 显示全部楼层
运行模式已选逐k模式,三个数据结果仍一样!
截图202207061123355051.png
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-7-6 11:25 | 显示全部楼层
std的参数是我们定义的两个数组,不是原来的rdr了。。。。
如果还不是理解的话电话我沟通下把
021-20339087
截图202207061124352382.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

144

主题

410

帖子

410

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2022-7-6 12:58 | 显示全部楼层
我知道是新的数组,数值应该不一样,我这边与您结果不一致,你那边数值不一样,我这边三个数组的STD值一样。
截图202207061256214093.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-10 07:22 , Processed in 0.284737 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表