STD函数的内部计算公式
各股票软件的标准差函数STD是不同的,而布林线的上下轨是以STD为基础计算出来的,所以使用布林线应小心。
以2008/3/28的上证综指为例,利用如下代码:"收盘价3日STD:STD(CLOSE,3);",三日收盘价分别是:3606.86,3580.15,3411.49,在飞狐交易师中显示的3日收盘价标准差是105.928,大智慧新一代中显示的是105.932,通达信中是86.49,同花顺中显示74.90。用EXCEL中的函数STDEV计算的样本方差是105.9316,STDEVP计算总体方差是86.49。
可见大智慧和飞狐使用的算法是样本方差,二者数据基本一致,大智慧的更精确一点,通达信使用的是总体方差,同花顺就不知所谓了。
这里最关键的是要明白总体方差与样本方差的区别。
总体方差(population variance) :如果这组数据本身便构成一个总体, 均差平方和除以数据中观察值的数目, 称为总体方差。如一组数据X1,X2,..., Xn:其平均值M=(X1+X2+...+Xn)/n ,总体方差为 [ (X1-M)^2+...(Xn-M)^2 ]/n 的平方根。
对于无限总体,N为无限大。
样本是由总体中任意抽取而形成的,样本的各种数量关系(包括平均值和方差)都是总体的相关数量的估计值。
数理统计学已经证明了,对于从总体中抽取的样本,用前面的总体方式公式计算出来的方差值来估计总体的方差 总是偏小的。 样本方差有时也称为样本均方(mean square, 简记为MS),是总体方差的无偏估计,计算公式是
[ (X1-M)^2+...(Xn-M)^2 ]/(n-1)的平方根,也就是说用(n-1)取代n作为分母。
为什么用n-1而不是n呢?
这可以从自由度来解释。这样看,X1,X2,...Xn是n个可以自由变化的样本,互不影响。
而X1-M, X2-M,...Xn-M是否也是n个自由变化的呢?不是……因为这n个统计量受到一个约束条件的影响就是之和等于0。如果我们记 yi=Xi-M,也就是说y1+y2+...yn=0,
这样我们可以任意变动其中n-1值,比如取定了y1,y2,...y(n-1),那么yn就不能任意变化。
样本方差与样本均值,都是随机变量,都有自己的分布,也都可能有自己的期望与方差(由此进一步讨论估计量的无偏性与有效性)。取分母n-1,可使样本方差的期望等于总体方差,即这种定义的样本方差是总体方差的无偏估计。
对于股票,我理解由于是无限总体中取的有限样本,应该使用样本方差而不是总体方差,这样的话大智慧和飞狐中的布林线上下轨比较科学,通达信的会误差几十个点,同花顺就更不用说了。从前面我们可以看出,实际上总体方差=样本方差* a,其中a为[n/(n-1)]的平方根。一般布林线默认值n为20,因此a=1.026。
因此通达信的使用者如果想用更科学的样本方差代替总体方差,应修改布林线公式,在STD函数前加一个系数1.026。如此校正后,通达信的布林线上下轨与大智慧、飞狐的都基本相同。
STD函数的内部计算公式的更多相关文章
- C++中的多态与虚函数的内部实现
1.什么是多态 多态性可以简单概括为“一个接口,多种行为”. 也就是说,向不同的对象发送同一个消息, 不同的对象在接收时会产生不同的行为(即方法).也就是说,每个对象可 ...
- matlab std函数 用法及实例
MATLAB常常用到std函数来进行标准差计算,下面我就通过实例介绍一下 matlab std函数怎么用. 1. std函数是用来计算标准偏差的一个函数,由于其有不同的参数,我们就用下面的例子进行介绍 ...
- js 函数闭包内部返回函数体调用方法难点解答
今天在网上,看到一篇关于js函数难点的文章,js函数的一些难点.在那上面提了一下,关于js函数返回另一个函数的问题,并附上了一道面试题: var add = function(x){ var sum ...
- 面试:atoi() 与 itoa()函数的内部实现(转)
原 面试:atoi() 与 itoa()函数的内部实现 2013年04月19日 12:05:56 王世晖 阅读数:918 #include <stdio.h> #include < ...
- std::set 中内部元素有序条件删除的理解
std::set 中内部元素有序条件删除的理解 1. std::set中的元素是有序排列的 注意:Set集合中的元素通过iterator的引用,但是不能修改. 元素排序: (1)元素中实现比较oper ...
- C# 函数方法内部实现循环调用自身
//C# 函数方法内部实现循环调用自身 void TreeViewFresh(){ Action<TreeNodeCollection, MenuItem> addNode = (Tree ...
- 改变JavaScript中函数的内部this指向!
改变JavaScript中函数的内部this指向! 第一种方法 call call 可以 调用函数 + 改变函数内的this指向! var obj = { name: 'lvhang' } funct ...
- C++ 虚函数的内部实现
C++ 虚函数的内部实现 虚函数看起来是个玄之又玄的东西,但其实特别简单!了解了虚函数的内部实现,关于虚函数的各种问题都不在话下啦! 1. 知识储备 阅读这篇文章,你需要事先了解以下几个概念: 什么是 ...
- C#Linq技术中SelectMany(...)函数的内部实现的伪代码
我们先来假设这种场景: 一个学校中有多个年级,一个年级有多个班级,一个班级里有多个学生.这里我们只需要班级.年级.和学生这三个概念: 让我们先来定义Class类和Student类: // 注意,Cla ...
随机推荐
- python学习:格式化输出
格式化输出 代码如下: name = input("Name:") age = input("Age:") job = input("Job:&quo ...
- 黑盒测试实践——day05
一.任务进展情况 今天主要对web系统的“员工管理模块”和“招聘管理模块”进行测试.测试用例选取之前已经做好的excel文件. 二.存在的问题
- SQL Server 查询某个字段值在哪张表的哪个字段
我要查找值为‘WSCOL1525’的字段. declare @cloumns varchar(40)declare @tablename varchar(40)declare @str varchar ...
- if-else案例–开关灯
首先,创建一个html页面,添加一个div盒子,用css设置相应的样式,用js获取盒子的元素,通过点击事件,设置body的背景颜色,用if..else来判断当什么状态设置相应的颜色,(swith... ...
- [Luogu P2563]质数和分解
题目链接 话不多说,这是一道质数题+完全背包.先预处理筛出质数,直接背包就行. #include<iostream> #include<cstdio> #include< ...
- Differenciate or distinguish between outlook attachment and embedded image/signature using property accessor in C#.NET
These days, outlook emails are composed in three formats; plain text, html and rtf (rich text format ...
- rest_framework 跨域和CORS
跨域和CORS 本节目录 一 跨域 二 CORS 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 跨域 同源策略(Same origin policy)是一种约定, ...
- 20165311《网络对抗技术》Exp1 PC平台逆向破解
实验要求: 掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 掌握反汇编与十六进制编程器 能正确修改机器指令改变程序执行流程 能正确构造payload进行bof攻击 实验内容: 手工修 ...
- yii的数据库相关操作
获取某一列数据 self::find()->where(['pid'=>$this->id])->select('id')->column(); 更新操作 $model- ...
- C与C++相互调用
C++编译器可以兼容并编译C语言,但优先使用C++编译方式,extern关键字让C++编译器使用C语言编译方式编译. extern "C" { // c 编译器编译的代码 } C+ ...