pub struct HedgeRelationship {
pub id: String,
pub hedged_item_type: HedgedItemType,
pub hedged_item_description: String,
pub hedging_instrument_id: String,
pub hedge_type: HedgeType,
pub designation_date: NaiveDate,
pub effectiveness_test_method: EffectivenessMethod,
pub effectiveness_ratio: Decimal,
pub is_effective: bool,
pub ineffectiveness_amount: Decimal,
}Expand description
ASC 815 / IFRS 9 hedge relationship designation.
Fields§
§id: StringUnique relationship identifier
hedged_item_type: HedgedItemTypeType of hedged item
hedged_item_description: StringDescription of what is being hedged
hedging_instrument_id: StringHedging instrument linked to this relationship
hedge_type: HedgeTypeHedge accounting classification
designation_date: NaiveDateDate the hedge was designated
effectiveness_test_method: EffectivenessMethodMethod used for effectiveness testing
effectiveness_ratio: DecimalEffectiveness ratio (hedging instrument change / hedged item change)
is_effective: boolWhether the hedge qualifies as effective (ratio within 80-125%)
ineffectiveness_amount: DecimalIneffectiveness amount recognized in P&L
Implementations§
Source§impl HedgeRelationship
impl HedgeRelationship
Sourcepub fn new(
id: impl Into<String>,
hedged_item_type: HedgedItemType,
hedged_item_description: impl Into<String>,
hedging_instrument_id: impl Into<String>,
hedge_type: HedgeType,
designation_date: NaiveDate,
effectiveness_test_method: EffectivenessMethod,
effectiveness_ratio: Decimal,
) -> Self
pub fn new( id: impl Into<String>, hedged_item_type: HedgedItemType, hedged_item_description: impl Into<String>, hedging_instrument_id: impl Into<String>, hedge_type: HedgeType, designation_date: NaiveDate, effectiveness_test_method: EffectivenessMethod, effectiveness_ratio: Decimal, ) -> Self
Creates a new hedge relationship.
Sourcepub fn with_ineffectiveness_amount(self, amount: Decimal) -> Self
pub fn with_ineffectiveness_amount(self, amount: Decimal) -> Self
Sets the ineffectiveness amount.
Sourcepub fn check_effectiveness(ratio: Decimal) -> bool
pub fn check_effectiveness(ratio: Decimal) -> bool
Checks whether the effectiveness ratio is within the 80-125% corridor.
Under ASC 815 / IAS 39, a hedge is considered highly effective if the ratio of changes in the hedging instrument to changes in the hedged item falls within 0.80 to 1.25.
Sourcepub fn update_effectiveness(&mut self)
pub fn update_effectiveness(&mut self)
Recomputes the is_effective flag from the current ratio.
Trait Implementations§
Source§impl Clone for HedgeRelationship
impl Clone for HedgeRelationship
Source§fn clone(&self) -> HedgeRelationship
fn clone(&self) -> HedgeRelationship
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 HedgeRelationship
impl Debug for HedgeRelationship
Source§impl<'de> Deserialize<'de> for HedgeRelationship
impl<'de> Deserialize<'de> for HedgeRelationship
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for HedgeRelationship
impl Serialize for HedgeRelationship
Source§impl ToNodeProperties for HedgeRelationship
impl ToNodeProperties for HedgeRelationship
Source§fn node_type_name(&self) -> &'static str
fn node_type_name(&self) -> &'static str
"uncertain_tax_position".Source§fn node_type_code(&self) -> u16
fn node_type_code(&self) -> u16
416.Source§fn to_node_properties(&self) -> HashMap<String, GraphPropertyValue>
fn to_node_properties(&self) -> HashMap<String, GraphPropertyValue>
Auto Trait Implementations§
impl Freeze for HedgeRelationship
impl RefUnwindSafe for HedgeRelationship
impl Send for HedgeRelationship
impl Sync for HedgeRelationship
impl Unpin for HedgeRelationship
impl UnsafeUnpin for HedgeRelationship
impl UnwindSafe for HedgeRelationship
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<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§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).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.