文章 "MQL5 中的统计分布 - 取最佳的 R"

 

新文章 MQL5 中的统计分布 - 取最佳的 R已发布:

R 语言 是统计处理和数据分析的最佳工具之一。

得益于可用性以及对多种统计分布的支持, 它已在各种数据分析和处理中变得普遍。使用概率理论和数学统计的装置, 可以重新审视金融市场数据, 并提供创造交易策略的新机会。运用统计库, 所有这些功能现在均可于 MQL5 中使用。

统计库包含用于计算数据统计特性的函数, 以及用于处理统计分布的函数。

本文研究可与 R 语言实现的基本统计分布工作的函数 (柯西, 威布尔, 正态, 对数正态, 逻辑斯谛, 指数, 均匀, γ 分布, 中心和非中心 β, 卡方, 费舍尔 F-分布, 学生 t-分布, 以及离散二项式和负二项式分布, 几何, 超几何和泊松分布)。此外, 软件库还包含用于计算理论分布力矩的函数, 可评估真实分布到建模的一致性程度。


随机数的分布直方图, 是根据参数为 mu=5 he1 sigma=1 的正态分布生成

图例. 2. 随机数的分布直方图, 是根据参数为 mu=5 he1 sigma=1 的正态分布生成

作者:MetaQuotes Software Corp.

 

很棒的指南,谢谢!

我想请您让元编辑器中的元编辑器(尽管它们是通过 includnik(用 MQL5 编写)连接的)用自己的颜色显示子照明。

现在源代码中的文章没有这种子照明,所以阅读/接收起来有点困难。

我们正在等待 "MQL5 中的可视化 - 从 R 中汲取精华"。

 
MetaQuotes Software Corp.:

已发表文章MQL5 中的统计分布 - 从 R 中汲取精华

作者:MetaQuotes Software Corp.

这项工作的工作量值得尊敬,但

- 测试统计假设并不是 MQL 产品中对速度要求最高的部分。

- 准确性损失的问题仍未解决(mat.library 能长期保持强劲增长,其价值就像白兰地一样久经考验,并不是没有道理的)。

 
尊重和尊重 MQ!
 
我可以想象,当所有这些统计数据和高质量的可视化图形结合在一起时,将会带来多少研究机会。
 

当半年前提出整合 R 和 MT https://www.mql5.com/ru/forum/73266/page10#comment_2283757 的问题时,出于某种原因,当时似乎是要实现全面的数据交换,而不是为小范围的任务提供一个单独的库。

与现有的 4 年前版本的 alglib https://www.mql5.com/zh/code/1146 相比,这个库有什么内在优势?

specialfunctions.mqh 分布函数、积分、多项式类:
  1. CGammaFunc - 伽玛函数。
  2. CIncGammaF - 不完全伽马函数。
  3. CBetaF - 贝塔函数。
  4. CIncBetaF - 不完全 Beta 函数。
  5. CPsiF - psi 函数。
  6. CAiryF - 空气函数
  7. CBessel - 整数阶贝塞尔函数
  8. CJacobianElliptic - 椭圆雅可比函数。
  9. CDawson - 道森积分
  10. CTrigIntegrals - 三角积分
  11. CElliptic - 一阶和二阶椭圆积分
  12. CExpIntegrals - 指数积分。
  13. CFresnel - 菲涅尔积分。
  14. CHermite - 赫米特多项式
  15. CChebyshev - 切比雪夫多项式。
  16. CLaguerre - 拉盖尔多项式
  17. CLegendre - Lejandre 多项式。
  18. CChiSquareDistr - 卡方分布
  19. CBinomialDistr - 二项分布
  20. CNormalDistr - 正态分布
  21. CPoissonDistr - 泊松分布
  22. CStudentDistr - 学生 t 分布。
  23. CFDistr - F 分布
Исследования в мат. пакетах
Исследования в мат. пакетах
  • www.mql5.com
Форум трейдеров MQL5.community
 
Maxim Kuznetsov:

劳动力的数量值得尊敬,但

- 统计假设检验并不是 MQL 产品中对速度要求最高的部分。

- 精度损失的问题仍未解决(mat.library 的强大不是没有道理的,它就像白兰地一样历久弥新)。

为了检查复杂的计算,有单元测试(脚本在 /Scripts/Unittests 文件夹中)。

要评估统计库函数计算的准确性,您可以将其与Wolfram Alpha 中获得的数值进行比较

