Skip to content
All library documents

Choosing High-Dimensional Quasi-Random Sequences for Finance Simulations

Article Quant Q&A · Author: Jesper Tidblom

Summary

The discussion considers whether high-dimensional Sobol sequences are practical for large market simulations and Monte Carlo pricing, where the required dimension may exceed the limits of common implementations. One answer points to established Sobol sequence construction methods and publications on implementation and improving two-dimensional projections, noting that the researchers have also made implementations available. Another answer proposes a Kronecker sequence as an alternative sampling approach and refers to an external explanation of that construction.

The material offers starting points rather than a comparison of generators or a validation of their performance. It gives no benchmarks, error analysis, or evidence that the suggested alternative matches a high-quality Sobol implementation for a particular pricing problem. The appropriate choice therefore depends on the simulation’s dimension, the quality of available direction numbers, randomization needs, and empirical performance on the target problem. The exchange does not establish how much effort a custom implementation would require or whether any cited implementation meets a specific production standard.

Key ideas

  • High-dimensional finance simulations may exceed the dimension limits of commonly available Sobol implementations.
  • Published Sobol construction algorithms and implementations are suggested as practical resources.
  • An answer proposes a Kronecker sequence as an alternative sampling method.
  • The discussion provides no comparative benchmarks or proof that the alternative performs as well as Sobol sequences.
  • Generator choice should be evaluated for the target simulation and its dimensional and randomization requirements.

Tags

Full text
# How to generate high dimensional Sobol sequences for practical use?


# How to generate high dimensional Sobol sequences for practical use?












My goal is to be able to use Sobol sequences to do a large scale market simulation to reduce the variance and improve the accuracy of the results. If I understand correctly, the use of Sobol sequences is very widespread in finance and Monte Carlo pricing.

However, what I don't understand is the low dimension in most implementations available. Max dimension 1111 seems to be common. This is, in practice, not even enough for pricing of a single, slightly more complicated, position like some barrier option on some basket of underlyings.

The problem is that the dimension is a hard limit, if your simulation requires a higher dimension than what is available you have to abandon the method and typically use standard Monte Carlo instead.

I know there are commercial libraries for generating high quality Sobol numbers for dimension of 100000 and beyond which should be sufficient. Since Sobol numbers seems to be almost like a standard I wonder what the typical way to go here is. Do practitioners typically just use a third party library for this or do they make their own high quality high dimensional Sobol sequences?

Yes, I realize the answer of the above question highly depends on who the practitioner is and their skill level, but what I really want to know if it is reasonable to try to implement your own high quality, high dimensional Sobol sequences or if this is something that would take a group of skilled researchers several years to do? If it is reasonable I would be happy to be pointed in the right direction with some references (I have a PhD in math and I am not afraid of digging into some hard work, as long as it is realistic and not takes years).

I am sorry if the question is a bit vague here, but I feel that this question is pretty common among people learning about Sobol sequences and their benefits. First one reads about Quasi random numbers and their nice properties, but then one is quickly taken down to earth again when the low dimension of all common implementations would not enable you to actually use them in a realistic setting except for some smaller proof of concept examples.

## Answer by Aes Fiquy (score 2)

https://quant.stackexchange.com/a/79775

You asked some references. One standard algorithm is in

> S. Joe and F. Y. Kuo, Remark on Algorithm 659: Implementing Sobol's quasirandom sequence generator, ACM Trans. Math. Softw. 29, 49-57 (2003)

> S. Joe and F. Y. Kuo, Constructing Sobol sequences with better two-dimensional projections, SIAM J. Sci. Comput. 30, 2635-2654 (2008).

The authors have implemented these algorithms. This page has an implemented version and shows some results.

## Answer by Mayur Patel (score 2)

https://quant.stackexchange.com/a/79911

I have an alternative solution, a Kronecker sequence.

```
Require: integer32 index, zero-based index of the requested value
Require: integer32 dim, zero-based dimension of the requested value
Require: integer32 seed, integer value used for randomization
1: integer32 alpha ← pow(2, 32) / (2 + dim + sqrt(7/251));
2: return pow(2, -32) * float32(
    (alpha * index) +
    ((seed ^ 0x6553ac95)*(dim + 0x0E0F0821))
   );
```

I have a blog post explaining the sequence. https://musingsofcuriousengineer.blogspot.com/2024/07/a-kronecker-sequence-for-sampling.html

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.