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 ...
随机推荐
- HTML入门8
今天开始接触HTML里面的多媒体和嵌入内容 前面只讲了文字,下面来讲能够让网页动起来,更加有趣的嵌入元素,包含多媒体,包含图像的不同方式,以及怎样嵌入视频. HTML中图片,下面将深入使用它,以及&l ...
- Python Learning - Two
1. Built-in Modules and Functions 1) Function def greeting(name): print("Hello,", name) g ...
- Python3.6 提示 ModuleNotFoundError: No module named '_ssl' 模块问题
国内 163 yum 源挺好用 (中科大的也不错) http://mirrors.163.com/.help/CentOS6-Base-163.repo yum install openssl-dev ...
- sysbench对MySQL的压测
QPS - query per second TPS - transaction per second 不是特别关注,每个业务场景中事务标准是不一样的 Ⅰ.sysbench测试框架 Ⅱ.常用测试脚本 ...
- linux03:系统常用的命令
1,蜗牛,硬件-内核-接口API(系统调用接口)-程序或者服务,用户不能直接和硬件对话,所以需要一个翻译器,这个翻译器就是shell.美国盾牌 2,shell是一个翻译官,bash是所有翻译官里面干的 ...
- [strongswan] strongswan METHOD宏
使用METHOD宏的函数定义: METHOD(message_t, get_message_id, uint32_t, private_message_t *this) { return this-& ...
- oracle根据某个字段的值进行排序
需求:按照颜色为蓝色.红色.黄色进行排序: order by case when color = '蓝色' then 1 ...
- IDEA中创建maven项目后解决main文件夹下目录不全的问题
IDEA创建maven-archetype-webapp项目的时候,创建完成后发现在main文件夹下没有java,resource等源文件夹. 解决方法: 1.选择File->Project S ...
- python yield,yield from,深浅拷贝
(一)yield和yield from 转自:理解yield yield from (1)yield 1.通常的for…in…循环中,in后面是一个数组,这个数组就是一个可迭代对象,类似的还有链表 ...
- Windows下MongoDB设置用户、密码
在默认情况下,mongod是监听在127.0.0.1之上的,任何客户端都可以直接连接27017,且没有认证. 好处是,用户可以即时上手,不用担心被一堆配置弄的心烦意乱. 坏处是,公网服务器搭建Mong ...