Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Symmetric Shifted Double Pareto Distribution

Statement

We use the symmetric shifted convention defined below; the name “double Pareto” is overloaded in the literature and can also refer to positive-valued size distributions with different left and right exponents. Let YY have a Pareto Type I distribution with lower cutoff 1 and tail exponent α>0\alpha>0. Let BB be independent of YY with P(B=1)=P(B=−1)=1/2\mathbb P(B=1)=\mathbb P(B=-1)=1/2. The shifted symmetric double Pareto variable is

X=B(Y−1).X = B(Y-1).

Its density on the real line is

f(x;α)=α2(1+∣x∣)−(α+1),x∈R.f(x;\alpha)=\frac{\alpha}{2}(1+|x|)^{-(\alpha+1)},\qquad x\in\mathbb R.

The CDF is

F(x)={12(1−x)−α,x<0,1−12(1+x)−α,x≥0.F(x)= \begin{cases} \frac12(1-x)^{-\alpha}, & x<0,\\ 1-\frac12(1+x)^{-\alpha}, & x\ge 0. \end{cases}

For x≥0x\ge0, each one-sided tail has probability

P(X>x)=12(1+x)−α,P(X<−x)=12(1+x)−α.\mathbb P(X>x)=\frac12(1+x)^{-\alpha}, \qquad \mathbb P(X<-x)=\frac12(1+x)^{-\alpha}.

Consequently,

P(∣X∣>x)=(1+x)−α.\mathbb P(|X|>x)=(1+x)^{-\alpha}.

More generally, a location-scale version Z=μ+sXZ=\mu+sX with s>0s>0 has density

fZ(z)=α2s(1+∣z−μ∣s)−(α+1).f_Z(z)=\frac{\alpha}{2s} \left(1+\frac{|z-\mu|}{s}\right)^{-(\alpha+1)}.

The ordinary mean exists and equals 0 exactly when α>1\alpha>1. For α≤1\alpha\le1, the positive and negative parts are both infinite, so symmetry gives a center but not an ordinary expectation. The variance is finite exactly when α>2\alpha>2, in which case

Var⁡(X)=2(α−1)(α−2).\operatorname{Var}(X)=\frac{2}{(\alpha-1)(\alpha-2)}.

The absolute moments unify these thresholds:

E∣X∣p=Γ(p+1)Γ(α−p)Γ(α),0<p<α.\mathbb E|X|^p =\frac{\Gamma(p+1)\Gamma(\alpha-p)}{\Gamma(\alpha)}, \qquad 0<p<\alpha.

Here FF and ff denote the CDF and density; BB is an independent sign. Γ\Gamma denotes the gamma function. Absolute moments diverge for p≥αp\ge\alpha; the displayed gamma expression only applies for 0<p<α0<p<\alpha.

Shape and two-sided tail intuition

The ordinary Pareto distribution is one-sided: the rare extreme is always on the right. The double Pareto keeps the same power-law magnitude but gives the shock a sign. This makes it useful for toy return models where both large gains and large losses are possible, while preserving a transparent tail exponent.

The density is symmetric, with peak f(0)=α/2f(0)=\alpha/2 and

f(x)f(0)=(1+∣x∣)−(α+1).\frac{f(x)}{f(0)}=(1+|x|)^{-(\alpha+1)}.

Smaller α\alpha lowers the central density and puts more probability far from zero on both sides. The chance of a large positive value and the chance of an equally large negative value decay at the same power rate.

Symmetric densities peak at zero, CDFs pass through one half, and positive-threshold right-tail survivals curve toward power laws on log-log axes.

Figure 1:The page’s shifted symmetric law X=B(Y−1)X=B(Y-1), with unit Pareto minimum and α=0.8,1.5,3\alpha=0.8,1.5,3. Support is the whole real line, so there is no finite support endpoint. The log-log panel shows the right-tail probability P(X>x)=12(1+x)−αP(X>x)=\tfrac12(1+x)^{-\alpha} for x>0x>0; the absolute-tail probability would be twice as large. The shift causes curvature at small thresholds. No means or variances are matched.

Regenerate the card with uv run python demos/incerto/distribution_cards.py; the double_pareto example below uses the same distribution convention.

Derivation from signed Pareto magnitude

We derive the symmetric shifted construction used here from the signed Pareto magnitude X=B(Y−1)X=B(Y-1). The tail, density, and CDF formulas follow directly from symmetry. The moment thresholds use the same Pareto moment logic as Pareto Moment Existence.

For x≥0x\ge0,

P(X>x)=P(B=1,Y−1>x)=12P(Y>1+x)=12(1+x)−α.\mathbb P(X>x) =\mathbb P(B=1, Y-1>x) =\frac12\mathbb P(Y>1+x) =\frac12(1+x)^{-\alpha}.

The negative tail is identical by symmetry. Differentiating the CDF on either side gives the density. The expectation is zero only when the first absolute moment exists. When α≤1\alpha\le1, E[X+]=E[X−]=∞\mathbb E[X^+]=\mathbb E[X^-]=\infty, so the ordinary mean is undefined even though the distribution is symmetric. Since X2=(Y−1)2X^2=(Y-1)^2,

E[X2]=E[Y2]−2E[Y]+1=αα−2−2αα−1+1=2(α−1)(α−2)\mathbb E[X^2] =\mathbb E[Y^2]-2\mathbb E[Y]+1 =\frac{\alpha}{\alpha-2}-2\frac{\alpha}{\alpha-1}+1 =\frac{2}{(\alpha-1)(\alpha-2)}

for α>2\alpha>2. For 1<α≤21<\alpha\le2, the mean exists but the variance is infinite. For α≤1\alpha\le1, the ordinary mean, and hence variance about that mean, is undefined; the second raw moment is still infinite.

Use double_pareto.

from xmath.incerto.distributions import double_pareto

for alpha in (0.5, 1, 1.5, 2, 3):
    mean, variance = double_pareto(alpha).stats(moments="mv")
    print(f"alpha={alpha:.4g}: mean={mean:.4g}, variance={variance:.4g}")

Output

alpha=0.5: mean=nan, variance=inf
alpha=1: mean=nan, variance=inf
alpha=1.5: mean=0, variance=inf
alpha=2: mean=0, variance=inf
alpha=3: mean=0, variance=1

For 0<α≤10<\alpha\le1, inf reflects the infinite raw second moment, not variance about an undefined mean.

More generally, integration of the absolute-value density gives the beta integral

E∣X∣p=α∫0∞tp(1+t)−α−1 dt=Γ(p+1)Γ(α−p)Γ(α),0<p<α.\mathbb E|X|^p=\alpha\int_0^\infty t^p(1+t)^{-\alpha-1}\,dt =\frac{\Gamma(p+1)\Gamma(\alpha-p)}{\Gamma(\alpha)}, \qquad 0<p<\alpha.

Two-sided tail calculations

The exact two-sided survival (1+x)−α(1+x)^{-\alpha} is regularly varying with index −α-\alpha. At α=1.5\alpha=1.5, its values at x=0,3,8x=0,3,8 are respectively 1, 1/81/8, and 1/271/27. Each one-sided tail has half of that probability.

For a fixed multiplier t>0t>0,

P(∣X∣>tx)P(∣X∣>x)=(1+tx1+x)−α→t−α.\frac{\mathbb P(|X|>tx)}{\mathbb P(|X|>x)} =\left(\frac{1+tx}{1+x}\right)^{-\alpha}\to t^{-\alpha}.

The shift means this is a limiting power ratio, rather than the exact threshold scaling of an unshifted Pareto law.

At α=3\alpha=3, direct evaluation gives the following exact values.

xxDensity f(x)f(x)CDF F(x)F(x)
-43/12503/12501/2501/250
03/23/21/21/2
43/12503/1250249/250249/250

The mean is zero and the variance is 2/[(3−1)(3−2)]=12/[(3-1)(3-2)]=1. These values are formula evaluations, without simulation or an imported distribution package. For max-to-sum diagnostics, use ∣Xi∣|X_i| or another explicitly defined nonnegative quantity; signed sums can cancel.

Matching a Student tail or a variance

SCoFT v4 §5.3, p. 101 Taleb, 2025, compares a symmetric shifted power law with a Student law. We keep the normalized density α/2\alpha/2 above on each side and derive both matching scales. Equal exponents do not imply equal moments or equal leading tail constants.

Let TνT_\nu have the unit-scale Student density, with ν=α>0\nu=\alpha>0, and let Z=sTαZ=sT_\alpha, s>0s>0. Its right tail satisfies

P(Z>x)∼Cαsαx−α,Cα=Γ((α+1)/2)αα/2−1π Γ(α/2).P(Z>x)\sim C_\alpha s^\alpha x^{-\alpha},\qquad C_\alpha=\frac{\Gamma((\alpha+1)/2)\alpha^{\alpha/2-1}} {\sqrt\pi\,\Gamma(\alpha/2)}.

We prove the constant from the density. Factoring x2/(αs2)x^2/(\alpha s^2) out of 1+x2/(αs2)1+x^2/(\alpha s^2) in the Student density gives fZ(x)∼αCαsαx−α−1f_Z(x)\sim\alpha C_\alpha s^\alpha x^{-\alpha-1}. For each ε>0\varepsilon>0, this density lies between 1±ε1\pm\varepsilon times its leading power beyond a fixed threshold. Integrating those bounds from xx to infinity and letting ε↓0\varepsilon\downarrow0 gives the displayed survival asymptotic. For positive orders pp, the same comparison proves E∣Z∣p<∞\mathbb E|Z|^p<\infty exactly when p<αp<\alpha; the density is bounded near zero.

The double-Pareto right-tail constant is 1/21/2 at scale one. Matching it requires

stail=(2Cα)−1/α.s_{\rm tail}=(2C_\alpha)^{-1/\alpha}.

For α>2\alpha>2, the Student variance is s2α/(α−2)s^2\alpha/(\alpha-2) (the beta-integral moment calculation is also given in the mixture note). Equating that to 2/[(α−1)(α−2)]2/[(\alpha-1)(\alpha-2)] instead gives

svar=2α(α−1).s_{\rm var}=\sqrt{\frac{2}{\alpha(\alpha-1)}}.

At α=3\alpha=3, C3=23/πC_3=2\sqrt3/\pi. Variance matching uses svar=1/3s_{\rm var}=1/\sqrt3 and gives Student right-tail constant 2/(3π)2/(3\pi), versus 1/21/2 for double Pareto. Their asymptotic survival ratio is 4/(3π)≈0.4244134/(3\pi)\approx0.424413 even though both variances are one. Tail matching uses stail=(π/(43))1/3s_{\rm tail}=(\pi/(4\sqrt3))^{1/3} and gives Student variance about 1.770683, versus one for double Pareto. Matching tails thus leaves a substantial variance difference in this example.

Three vertical panels compare the density, survival ratio and threshold multiplier ratio of a double Pareto law and two scaled Student laws, with legends below the axes so the central spike is visible.

Exact model curves at exponent 3. Top: densities near the center, including the double-Pareto spike at zero; the legend is below the axes so it covers no density curve. Middle: Student survival divided by the double-Pareto survival, with the two asymptotic targets marked. Bottom: multiplier ratios at multiplier 2, approaching 1/81/8. Matching variance and matching a tail constant choose different Student scales; neither makes the distributions identical.

Use double_pareto, student_double_pareto_scales.

from xmath.incerto.distributions import double_pareto
from xmath.incerto.power_laws import student_double_pareto_scales

law = double_pareto(3)
mean, variance = law.stats(moments="mv")
print(f"Mean: {mean:.4g}; variance: {variance:.4g}")
print("Survival at 1, 10: [" + ", ".join(f"{v:.3e}" for v in law.sf([1, 10])) + "]")
print("Student matching:")
for name, value in student_double_pareto_scales(3).items():
    print(f"  {name}: {value:.4g}")

Output

Mean: 0; variance: 1
Survival at 1, 10: [6.250e-02, 3.757e-04]
Student matching:
  student_tail_constant: 1.103
  tail_scale: 0.7683
  variance_scale: 0.5774
  tail_matched_variance: 1.771

Figure regeneration: uv run python demos/incerto/power_laws.py. The figure uses 501 density points on [−4,4][-4,4] and 241 thresholds from 1 to 104 for each tail panel. All values are dimensionless, exact-model evaluations.

Caveats

References

References
  1. Taleb, N. N. (2025). Statistical Consequences of Fat Tails (3rd ed.). https://arxiv.org/abs/2001.10488v4
  2. Resnick, S. I. (2007). Heavy-Tail Phenomena: Probabilistic and Statistical Modeling. Springer. 10.1007/978-0-387-45024-7