Hybrid scheme for Brownian semistationary processes
- 813 Downloads
Abstract
We introduce a simulation scheme for Brownian semistationary processes, which is based on discretizing the stochastic integral representation of the process in the time domain. We assume that the kernel function of the process is regularly varying at zero. The novel feature of the scheme is to approximate the kernel function by a power function near zero and by a step function elsewhere. The resulting approximation of the process is a combination of Wiener integrals of the power function and a Riemann sum, which is why we call this method a hybrid scheme. Our main theoretical result describes the asymptotics of the mean square error of the hybrid scheme, and we observe that the scheme leads to a substantial improvement of accuracy compared to the ordinary forward Riemann-sum scheme, while having the same computational complexity. We exemplify the use of the hybrid scheme by two numerical experiments, where we examine the finite-sample properties of an estimator of the roughness parameter of a Brownian semistationary process and study Monte Carlo option pricing in the rough Bergomi model of Bayer et al. (Quant. Finance 16:887–904, 2016), respectively.
Keywords
Stochastic simulation Discretization Brownian semistationary process Stochastic volatility Regular variation Estimation Option pricing Rough volatility Volatility smileMathematics Subject Classification (2010)
60G12 60G22 65C20 91G60 62M09JEL Classification
C22 G13 C131 Introduction
Under (1.2), the trajectories of \(X\) behave locally like the trajectories of a fractional Brownian motion with Hurst index \(H = \alpha+ \frac{1}{2} \in(0,1) \setminus\{ \frac{1}{2} \}\). While the local behavior and roughness of \(X\), measured in terms of Hölder regularity, are determined by the parameter \(\alpha\), the global behavior of \(X\) (e.g., whether the process has long or short memory) depends on the behavior of \(g(x)\) as \(x \rightarrow\infty \), which can be specified independently of \(\alpha\). This should be contrasted with fractional Brownian motion and related self-similar models, which necessarily must conform to a restrictive affine relationship between their Hölder regularity (local behavior and roughness) and Hurst index (global behavior), as elucidated by Gneiting and Schlather [20]. Indeed, in the realm of \(\mathcal {BSS}\) processes, local and global behavior are conveniently decoupled, which underlines the flexibility of these processes as a modeling framework.
In connection with practical applications, it is important to be able to simulate the process \(X\). If the volatility process \(\sigma\) is deterministic and constant in time, then \(X\) will be strictly stationary and Gaussian. This makes \(X\) amenable to exact simulation using the Cholesky factorization or circulant embeddings; see e.g. [2, Chapter XI]. However, it seems difficult, if not impossible, to develop an exact method that is applicable with a stochastic \(\sigma\), as the process \(X\) is then neither Markovian nor Gaussian. Thus in the general case, one must resort to approximative methods. To this end, Benth et al. [13] have recently proposed a Fourier-based method of simulating \(\mathcal{BSS}\) processes, and more general Lévy semistationary (\(\mathcal{LSS}\)) processes, which relies on approximating the kernel function \(g\) in the frequency domain.
In this paper, we introduce a new discretization scheme for \(\mathcal{BSS}\) processes based on approximating the kernel function \(g\) in the time domain. Our starting point is the Riemann-sum discretization of (1.1). The Riemann-sum scheme builds on an approximation of \(g\) using step functions, which has the pitfall of failing to capture appropriately the steepness of \(g\) near zero. In particular, this becomes a serious defect under (1.2) when \(\alpha \in( -\frac{1}{2},0)\). In our new scheme, we mitigate this problem by approximating \(g\) using an appropriate power function near zero and a step function elsewhere. The resulting discretization scheme can be realized as a linear combination of Wiener integrals with respect to the driving Brownian motion \(W\) and a Riemann sum, which is why we call it a hybrid scheme. The hybrid scheme is only slightly more demanding to implement than the Riemann-sum scheme, and the schemes have the same computational complexity as the number of discretization cells tends to infinity.
Our main theoretical result describes the exact asymptotic behavior of the mean square error (MSE) of the hybrid scheme and, as a special case, that of the Riemann-sum scheme. We observe that switching from the Riemann-sum scheme to the hybrid scheme reduces the asymptotic root mean square error (RMSE) substantially. Using merely the simplest variant the of hybrid scheme, where a power function is used in a single discretization cell, the reduction is at least \(50\%\) for all \(\alpha\in( 0,\frac{1}{2})\) and at least \(80\%\) for all \(\alpha\in( -\frac{1}{2},0)\). The reduction in RMSE is close to \(100\%\) as \(\alpha\) approaches \(-\frac{1}{2}\), which indicates that the hybrid scheme indeed resolves the problem of poor precision that affects the Riemann-sum scheme.
To assess the accuracy of the hybrid scheme in practice, we perform two numerical experiments. Firstly, we examine the finite-sample performance of an estimator of the roughness index \(\alpha\), introduced by Barndorff-Nielsen et al. [6] and Corcuera et al. [16]. This experiment enables us to assess how faithfully the hybrid scheme approximates the fine properties of the \(\mathcal {BSS}\) process \(X\). Secondly, we study Monte Carlo option pricing in the rough Bergomi stochastic volatility model of Bayer et al. [10]. We use the hybrid scheme to simulate the volatility process in this model, and we find that the resulting implied volatility smiles are indistinguishable from those obtained using a method that involves exact simulation of the volatility process. Thus we are able to propose a solution to the problem of finding an efficient simulation scheme for the rough Bergomi model, left open in the paper [10].
The rest of this paper is organized as follows. In Sect. 2, we recall the rigorous definition of a \(\mathcal {BSS}\) process and introduce our assumptions. We also introduce the hybrid scheme, state our main theoretical result concerning the asymptotics of the mean square error and discuss an extension of the scheme to a class of truncated\(\mathcal{BSS}\) processes. Section 3 briefly discusses the implementation of the discretization scheme and presents the numerical experiments mentioned above. Finally, Sect. 4 contains the proofs of the theoretical and technical results given in the paper.
2 The model and theoretical results
2.1 Brownian semistationary process
2.2 Kernel function
As mentioned above, we consider a kernel function that satisfies \(g(x) \propto x^{\alpha}\) for some \(\alpha\in(-\frac{1}{2},\frac{1}{2})\setminus\{0 \}\) when \(x>0\) is near zero. To make this idea rigorous and to allow additional flexibility, we formulate our assumptions on \(g\) using the theory of regular variation [15] and, more specifically, slowly varying functions.
Remark 2.1
Conventionally, slow and regular variation are defined at \(\infty\) [15, Sects. 1.2.1 and 1.4.1]. However, \(L\) is slowly varying (resp. regularly varying) at 0 if and only if \(x \mapsto L(1/x)\) is slowly varying (resp. regularly varying) at \(\infty\).
- (A1)For some \(\alpha\in(-\frac{1}{2},\frac{1}{2}) \setminus \{0\}\),where \(L_{g} : (0,1] \to[0,\infty)\) is continuously differentiable, slowly varying at 0 and bounded away from 0. Moreover, there exists a constant \(C>0\) such that the derivative \(L'_{g}\) of \(L_{g}\) satisfies$$\begin{aligned} g(x) = x^{\alpha}L_{g}(x), \quad x \in(0,1], \end{aligned}$$$$\begin{aligned} |L_{g}'(x)| \leq C(1+x^{-1}), \quad x\in(0,1]. \end{aligned}$$
- (A2)
The function \(g\) is continuously differentiable on \((0,\infty)\), with derivative \(g'\) that is ultimately monotonic and also satisfies \(\int_{1}^{\infty}g'(x)^{2} \mathrm {d}x\).
- (A3)For some \(\beta\in(-\infty,-\frac{1}{2})\),$$ g(x) = \mathcal{O}(x^{\beta}), \quad x \rightarrow\infty. $$
Proposition 2.2
- (i)The variogram of\(X\)satisfieswhich implies that\(V_{X}\)is regularly varying at zero with index\(2\alpha+1\).$$ V_{X}(h) \sim \mathbb {E}[\sigma_{0}^{2}] \bigg(\frac{1}{2\alpha+ 1} + \int_{0}^{\infty}\big( (y+1)^{\alpha}- y^{\alpha}\big)^{2} \mathrm {d}y\bigg) h^{2\alpha+1} L_{g}(h)^{2}, \quad h \rightarrow0, $$
- (ii)
The process\(X\)has a modification with locally\(\phi\)-Hölder-continuous trajectories for any\(\phi\in(0,\alpha+ \frac{1}{2})\).
Motivated by Proposition 2.2, we call \(\alpha\) the roughness index of the process \(X\). Ignoring the slowly varying factor \(L_{g}(h)^{2}\) in (2.2), we see that the variogram \(V(h)\) behaves like \(h^{2\alpha+1}\) for small values of \(h\), which is reminiscent of the scaling property of the increments of a fractional Brownian motion (fBm) with Hurst index \(H = \alpha+ \frac{1}{2}\). Thus, the process \(X\) behaves locally like such an fBm, at least when it comes to second order structure and roughness. (Moreover, the factor \(\frac{1}{2\alpha + 1} + \int_{0}^{\infty}( (y+ 1)^{\alpha}- y^{\alpha})^{2} \mathrm {d}y\) coincides with the normalization coefficient that appears in the Mandelbrot–Van Ness representation [23, Theorem 1.3.1] of an fBm with \(H = \alpha+ \frac{1}{2}\).)
Let us now look at two examples of a kernel function \(g\) that satisfies our assumptions.
Example 2.3
Example 2.4
2.3 Hybrid scheme
- (A4)For some \(\gamma>0\),$$\begin{aligned} N_{n} \sim n^{\gamma+ 1},\quad n \rightarrow\infty. \end{aligned}$$
2.4 Asymptotic behavior of mean square error
We are now ready to state our main theoretical result, which gives a sharp description of the asymptotic behavior of the mean square error (MSE) of the hybrid scheme as \(n \rightarrow\infty\). We defer the proof of this result to Sect. 4.2.
Theorem 2.5
Remark 2.6
When the hybrid scheme is used to simulate the \(\mathcal{BSS}\) process \(X\) on an equidistant grid \(\{0,\frac{1}{n},\frac{2}{n},\ldots,\frac {\lfloor nT \rfloor}{n} \}\) for some \(T>0\) (see Sect. 3.1 on the details of the implementation), the following consequence of Theorem 2.5 ensures that the covariance structure of the simulated process approximates that of the actual process \(X\).
Corollary 2.7
Proof
In Theorem 2.5, the asymptotics of the MSE (2.11) are determined by the behavior of the kernel function \(g\) near zero, as specified in (A1). The condition (2.9) ensures that the error from approximating \(g\) near zero is asymptotically larger than the error induced by the truncation of the stochastic integral (2.1) at \(t - \frac{N_{n}}{n}\). In fact, a different kind of asymptotics of the MSE, where truncation error becomes dominant, could be derived when (2.9) does not hold, under some additional assumptions, but we do not pursue this direction in the present paper.
While the rate of convergence in (2.11) is fully determined by the roughness index \(\alpha\), which may seem discouraging at first, it turns out that the quantity \(J(\alpha,\kappa,\mathbf{b})\), which we call the asymptotic MSE, can vary a lot, depending on how we choose \(\kappa\) and \(\mathbf{b}\), and can have a substantial impact on the precision of the approximation of \(X\). It is immediate from (2.12) that increasing \(\kappa\) will decrease \(J(\alpha,\kappa ,\mathbf{b})\). Moreover, for given \(\alpha\) and \(\kappa\), it is straightforward to choose \(\mathbf{b}\) so that \(J(\alpha,\kappa,\mathbf {b})\) is minimized, as shown in the following result.
Proposition 2.8
Proof
Remark 2.9
Remark 2.10
2.5 Extension to truncated Brownian semistationary processes
Proposition 2.11
- (i)The variogram of\(Y\)satisfies for any\(t \geq0\)that as\(h \rightarrow0\),which implies that\(h \mapsto V_{Y}(h,t)\)is regularly varying at zero with index\(2\alpha+1\).$$ V_{Y}(h,t) \sim \mathbb {E}[\sigma_{0}^{2}] \bigg(\frac{1}{2\alpha+ 1} + \mathbf{1}_{(0,\infty)}(t)\int_{0}^{\infty}\big( (y+1)^{\alpha}- y^{\alpha}\big)^{2} \mathrm {d}y\bigg) h^{2\alpha+1} L_{g}(h)^{2}, $$
- (ii)
The process\(Y\)has a modification with locally\(\phi\)-Hölder-continuous trajectories for any\(\phi\in(0,\alpha+ \frac{1}{2})\).
Note that while the increments of \(Y\) are not covariance-stationary, the asymptotic behavior of \(V_{Y}(h,t)\) is the same as that of \(V_{X}(h)\) as \(h \rightarrow0\) (cf. Proposition 2.2) for any \(t>0\). Thus, the increments of \(Y\) (apart from increments starting at time 0) are locally like the increments of \(X\).
The MSE of the hybrid scheme for the \(\mathcal{TBSS}\) process \(Y\) has the following asymptotic behavior as \(n \rightarrow\infty\), which is in fact identical to the asymptotic behavior of the MSE of the hybrid scheme for \(\mathcal{BSS}\) processes. We omit the proof of this result, which would be a simple modification of the proof of Theorem 2.5.
Theorem 2.12
3 Implementation and numerical experiments
3.1 Practical implementation
Remark 3.1
Remark 3.2
With \(\mathcal{TBSS}\) processes, the computational complexity of the hybrid scheme via (3.7) is \(\mathcal {O}(n \log n)\).
3.2 Estimation of the roughness parameter
To examine how well the hybrid scheme reproduces the fine properties of the \(\mathcal {BSS}\) process in terms of regularity/roughness, we apply the COF estimator to discretized trajectories of \(X\), where the kernel function \(g\) is again the gamma kernel (Example 2.3) with \(\lambda= 1\), generated using the hybrid scheme with \(\kappa= 1,2,3\) and \(\mathbf{b} = \mathbf{b}^{*}\). We consider the case where the volatility process satisfies \(\sigma_{t} = 1\), that is, the process \(X\) is Gaussian. This allows us to quantify and control the intrinsic bias and noisiness, measured in terms of standard deviation, of the estimation method itself, by initially applying the estimator to trajectories that have been simulated using an exact method based on the Cholesky factorization. We then study the behavior of the estimator when applied to a discretized trajectory, while decreasing the step size of the discretization scheme. More precisely, we simulate \(\hat{\alpha}(X^{n},m)\), where \(m=500\) and \(X_{n}\) is the hybrid scheme for \(X\) with \(n = ms\) and \(s \in\{1,2,5\}\). This means that we compute \(\hat{\alpha}(X^{n},m)\) using \(m\) observations obtained by subsampling every \(s\)th observation in the sequence \(X^{n}_{\frac{i}{n}}\), \(i = 0,1,\ldots,n\). As a comparison, we repeat these simulations substituting the hybrid scheme with the Riemann-sum scheme, using \(\kappa= 0\) with \(\mathbf {b}\in\{\mathbf{b}_{\mathrm{FWD}},\mathbf{b}^{*}\}\).
3.3 Option pricing under rough volatility
As another experiment, we study Monte Carlo option pricing in the rough Bergomi (rBergomi) model of Bayer et al. [10]. In the rBergomi model, the logarithmic spot variance of the price of the underlying is modeled by a rough Gaussian process, which is a special case of (2.14). By virtue of the rough volatility process, the model fits well to observed implied volatility smiles [10, Sect. 5].
Parameter values used in the rBergomi model
\(S_{0}\) | ξ | η | α | ρ |
---|---|---|---|---|
1 | 0.235^{2} | 1.9 | −0.43 | −0.9 |
We observe that the Riemann-sum scheme (\(\kappa=0\), \(\mathbf{b} \in\{\mathbf{b}_{\mathrm{FWD}},\mathbf{b}^{*}\}\)) is able to capture the shape of the implied volatility smile, but not its level. But the method even breaks down with more extreme log-strikes (the prices are so low that the root-finding algorithm used to compute the implied volatility would return zero). In contrast, the hybrid scheme with \(\kappa= 1,2\) and \(\mathbf{b}=\mathbf{b}^{*}\) yields implied volatility smiles that are indistinguishable from the benchmark smiles obtained using exact simulation. Further, there is no discernible difference between the smiles obtained using \(\kappa=1\) and \(\kappa=2\). As in the previous section, we observe that the hybrid scheme is indeed capable of producing very accurate trajectories of \(\mathcal{TBSS}\) processes, in particular in the case \(\alpha\in(-\frac {1}{2},0)\), even when \(\kappa= 1\).
4 Proofs
Lemma 4.1
4.1 Proof of Proposition 2.2
4.2 Proof of Theorem 2.5
As a preparation, we first establish an auxiliary result that deals with the asymptotic behavior of certain integrals of regularly varying functions.
Lemma 4.2
- (i)
\({\displaystyle\lim_{n \rightarrow\infty}\int _{k-1}^{k} \bigg( x^{\alpha}\frac{L(x/n)}{L(1/n)} - b^{\alpha}\frac {L(b/n)}{L(1/n)} \bigg)^{2} \mathrm {d}x = \int_{k-1}^{k} (x^{\alpha} - b^{\alpha })^{2} \mathrm {d}x<\infty}\).
- (ii)
\({\displaystyle\lim_{n \rightarrow\infty}\int _{k-1}^{k} x^{2\alpha}\bigg( \frac{L(x/n)}{L(1/n)} - \frac {L(b/n)}{L(1/n)} \bigg)^{2} \mathrm {d}x = 0}\).
Proof
Proof of Theorem 2.5
We now use the obtained asymptotic relations, (4.10)–(4.12) and (4.17), to complete the proof. To this end, it is convenient to introduce the relation \(x_{n} \gg y_{n}\) for any sequences \((x_{n})_{n=1}^{\infty}\) and \((y_{n})_{n=1}^{\infty}\) of positive real numbers satisfying \(\lim_{n \rightarrow\infty}\frac {x_{n}}{y_{n}} = \infty\). By (4.12), we have \(D'_{n} \gg D_{n}\). Since \(2\alpha +1 < 2\), we find that also \(D'_{n} \gg D''_{n}\), in view of (4.11). The assumption \(\gamma> -\frac{2\alpha+1}{2\beta+ 1}\) is equivalent to \(-(2\alpha+1) > \gamma(2\beta+1)\); so by the estimate (2.2) for slowly varying functions, we have \(D'_{n} \gg D'''_{n}\). It then follows that \(E_{n} \sim \mathbb {E}[\sigma_{0}^{2}] D'_{n}\) as \(n \rightarrow \infty\). Further, the condition (2.10) implies that \(E_{n} \gg E'_{n}\). In view of (4.9), we finally find that \(\mathbb{E}[| X^{n}_{t} - X_{t} |^{2}] \sim \mathbb {E}[\sigma_{0}^{2}] D'_{n}\) as \(n \rightarrow\infty\), which completes the proof. □
4.3 Proof of equation (3.5)
In order to prove (3.5), we rely on the following integral identity for the Gauss hypergeometric function \({}_{2} F_{1}\).
Lemma 4.3
Proof
Proof of equation (3.5)
Notes
Acknowledgements
We should like to thank Heidar Eyjolfsson and Emil Hedevang for useful discussions regarding the simulation of \(\mathcal{BSS}\) processes and Ulises Márquez for assistance with symbolic computation. Our research has been supported by CREATES (DNRF78), funded by the Danish National Research Foundation, by Aarhus University Research Foundation (project “Stochastic and Econometric Analysis of Commodity Markets”) and by the Academy of Finland (project 258042).
References
- 1.Alòs, E., León, J.A., Vives, J.: On the short-time behavior of the implied volatility for jump-diffusion models with stochastic volatility. Finance Stoch. 11, 571–589 (2007) MathSciNetCrossRefMATHGoogle Scholar
- 2.Asmussen, S., Glynn, P.W.: Stochastic Simulation: Algorithms and Analysis. Springer, New York (2007) MATHGoogle Scholar
- 3.Barndorff-Nielsen, O.E.: Notes on the gamma kernel (2012). Thiele Centre Research Report, No. 03, May 2012. Available online at http://data.math.au.dk/publications/thiele/2012/math-thiele-2012-03.pdf
- 4.Barndorff-Nielsen, O.E., Benth, F.E., Veraart, A.E.D.: Modelling energy spot prices by volatility modulated Lévy-driven Volterra processes. Bernoulli 19, 803–845 (2013) MathSciNetCrossRefMATHGoogle Scholar
- 5.Barndorff-Nielsen, O.E., Corcuera, J.M., Podolskij, M.: Multipower variation for Brownian semistationary processes. Bernoulli 17, 1159–1194 (2011) MathSciNetCrossRefMATHGoogle Scholar
- 6.Barndorff-Nielsen, O.E., Corcuera, J.M., Podolskij, M.: Limit theorems for functionals of higher order differences of Brownian semistationary processes. In: Shiryaev, A.N., et al. (eds.) Prokhorov and Contemporary Probability Theory, pp. 69–96. Springer, Berlin (2013) CrossRefGoogle Scholar
- 7.Barndorff-Nielsen, O.E., Pakkanen, M.S., Schmiegel, J.: Assessing relative volatility/intermittency/energy dissipation. Electron. J. Stat. 8, 1996–2021 (2014) MathSciNetCrossRefMATHGoogle Scholar
- 8.Barndorff-Nielsen, O.E., Schmiegel, J.: Ambit processes: with applications to turbulence and tumour growth. In: Benth, F.E., et al. (eds.) Stochastic Analysis and Applications, Abel Symp., vol. 2, pp. 93–124. Springer, Berlin (2007) CrossRefGoogle Scholar
- 9.Barndorff-Nielsen, O.E., Schmiegel, J.: Brownian semistationary processes and volatility/intermittency. In: Albrecher, H., et al. (eds.) Advanced Financial Modelling. Radon Ser. Comput. Appl. Math., vol. 8, pp. 1–25. Walter de Gruyter, Berlin (2009) Google Scholar
- 10.Bayer, C., Friz, P.K., Gatheral, J.: Pricing under rough volatility. Quant. Finance 16, 887–904 (2016) MathSciNetCrossRefGoogle Scholar
- 11.Bennedsen, M.: A rough multi-factor model of electricity spot prices. Energy Econ. 63, 301–313 (2017) CrossRefGoogle Scholar
- 12.Bennedsen, M., Lunde, A., Pakkanen, M.S.: Discretization of Lévy semistationary processes with application to estimation (2014). Working paper. Available online at http://arxiv.org/abs/1407.2754
- 13.Benth, F.E., Eyjolfsson, H., Veraart, A.E.D.: Approximating Lévy semistationary processes via Fourier methods in the context of power markets. SIAM J. Financ. Math. 5, 71–98 (2014) CrossRefMATHGoogle Scholar
- 14.Beskos, A., Roberts, G.O.: Exact simulation of diffusions. Ann. Appl. Probab. 15, 2422–2444 (2005) MathSciNetCrossRefMATHGoogle Scholar
- 15.Bingham, N.H., Goldie, C.M., Teugels, J.L.: Regular Variation. Cambridge University Press, Cambridge (1989) MATHGoogle Scholar
- 16.Corcuera, J.M., Hedevang, E., Pakkanen, M.S., Podolskij, M.: Asymptotic theory for Brownian semistationary processes with application to turbulence. Stoch. Process. Appl. 123, 2552–2574 (2013) CrossRefMATHGoogle Scholar
- 17.Erdélyi, A., Magnus, W., Oberhettinger, F., Tricomi, F.G.: Higher Transcendental Functions, vol. I. McGraw-Hill, New York (1953) MATHGoogle Scholar
- 18.Fukasawa, M.: Short-time at-the-money skew and rough fractional volatility. Quant. Finance 17, 189–198 (2017) MathSciNetCrossRefGoogle Scholar
- 19.Gatheral, J., Jaisson, T., Rosenbaum, M.: Volatility is rough (2014). Working paper. Available online at http://arxiv.org/abs/1410.3394
- 20.Gneiting, T., Schlather, M.: Stochastic models that separate fractal dimension and the Hurst effect. SIAM Rev. 46, 269–282 (2004) MathSciNetCrossRefMATHGoogle Scholar
- 21.Kallenberg, O.: Foundations of Modern Probability, 2nd edn. Springer, New York (2002) CrossRefMATHGoogle Scholar
- 22.Mallat, S.: A Wavelet Tour of Signal Processing, 3rd edn. Elsevier, Amsterdam (2009) MATHGoogle Scholar
- 23.Mishura, Y.S.: Stochastic Calculus for Fractional Brownian Motion and Related Processes. Springer, Berlin (2008) CrossRefMATHGoogle Scholar
- 24.Pedersen, J., Sauri, O.: On Lévy semistationary processes with a gamma kernel. In: Mena, R.H., et al. (eds.) XI Symposium on Probability and Stochastic Processes, pp. 217–239. Birkhäuser, Basel (2015) CrossRefGoogle Scholar
Copyright information
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.