pub fn check_exit_policy(
policy: &ExitPolicy,
initial_premium: Decimal,
current_premium: Decimal,
step_num: usize,
days_left: Positive,
underlying_price: Positive,
is_long: bool,
) -> Option<ExitPolicy>Expand description
Checks if an exit policy is triggered for an option position.
§Parameters
policy- The exit policy to evaluateinitial_premium- The initial premium (paid for long, received for short)current_premium- The current premium valuestep_num- Current step numberdays_left- Days remaining to expirationunderlying_price- Current underlying priceis_long-truefor long positions (bought),falsefor short positions (sold)
§Returns
Some(policy) if the policy is triggered, None otherwise
§Logic
For Long positions (bought options):
- Profit: current_premium > initial_premium (premium increases)
- Loss: current_premium < initial_premium (premium decreases)
For Short positions (sold options):
- Profit: current_premium < initial_premium (premium decreases)
- Loss: current_premium > initial_premium (premium increases)