Time and Location
Title
Probability and Statistics in C++
Abstract
One of the features introduced in C++11 that can have immediate and significant impact in quantitative development projects was random number generation. However, despite its usefulness, it has — for the most part — flown under the radar within C++ textbooks, curricula, and other educational resources.
Random numbers can be generated from a number of probability distributions, 17 in all, provided in the Standard Library. Meanwhile, the Boost Math Library hosts a collection of deterministic Statistical Distributions and Functions, in particular the cumulative distribution function (CDF), probability density function (PDF), and quantile function for 34 different distributions. It is also a straightforward process to select a distribution in Boost not represented in the Standard Library and create a random number generator in a similar manner.
Meanwhile, another Boost library, Boost.Accumulators, provides incremental statistical computation, such as running mean and variance calculations, as new data is added to a data set. Both the distributional options — random number generation and functions — as well as a look at Boost.Accumulators, will be presented.
More recently, some robust yet lighter-weight alternatives to Standard Library random number generators have been developed in popular open source C++ libraries such as PCG and Xoshiro. In addition, a proposal for the C++29 Standard offers features similar to accumulators in Boost. Time permitting, these will also be introduced.
Speaker Bio
Daniel Hanson is a former full-time lecturer in the Computational Finance & Risk Management program within the Department of Applied Mathematics at the University of Washington. His appointment followed over 25 years of experience in private sector quantitative development in finance and data science. He currently serves as the Student Program Coordinator for CppCon.
Resources
Coming Soon!
Digital Media Links
- Sign up for our announcements mailing list If you want to be more involved, sign up for our volunteers list
- Check out our web page at http://www.nwcpp.org/
- Follow @nwcpp on Twitter
- Join our Facebook Group
- Tune in to our YouTube and Vimeo channels
Social