TestStatPrecision.mql5 脚本会计算每个库分布的概率密度函数(PDF)和累积分布函数(CDF)。

获得的结果将与 Wolfram Alpha 中的值进行比较(显示到最接近的 30 位),并显示小数点后的匹配位数。

脚本结果显示在 "专家 "选项卡中:
Testing precision for distribution:Beta
Distribution: Beta,  Wolfram PDF=1.250000000000000000000000000000,  PDF_calculated=1.249999999999998223643160599750,  deltaPDF=0.000000000000001776356839400250
Distribution: Beta,  Wolfram CDF=0.812500000000000000000000000000,  CDF_calculated=0.812500000000000222044604925031,  deltaCDF=-0.000000000000000222044604925031
Distribution: Beta PDF correct digits=14
Distribution: Beta CDF correct digits=15
   
Testing precision for distribution:Binomial
Distribution: Binomial,  Wolfram PDF=0.178863050569879750151258690494,  PDF_calculated=0.178863050569879888929136768638,  deltaPDF=-0.000000000000000138777878078145
Distribution: Binomial,  Wolfram CDF=0.416370829447481383134288535075,  CDF_calculated=0.416370829447481938245800847653,  deltaCDF=-0.000000000000000555111512312578
Distribution: Binomial PDF correct digits=15
Distribution: Binomial CDF correct digits=15
   
Testing precision for distribution:Cauchy
Distribution: Cauchy,  Wolfram PDF=0.078353202752933087671394218887,  PDF_calculated=0.078353202752933101549182026702,  deltaPDF=-0.000000000000000013877787807814
Distribution: Cauchy,  Wolfram CDF=0.165249340538567907055167438557,  CDF_calculated=0.165249340538567907055167438557,  deltaCDF=0.000000000000000000000000000000
Distribution: Cauchy PDF correct digits=16
Distribution: Cauchy CDF correct digits=30
   
Testing precision for distribution:ChiSquare
Distribution: ChiSquare,  Wolfram PDF=0.389400391535702439238519900755,  PDF_calculated=0.389400391535702439238519900755,  deltaPDF=0.000000000000000000000000000000
Distribution: ChiSquare,  Wolfram CDF=0.221199216928595121522960198490,  CDF_calculated=0.221199216928595121522960198490,  deltaCDF=0.000000000000000000000000000000
Distribution: ChiSquare PDF correct digits=30
Distribution: ChiSquare CDF correct digits=30
   
Testing precision for distribution:Exponential
Distribution: Exponential,  Wolfram PDF=0.441248451292297727555080655293,  PDF_calculated=0.441248451292297727555080655293,  deltaPDF=0.000000000000000000000000000000
Distribution: Exponential,  Wolfram CDF=0.117503097415404600400989920672,  CDF_calculated=0.117503097415404544889838689414,  deltaCDF=0.000000000000000055511151231258
Distribution: Exponential PDF correct digits=30
Distribution: Exponential CDF correct digits=16
   
Testing precision for distribution:F
Distribution: F,  Wolfram PDF=0.702331961591220799157042620209,  PDF_calculated=0.702331961591220910179345082724,  deltaPDF=-0.000000000000000111022302462516
Distribution: F,  Wolfram CDF=0.209876543209876531559388013193,  CDF_calculated=0.209876543209876587070539244451,  deltaCDF=-0.000000000000000055511151231258
Distribution: F PDF correct digits=15
Distribution: F CDF correct digits=16
   
Testing precision for distribution:Gamma
Distribution: Gamma,  Wolfram PDF=0.606530659712633424263117376540,  PDF_calculated=0.606530659712633424263117376540,  deltaPDF=0.000000000000000000000000000000
Distribution: Gamma,  Wolfram CDF=0.393469340287366575736882623460,  CDF_calculated=0.393469340287366575736882623460,  deltaCDF=0.000000000000000000000000000000
Distribution: Gamma PDF correct digits=30
Distribution: Gamma CDF correct digits=30
   
Testing precision for distribution:Geometric
Distribution: Geometric,  Wolfram PDF=0.050421000000000000540456568388,  PDF_calculated=0.050420999999999979723774856666,  deltaPDF=0.000000000000000020816681711722
Distribution: Geometric,  Wolfram CDF=0.882350999999999996425970039127,  CDF_calculated=0.882350999999999996425970039127,  deltaCDF=0.000000000000000000000000000000
Distribution: Geometric PDF correct digits=16
Distribution: Geometric CDF correct digits=30
   
