鼎元C++量化程式码指标与函数模块系列之【方差(variance)、标准差(standard deviation,StandardDev)计算方法及调用方法】
- UID
- 2
- 积分
- 2892347
- 威望
- 1396205 布
- 龙e币
- 1496142 刀
- 在线时间
- 13313 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-12-25
|
鼎元C++量化程式码指标与函数模块系列之【方差(variance)、标准差(standard deviation,StandardDev)计算方法及调用方法】
1、头文件中声明变量:- double Variance(string period, string inst, int num);//方差计算公式变量
- double StandardDev(string period, string inst, int num);//标准差计算公式变量
复制代码 2、源文件核心公式程式码- //方差计算公式
- double test::Variance(string period, string inst, int num)
- {
- double ma = average(sPeriod, sInst, num);//中间均线
- int key = 0;
- double sumdev = 0;
- double madev = 0;
- if (mapK[period][inst].size() < num) return 0;
- map<string, TKVALUE>::reverse_iterator it;
- for (it = mapK[period][inst].rbegin(); it != mapK[period][inst].rend(); ++it)
- {
- sumdev += pow(it->second.dClose - ma, 2); //偏离平方加总
- key++;
- if (key >= num)break;
- }
- return sumdev / num;
- }
- //标准差计算公式
- double test::StandardDev(string period, string inst, int num)
- {
- double value1;
- if (mapK[period][inst].size() < num) return 0;
- value1 = Variance(sPeriod, sInst, num);
-
- return sqrt(value1);
- }
复制代码 3、调用方法:- StandardDev(sPeriod, sInst, length)
复制代码 |
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|