pub struct IndexCompositionProto {
pub object_class: String,
pub version: String,
pub uuid: Option<UuidProto>,
pub as_of: Option<LocalTimestampProto>,
pub is_link: bool,
pub valid_from: Option<LocalTimestampProto>,
pub valid_to: Option<LocalTimestampProto>,
pub index_security: Option<SecurityProto>,
pub effective_date: Option<LocalDateProto>,
pub constituents: Vec<IndexConstituentProto>,
pub index_divisor: Option<DecimalValueProto>,
pub notes: String,
}Expand description
A point-in-time snapshot of an equity index’s constituent securities and weights.
Temporal model (identical to PriceProto): uuid — stable identity for this composition record as_of — the timestamp this composition was observed / recorded valid_from — bitemporal: when this record became system-valid valid_to — bitemporal: when this record was superseded is_link — if true, only uuid is meaningful; resolve via GetByIds
A new IndexCompositionProto is created whenever the index is rebalanced. The effective_date field marks the business date the new composition took effect. To find the composition active on a given date D, query for the most recent record where effective_date <= D.
Fields§
§object_class: String§version: String§uuid: Option<UuidProto>Primary Key (same temporal pattern as SecurityProto and PriceProto)
as_of: Option<LocalTimestampProto>§is_link: bool§valid_from: Option<LocalTimestampProto>§valid_to: Option<LocalTimestampProto>§index_security: Option<SecurityProto>The index security this composition belongs to (EQUITY_INDEX_SECURITY type). Typically is_link = true; resolve via SecurityService.GetByIds.
effective_date: Option<LocalDateProto>The calendar date on which this composition became effective (the rebalance date). Temporal lookup key: given as_of_date D, return the composition where effective_date <= D, ordered by effective_date DESC, LIMIT 1.
constituents: Vec<IndexConstituentProto>The full list of constituents at this rebalance point.
index_divisor: Option<DecimalValueProto>For price-weighted indices (e.g. DJIA), the divisor at this rebalance point. Divisors change when constituents change or corporate actions occur. index_level = sum(price_i * shares_i) / index_divisor
notes: StringFree-form notes (e.g. “Quarterly rebalance — removed XYZ, added ABC”).
Trait Implementations§
Source§impl Clone for IndexCompositionProto
impl Clone for IndexCompositionProto
Source§fn clone(&self) -> IndexCompositionProto
fn clone(&self) -> IndexCompositionProto
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IndexCompositionProto
impl Debug for IndexCompositionProto
Source§impl Default for IndexCompositionProto
impl Default for IndexCompositionProto
Source§impl Message for IndexCompositionProto
impl Message for IndexCompositionProto
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self.Source§impl PartialEq for IndexCompositionProto
impl PartialEq for IndexCompositionProto
Source§fn eq(&self, other: &IndexCompositionProto) -> bool
fn eq(&self, other: &IndexCompositionProto) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for IndexCompositionProto
Auto Trait Implementations§
impl Freeze for IndexCompositionProto
impl RefUnwindSafe for IndexCompositionProto
impl Send for IndexCompositionProto
impl Sync for IndexCompositionProto
impl Unpin for IndexCompositionProto
impl UnsafeUnpin for IndexCompositionProto
impl UnwindSafe for IndexCompositionProto
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request