Testing precision for distribution:Hypergeometric
Distribution: Hypergeometric,  Wolfram PDF=0.036675398904501069208272667765,  PDF_calculated=0.036675398904501069208272667765,  deltaPDF=0.000000000000000000000000000000
Distribution: Hypergeometric,  Wolfram CDF=0.996784948797332703840368139936,  CDF_calculated=0.996784948797332703840368139936,  deltaCDF=0.000000000000000000000000000000
Distribution: Hypergeometric PDF correct digits=30
Distribution: Hypergeometric CDF correct digits=30
   
Testing precision for distribution:Logistic
Distribution: Logistic,  Wolfram PDF=0.235003712201594494590750628049,  PDF_calculated=0.235003712201594494590750628049,  deltaPDF=0.000000000000000000000000000000
Distribution: Logistic,  Wolfram CDF=0.377540668798145462314863607389,  CDF_calculated=0.377540668798145406803712376131,  deltaCDF=0.000000000000000055511151231258
Distribution: Logistic PDF correct digits=30
Distribution: Logistic CDF correct digits=16
   
Testing precision for distribution:Lognormal
Distribution: Lognormal,  Wolfram PDF=0.000000247498055546993546655130,  PDF_calculated=0.000000247498055546993546655130,  deltaPDF=0.000000000000000000000000000000
Distribution: Lognormal,  Wolfram CDF=0.000000044817423501713188227213,  CDF_calculated=0.000000044817423501713168374878,  deltaCDF=0.000000000000000000000019852335
Distribution: Lognormal PDF correct digits=30
Distribution: Lognormal CDF correct digits=22
   
Testing precision for distribution:NegativeBinomial
Distribution: NegativeBinomial,  Wolfram PDF=0.046875000000000000000000000000,  PDF_calculated=0.046875000000000000000000000000,  deltaPDF=0.000000000000000000000000000000
Distribution: NegativeBinomial,  Wolfram CDF=0.937500000000000000000000000000,  CDF_calculated=0.937500000000000000000000000000,  deltaCDF=0.000000000000000000000000000000
Distribution: NegativeBinomial PDF correct digits=30
Distribution: NegativeBinomial CDF correct digits=30

Testing precision for distribution:NoncentralBeta
Distribution: NoncentralBeta,  Wolfram PDF=1.835315758284358889085297050769,  PDF_calculated=1.835315758284356890683852725488,  deltaPDF=0.000000000000001998401444325282
Distribution: NoncentralBeta,  Wolfram CDF=0.279804451879309967754494437031,  CDF_calculated=0.279804451879309523665284586968,  deltaCDF=0.000000000000000444089209850063
Distribution: NoncentralBeta PDF correct digits=14
Distribution: NoncentralBeta CDF correct digits=15
   
Testing precision for distribution:NoncentralChiSquare
Distribution: NoncentralChiSquare,  Wolfram PDF=0.266641691212769094132539748898,  PDF_calculated=0.266641691212769094132539748898,  deltaPDF=0.000000000000000000000000000000
Distribution: NoncentralChiSquare,  Wolfram CDF=0.142365913869366367272562001745,  CDF_calculated=0.142365913869366339516986386116,  deltaCDF=0.000000000000000027755575615629
Distribution: NoncentralChiSquare PDF correct digits=30
Distribution: NoncentralChiSquare CDF correct digits=16
   
Testing precision for distribution:NoncentralF
Distribution: NoncentralF,  Wolfram PDF=0.354683475208693754776589912581,  PDF_calculated=0.354683475208693865798892375096,  deltaPDF=-0.000000000000000111022302462516
Distribution: NoncentralF,  Wolfram CDF=0.090794346737526995805289686814,  CDF_calculated=0.090794346737526995805289686814,  deltaCDF=0.000000000000000000000000000000
Distribution: NoncentralF PDF correct digits=15
Distribution: NoncentralF CDF correct digits=30
   
Testing precision for distribution:Normal
Distribution: Normal,  Wolfram PDF=0.000013365598267338118769627896,  PDF_calculated=0.000013365598267338122157759685,  deltaPDF=-0.000000000000000000003388131789
Distribution: Normal,  Wolfram CDF=0.000015229981947977879768092203,  CDF_calculated=0.000015229981947977883156223992,  deltaCDF=-0.000000000000000000003388131789
Distribution: Normal PDF correct digits=20
Distribution: Normal CDF correct digits=20
   
