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 ...
随机推荐
- angular.identity()
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- flask之wtforms
本篇导航: wtforms组件的使用 自定义From组件 一.wtforms组件的使用 1.flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进 ...
- __x__(5)0905第二天__网页三大组成部分
根据 W3C 标准,将网页主要分成 3 个部分:结构,表现,行为. 结构: HTML 用于描述页面结构. 表现: CSS 用于控制页面中元素的样式. 行为: JavaScript 用于响应用户操作.
- 关于“svn: Can't connect to host '*.*.*.*': 由于连接方在一段时间后没有正确答复或连接”的解决方法
阿里云服务器环境(PHP+Nginx+MySQL) [原因1]svnserve.conf 没写好,当然你先备份一份先: cp svnserve.conf svnserve.conf.bak 打开此文件 ...
- Servlet.service() for servlet [jsp] in context with path [/Healthy_manager] threw exception [Unable to compile class for JSP] with root cause java.lang.IllegalArgumentException: Page directive: inval
严重: Servlet.service() for servlet [jsp] in context with path [/Healthy_manager] threw exception [Una ...
- nginx设置默认server
server { listen default_server; listen [::]: default_server; server_name _; root /usr/share/nginx/ht ...
- Mac学习
碰到问题可以多查看帮助文件 快速上手 1,自动隐藏顶端菜单栏: 通用-> 外观 menu bar 2,docker 程序坞,左边为应用程序,右边是文件或者文件夹,38线 3,option -&g ...
- express 随笔
#express 1.使用Express 应用生成器 npm install express-generator -g 2.创建一个命名为 myapp 的应用 express myapp 3.安装所有 ...
- 正版STLINK使用注意
原文:https://blog.csdn.net/xinghuanmeiying/article/details/78026561 盗版的TVCC是3.3v,可以只用1,7,9,12 正版的TVCC是 ...
- js之history
浏览历史记录window.history,不会刷新页面内容,只会更改历史记录,用location.href 才会刷新 1. history.pushState() & history.repl ...