Struct FinanceProfile
#[non_exhaustive]pub struct FinanceProfile {
pub kind: FinanceProfileKind,
pub profile_version: Cow<'static, str>,
pub sampling: SamplingCadence,
pub lookback_periods: usize,
pub transform: TransformSpec,
pub wavelet: WaveletSpec,
pub annualization_factor: Option<f64>,
pub diagnostics: DiagnosticsPolicy,
}Expand description
Versioned product profile for finance signal calculation.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.kind: FinanceProfileKindProfile family.
profile_version: Cow<'static, str>Versioned methodology profile identifier.
sampling: SamplingCadenceInput sampling cadence expected by this profile.
lookback_periods: usizeDefault lookback window in observations.
transform: TransformSpecDefault transform selector.
wavelet: WaveletSpecDefault wavelet selector.
annualization_factor: Option<f64>Annualization factor where volatility-like outputs need it.
diagnostics: DiagnosticsPolicyDiagnostic exposure policy.
Implementations§
§impl FinanceProfile
impl FinanceProfile
pub fn daily_eod() -> Self
pub fn daily_eod() -> Self
Daily EOD default profile for symbol-level product analytics.
pub fn intraday() -> Self
pub fn intraday() -> Self
Intraday bar profile for session-aware analytics.
pub fn hft() -> Self
pub fn hft() -> Self
High-frequency/event-driven profile.
pub fn portfolio() -> Self
pub fn portfolio() -> Self
Portfolio relationship profile.
pub fn for_signal(&self, signal: FinanceSignalKind) -> FinanceProfile
pub fn for_signal(&self, signal: FinanceSignalKind) -> FinanceProfile
Derive a profile suitable for signal by cloning this base profile and
applying the signal’s canonical transform family plus a transform-
appropriate boundary and max_levels, so the result passes that
signal’s transform validator regardless of what the base carried.
The cadence, lookback, wavelet, annualization factor, and diagnostics
policy are inherited unchanged. The signal-populated-only transform
fields (wpt_selection, cwt_wavelet, cwt_padding,
multifractal_mode) are reset to None since they must be None on
input and are populated by each signal’s own methodology on output.
For the composite FinanceSignalKind::MarketPosture (which has no
transform of its own) the base profile is returned unchanged.
Known limitation: for FinanceSignalKind::ImfDecomposition and
EEMD-mode FinanceSignalKind::TrendRegime the canonical kind is
Emd / Modwt. If the request config selects Eemd, override
transform.kind = Eemd on the returned profile afterwards;
imf_decomposition_signal requires the kind to match the configured
method. for_signal leaves max_levels intact for EMD/EEMD, so such
an override alone yields a valid profile.
pub fn resolve_for_signal(&self, signal: FinanceSignalKind) -> FinanceProfile
pub fn resolve_for_signal(&self, signal: FinanceSignalKind) -> FinanceProfile
Per-signal profile that preserves this base profile’s transform when
it is already valid for signal, and otherwise derives the canonical one
via for_signal.
Unlike for_signal (which always installs the canonical transform), this
respects a deliberately-chosen valid alternative — e.g. a DWT base for
JumpEvent or an EMD/EEMD base for
TrendRegime /
ImfDecomposition — so an
orchestrator (or the calibration harness) can drive a multi-transform
suite from one base profile without overriding intentional choices.
Composite signals return the base unchanged.
Like for_signal, the boundary / max_levels are normalized for the
resolved transform, so even a preserved-kind base with an otherwise-
invalid boundary (e.g. a Symmetric boundary on a MODWT base) yields a
profile the signal’s validator accepts.
Trait Implementations§
§impl Clone for FinanceProfile
impl Clone for FinanceProfile
§fn clone(&self) -> FinanceProfile
fn clone(&self) -> FinanceProfile
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for FinanceProfile
impl Debug for FinanceProfile
§impl PartialEq for FinanceProfile
impl PartialEq for FinanceProfile
impl StructuralPartialEq for FinanceProfile
Auto Trait Implementations§
impl Freeze for FinanceProfile
impl RefUnwindSafe for FinanceProfile
impl Send for FinanceProfile
impl Sync for FinanceProfile
impl Unpin for FinanceProfile
impl UnwindSafe for FinanceProfile
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)§impl<T> IntoEither for T
impl<T> IntoEither for T
§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.