Testing precision for distribution:Poisson
Distribution: Poisson,  Wolfram PDF=0.000000000000281323432020839554,  PDF_calculated=0.000000000000281323432020839908,  deltaPDF=-0.000000000000000000000000000353
Distribution: Poisson,  Wolfram CDF=0.999999999999981348253186297370,  CDF_calculated=0.999999999999981237230883834854,  deltaCDF=0.000000000000000111022302462516
Distribution: Poisson PDF correct digits=27
Distribution: Poisson CDF correct digits=15
   
Testing precision for distribution:Uniform
Distribution: Uniform,  Wolfram PDF=0.004000000000000000083266726847,  PDF_calculated=0.004000000000000000083266726847,  deltaPDF=0.000000000000000000000000000000
Distribution: Uniform,  Wolfram CDF=0.000500000000000000010408340856,  CDF_calculated=0.000500000000000000010408340856,  deltaCDF=0.000000000000000000000000000000
Distribution: Uniform PDF correct digits=30
Distribution: Uniform CDF correct digits=30
   
Testing precision for distribution:Weibull
Distribution: Weibull,  Wolfram PDF=0.019512185823866712297558478895,  PDF_calculated=0.019512185823866712297558478895,  deltaPDF=0.000000000000000000000000000000
Distribution: Weibull,  Wolfram CDF=0.000976085818024337737580653496,  CDF_calculated=0.000976085818024330365005880594,  deltaCDF=0.000000000000000007372574772901
Distribution: Weibull PDF correct digits=30
Distribution: Weibull CDF correct digits=17
   
Testing precision for distribution:T
Distribution: T,  Wolfram PDF=0.319904796224811438509760819215,  PDF_calculated=0.319904796224811494020912050473,  deltaPDF=-0.000000000000000055511151231258
Distribution: T,  Wolfram CDF=0.682299044355095474223560358951,  CDF_calculated=0.682299044355095474223560358951,  deltaCDF=0.000000000000000000000000000000
Distribution: T PDF correct digits=16
Distribution: T CDF correct digits=30
   
Testing precision for distribution:NoncentralT
Distribution: NoncentralT,  Wolfram PDF=0.000000000000040650786864501445,  PDF_calculated=0.000000000000040650786864501173,  deltaPDF=0.000000000000000000000000000271
Distribution: NoncentralT,  Wolfram CDF=0.000000000000004816980000000000,  CDF_calculated=0.000000000000004818163532209154,  deltaCDF=-0.000000000000000001183532209154
Distribution: NoncentralT PDF correct digits=27
Distribution: NoncentralT CDF correct digits=17   

函数的计算精度很高,可用于统计计算。

Wolfram|Alpha: Computational Knowledge Engine
  • www.wolframalpha.com
Wolfram|Alpha is more than a search engine. It gives you access to the world's facts and data and calculates answers across a range of topics, including science, nutrition, history, geography, engineering, mathematics, linguistics, sports, finance, music...
附加的文件:
 
ivanivan_11:

与现有的 4 年前版本的 alglibhttps://www.mql5.com/zh/code/1146 相比,这个库有什么内在优势

它在功能上更接近 R。更多分布(21 个)+随机数生成器。有计算分布理论矩的函数。
 
Quantum:

要检查复杂的计算,可以使用单元测试(/Scripts/Unittests 文件夹中的脚本)。


函数的计算精度很高,因此可以用于统计计算。

我曾 "有幸 "支持过一种与数学密切相关的软件,因此我对任何已知方法的 "新 "实现都持怀疑态度。

PS/ 如果你们开展对话,那么由于态度不够热情,我显然会被禁言 :-)

 

上面的评论显示了与一个基准的准确性比较,该基准是小数点后 30 位的 Wolfram Alpha。

我们深知,此类复杂问题应尽可能通过测试来解决。因此,我们在 /Scripts/Unittests 部分专门收集了一些数学库功能的广泛测试。

请升级到我们昨天发布的最新 MT5 测试版,并自行运行这些单元测试。

 
在我看来,MQL 已有的潜力远未被交易者在策略和智能交易系统中实现,但许多人却要求越来越多。为什么当他们获得想要的创新时,却不断受到批评?谁需要如此高的精度(精确到小数点后 30 位)?奇怪的奇思妙想统计是必要的,尽管我认为即使没有这个功能,您也可以用 MQL 解决所有的交易任务,只要您有工作的愿望。不过,还是要感谢开发人员的补充。