Documentation

LogOptimalEProcesses.Gaussian.NumeraireLaw

The distribution of (X̄_t, Y^t) under mixtures, and the density dQ_t/dP*_t #

This file computes, following the proof of Proposition 2 of the paper (Section S1.4), the distribution of the running mean X̄_t and of the vector Y^t = (Y₂, …, Y_t) under the null distributions, the alternatives, and their mixtures over the location, and deduces the density of Q_t with respect to a mixture of null distributions of X^t. The paper integrates eq. (S2) over the mixing distributions; here the same computation is done on the distribution of (X̄_t, Y^t), which is a product by Lemma S2(iii), and is pulled back to X^t through the injective linear map x^t ↦ (x̄_t, y₂, …, y_t).

Mixtures of normal distributions #

The pair (X̄_t, Y^t) #

noncomputable def LogOptimal.meanHelmertPair (t : ℕ) (x : ℕ → ℝ) :
ℝ × (Fin (t - 1) → ℝ)

The pair (X̄_t, Y^t) of the running mean and of the vector Y^t = (Y₂, …, Y_t).

Equations
Instances For

    Lemma S2(iii) for the pair: under N(m, v)^{⊗∞} and for t ≥ 1, the distribution of (X̄_t, Y^t) is the product of N(m, v/t) and N(0, v)^{⊗(t−1)}.

    Under the mixture ∫ N(m, v)^{⊗∞} ν(dm) and for t ≥ 1, the distribution of (X̄_t, Y^t) is the product of the mixture ∫ N(m, v/t) ν(dm) and of N(0, v)^{⊗(t−1)}.

    The map x^t ↦ (x̄_t, y₂, …, y_t) on ℝ^t #

    def LogOptimal.finToPath {t : ℕ} (y : Fin t → ℝ) (i : ℕ) :

    The path that extends y ∈ ℝ^t by zeros.

    Equations
    Instances For
      theorem LogOptimal.finToPath_restrict {t : ℕ} (x : ℕ → ℝ) {i : ℕ} (hi : i < t) :
      finToPath (fun (j : Fin t) => x ↑j) i = x i
      noncomputable def LogOptimal.meanHelmertFin (t : ℕ) (y : Fin t → ℝ) :
      ℝ × (Fin (t - 1) → ℝ)

      The map x^t ↦ (x̄_t, y₂, …, y_t) on ℝ^t.

      Equations
      Instances For
        theorem LogOptimal.meanHelmertFin_restrict (t : ℕ) (x : ℕ → ℝ) :
        (meanHelmertFin t fun (i : Fin t) => x ↑i) = meanHelmertPair t x
        noncomputable def LogOptimal.meanHelmertLinear (t : ℕ) :
        (Fin t → ℝ) →ₗ[ℝ] ℝ × (Fin (t - 1) → ℝ)

        The map x^t ↦ (x̄_t, y₂, …, y_t) as a linear map.

        Equations
        Instances For

          The map x^t ↦ (x̄_t, y₂, …, y_t) is injective: if y₂, …, y_t vanish, then x^t is constant by maximal invariance, and the constant is x̄_t.

          The map x^t ↦ (x̄_t, y₂, …, y_t) is a measurable embedding, as an injective linear map on a finite-dimensional space.

          The density of Q_t with respect to a mixture of null distributions #

          N(0, s²)^{⊗n} has density ∏_j ℓ(u_j) with respect to N(0, 1)^{⊗n}.

          theorem LogOptimal.measurable_ofReal_prod_lik (s : ℝ) (n : ℕ) :
          Measurable fun (u : Fin n → ℝ) => ENNReal.ofReal (∏ j : Fin n, lik s (u j))
          theorem LogOptimal.measurable_ofReal_prod_lik_snd (s : ℝ) (n : ℕ) :
          Measurable fun (w : ℝ × (Fin n → ℝ)) => ENNReal.ofReal (∏ j : Fin n, lik s (w.2 j))
          theorem LogOptimal.marginal_bind_altDist_eq_withDensity {s : ℝ} (hs : s ≠ 0) {t : ℕ} (ht : 1 ≤ t) (ν ν' : MeasureTheory.Measure ℝ) [MeasureTheory.IsProbabilityMeasure ν] [MeasureTheory.IsProbabilityMeasure ν'] (hνν' : (ν.bind fun (θ : ℝ) => ProbabilityTheory.gaussianReal θ (1 / ↑t)) = ν'.bind fun (μ : ℝ) => ProbabilityTheory.gaussianReal μ ((s ^ 2).toNNReal / ↑t)) :
          marginal (ν'.bind (altDist s)) t = (ν.bind fun (θ : ℝ) => marginal (nullDist θ) t).withDensity fun (y : Fin t → ℝ) => ENNReal.ofReal (∏ j : Fin (t - 1), lik s ((meanHelmertFin t y).2 j))

          The density of Q_t (proof of Proposition 2): if the mixtures ∫ N(θ, 1/t) ν(dθ) and ∫ N(μ, s²/t) ν'(dμ) coincide, then the distribution of X^t under ∫ Q_μ ν'(dμ) has density ∏_{i=2}^t ℓ(y_i) with respect to the mixture ∫ P_{θ,t} ν(dθ). Indeed, the distributions of (X̄_t, Y^t) under the two measures are the products of the same first factor with N(0, s²)^{⊗(t−1)} and N(0, 1)^{⊗(t−1)}.

          theorem LogOptimal.prod_Icc_two_eq_prod_fin (t : ℕ) (f : ℕ → ℝ) :
          ∏ i ∈ Finset.Icc 2 t, f i = ∏ j : Fin (t - 1), f (↑j + 2)

          ∏_{i=2}^t f(i) = ∏_{j=0}^{t−2} f(j + 2), the product over the coordinates of Y^t.

          theorem LogOptimal.gaussNumeraire_eq_comp (s : ℝ) (t : ℕ) (x : ℕ → ℝ) :
          gaussNumeraire s t x = ENNReal.ofReal (∏ j : Fin (t - 1), lik s ((meanHelmertFin t fun (i : Fin t) => x ↑i).2 j))

          E*_t = ∏_{i=2}^t ℓ(Y_i) is the function y ↦ ∏_{i=2}^t ℓ(y_i) of X^t.

          theorem LogOptimal.measurable_ofReal_prod_lik_meanHelmertFin (s : ℝ) (t : ℕ) :
          Measurable fun (y : Fin t → ℝ) => ENNReal.ofReal (∏ j : Fin (t - 1), lik s ((meanHelmertFin t y).2 j))
          theorem LogOptimal.mixVar_nonneg {s ρ : ℝ} (hρ : 1 - s ^ 2 ≤ ρ ^ 2) {t : ℕ} (ht : 1 ≤ t) :
          0 ≤ ρ ^ 2 - (1 - s ^ 2) / ↑t

          For ρ² ≥ 1 − s², the mixing variance ρ² − (1 − s²)/t of P*_t is nonnegative for every t ≥ 1.

          theorem LogOptimal.marginal_mixAlt_eq_withDensity {s ρ : ℝ} (hs : s ≠ 0) (hρ : 1 - s ^ 2 ≤ ρ ^ 2) {t : ℕ} (ht : 1 ≤ t) :
          marginal (mixAlt s ρ) t = ((ProbabilityTheory.gaussianReal 0 (ρ ^ 2 - (1 - s ^ 2) / ↑t).toNNReal).bind fun (θ : ℝ) => marginal (nullDist θ) t).withDensity fun (y : Fin t → ℝ) => ENNReal.ofReal (∏ j : Fin (t - 1), lik s ((meanHelmertFin t y).2 j))

          The density of Q_t with respect to P*_t (Proposition 2): for ρ² ≥ 1 − s² and t ≥ 1, Q_t has density ∏_{i=2}^t ℓ(y_i) with respect to P*_t = ∫ P_{θ,t} N{0, ρ² − (1 − s²)/t}(dθ), since both mixtures of the running mean are N(0, ρ² + s²/t).

          theorem LogOptimal.marginal_altDist_eq_withDensity_of_one_le {s : ℝ} (hs : 1 ≤ s) (μ : ℝ) {t : ℕ} (ht : 1 ≤ t) :
          marginal (altDist s μ) t = ((ProbabilityTheory.gaussianReal μ ((s ^ 2 - 1) / ↑t).toNNReal).bind fun (θ : ℝ) => marginal (nullDist θ) t).withDensity fun (y : Fin t → ℝ) => ENNReal.ofReal (∏ j : Fin (t - 1), lik s ((meanHelmertFin t y).2 j))

          The density of Q_{μ,t} for s ≥ 1 (Proposition S4(ii)): Q_{μ,t} has density ∏_{i=2}^t ℓ(y_i) with respect to ∫ P_{θ,t} N{μ, (s² − 1)/t}(dθ), since both mixtures of the running mean are N(μ, s²/t).

          The distributions of Y_i, Y^t, and X̄_t #

          Under Q_μ, Y_i ∼ N(0, s²) for i ≥ 2 (Lemma S2(iii)).

          Under the mixture Q, Y_i ∼ N(0, s²) for i ≥ 2, since this holds under every Q_μ.

          Under every P_θ and for t ≥ 1, Y^t ∼ N(0, 1)^{⊗(t−1)}.

          Under every Q_μ and for t ≥ 1, Y^t ∼ N(0, s²)^{⊗(t−1)}.

          Under the mixture Q and for t ≥ 1, Y^t ∼ N(0, s²)^{⊗(t−1)}.

          The claims of Section 4.1 #

          theorem LogOptimal.map_mean_mixAlt (s ρ : ℝ) {t : ℕ} (ht : 1 ≤ t) :
          MeasureTheory.Measure.map (fun (y : Fin t → ℝ) => (∑ i : Fin t, y i) / ↑t) (marginal (mixAlt s ρ) t) = ProbabilityTheory.gaussianReal 0 (ρ ^ 2 + s ^ 2 / ↑t).toNNReal
          theorem LogOptimal.map_mean_mixNull {s ρ : ℝ} (hρ : 1 - s ^ 2 ≤ ρ ^ 2) {t : ℕ} (ht : 1 ≤ t) :
          MeasureTheory.Measure.map (fun (y : Fin t → ℝ) => (∑ i : Fin t, y i) / ↑t) ((ProbabilityTheory.gaussianReal 0 (ρ ^ 2 - (1 - s ^ 2) / ↑t).toNNReal).bind fun (θ : ℝ) => marginal (nullDist θ) t) = ProbabilityTheory.gaussianReal 0 (ρ ^ 2 + s ^ 2 / ↑t).toNNReal
          theorem LogOptimal.sec4_mixture_mean_proof (s ρ : ℝ) :
          0 < s → 0 ≤ ρ → 1 - s ^ 2 ≤ ρ ^ 2 → ∀ (t : ℕ), 1 ≤ t → MeasureTheory.Measure.map (fun (y : Fin t → ℝ) => (∑ i : Fin t, y i) / ↑t) ((ProbabilityTheory.gaussianReal 0 (ρ ^ 2 - (1 - s ^ 2) / ↑t).toNNReal).bind fun (θ : ℝ) => marginal (nullDist θ) t) = MeasureTheory.Measure.map (fun (y : Fin t → ℝ) => (∑ i : Fin t, y i) / ↑t) (marginal (mixAlt s ρ) t) ∧ MeasureTheory.Measure.map (fun (y : Fin t → ℝ) => (∑ i : Fin t, y i) / ↑t) (marginal (mixAlt s ρ) t) = ProbabilityTheory.gaussianReal 0 (ρ ^ 2 + s ^ 2 / ↑t).toNNReal
          theorem LogOptimal.sec4_maximal_invariant_proof :
          (∀ (t : ℕ) (x x' : ℕ → ℝ), (∀ (i : ℕ), 2 ≤ i → i ≤ t → helmertY i x = helmertY i x') ↔ ∃ (m : ℝ), ∀ i < t, x' i = x i + m) ∧ ∀ (s ρ θ : ℝ), 0 < s → 0 ≤ ρ → 1 - s ^ 2 ≤ ρ ^ 2 → ∀ (t : ℕ), 1 ≤ t → MeasureTheory.Measure.map (helmertVec t) (mixAlt s ρ) = (MeasureTheory.Measure.map (helmertVec t) (nullDist θ)).withDensity fun (y : Fin (t - 1) → ℝ) => ENNReal.ofReal (∏ i : Fin (t - 1), lik s (y i))