excel学习库

excel表格_excel函数公式大全_execl从入门到精通

李津的大局观:C++生成DLL在通达信中实现投资炒股票概率泊松分布

泊松分布(Poisson distribution)是一种统计学中的离散概率分布,由法国数学家西莫恩·德尼·泊松在19世纪发现并以其名字命名。这种分布用于描述在给定时间间隔或给定空间内,事件发生的次数的概率分布。

一个使用泊松分布估计茶叶蛋销售的例子如下:

假设你每天早上在市场上卖茶叶蛋。你可以使用泊松分布来预测每天能够卖出多少茶叶蛋。首先,你需要确定每天平均能够卖出多少茶叶蛋,这个数字可以作为泊松分布的参数λ。然后,你可以将时间段(例如一天、一周或一个月)作为时间单位,并使用泊松分布计算出在给定时间段内预期的茶叶蛋销售数量。

通过柏松分布你可以确切地知道:

“当前值”相对于“平均值”

所对应的“具体数学概率”

这就是意义!

使用POISSON函数,需要输入三个参数:事件发生的次数,每个事件发生的平均数,以及一个布尔值,用于指定函数是返回概率质量函数(FALSE)还是累积分布函数(TRUE)。

现在要在通达信中使用该函数输入指标


TDXDLL3(6,MA(C,10),C,1);

1,代表累积概率

0,代表单独概率

复制粘贴,用C++语言汇编生成dll



 
#include <vector>
#include <cmath>
#include <algorithm>
std::vector<double> precomputeLogFactorials(int max) {
std::vector<double> logFactorials(max + 1);
logFactorials[0] = 0.0;
for (int i = 1; i <= max; i++) {
logFactorials[i] = logFactorials[i - 1] + std::log(static_cast<double>(i));
}
return logFactorials;
}
void POISSON(int DataLen, float* pfOUT, float* pfINa, float* pfINb, float* pfINc) {

int :max_element(pfINb, pfINb + DataLen);
std::vector<double> logFactorials = precomputeLogFactorials(maxB);
for (int i = 0; i < DataLen; i++) {
int a = static_cast<int>(pfINa[i]);
int b = static_cast<int>(pfINb[i]);
int cumulative = (*pfINc);
if (cumulative == 1) {
double cdf = 0.0;
for (int k = 0; k <= b; k++) {
double log_probability = -a + k * std::log(a) - logFactorials[k];
double probability = std::exp(log_probability);
cdf += probability;
}
pfOUT[i] = static_cast<float>(cdf);
}
else {
double log_probability = -a + b * std::log(a) - logFactorials[b];
float probability = std::exp(log_probability);
pfOUT[i] = probability;
}
}
}

效果与Excel的效果完全一致

成功

要证明泊松分布,我们可以按照以下步骤逐步推导:
第一步,设随机变量X表示在单位时间内随机事件的平均发生次数,即λ=E(X)。

第二步,根据概率论中的二项分布性质,

我们知道当n足够大且p足够小时,二项分布B(n,p)可以近似为泊松分布P(λ)。

第三步,根据泊松分布的性质,

我们知道泊松分布的概率函数为P(X=k)=λ^ke^(-λ)/k!,其中k为非负整数。

第四步,根据二项分布的性质,

我们知道当n足够大时,

二项分布B(n,p)的概率函数可以近似为P(X=k)=C(n,k)p^k(1-p)^(n-k),

其中C(n,k)表示组合数。

第五步,将第三步和第四步的结果结合起来,我们可以得到泊松分布的证明。

具体来说,当n足够大且p足够小时,

我们有λ=np,C(n,k)≈λ^k/k!,p≈λ/n。

将这些结果代入二项分布的概率函数中,

我们可以得到P(X=k)≈P(X=k)=λ^ke^(-λ)/k!,

这正是泊松分布的概率函数。
通过数学来炒股,通过数学精准刻画概率,因此我们证明了泊松分布的数学逻辑上正确性。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接