Struct options_common::OptionsPosition
source · [−]pub struct OptionsPosition {Show 14 fields
pub symbol: String,
pub underlying_symbol: String,
pub is_long: bool,
pub unit_cost: Option<Rational64>,
pub unit_bid_price: Option<Rational64>,
pub unit_ask_price: Option<Rational64>,
pub unit_delta: Option<NotNan<f64>>,
pub unit_vega: Option<NotNan<f64>>,
pub unit_theta: Option<NotNan<f64>>,
pub quantity: Rational64,
pub strike_price: Rational64,
pub option_type: OptionType,
pub expiration_date: ExpirationDate,
pub lot_size: Option<i64>,
}
Fields
symbol: String
The symbol of the option itself.
underlying_symbol: String
The symbol of the instrument that the option is a derivative of.
is_long: bool
Whether the position is long or short the underlying.
unit_cost: Option<Rational64>
The original cost per option contract in this position. If the position is long, this should be negative.
unit_bid_price: Option<Rational64>
The current bid price per option contract in this position. If the position is long, this should be positive.
unit_ask_price: Option<Rational64>
The current ask price per option contract in this position. If the position is long, this should be positive.
unit_delta: Option<NotNan<f64>>
The delta per option contract in this position, where the delta equivalent of 1 share == 0.01.
unit_vega: Option<NotNan<f64>>
The vega per option contract in this position.
unit_theta: Option<NotNan<f64>>
The theta per option contract in this position.
quantity: Rational64
The number of option contracts in this position.
strike_price: Rational64
The strike price of the option.
option_type: OptionType
The type of the option.
expiration_date: ExpirationDate
The expiration date of the option.
lot_size: Option<i64>
The number of units of the underlying per option contract in this position. Assumed to be 100 if not defined.
Implementations
sourceimpl OptionsPosition
impl OptionsPosition
pub fn description(&self) -> String
Trait Implementations
sourceimpl Clone for OptionsPosition
impl Clone for OptionsPosition
sourcefn clone(&self) -> OptionsPosition
fn clone(&self) -> OptionsPosition
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for OptionsPosition
impl Debug for OptionsPosition
sourceimpl From<OptionsPosition> for Position
impl From<OptionsPosition> for Position
sourcefn from(v: OptionsPosition) -> Position
fn from(v: OptionsPosition) -> Position
Converts to this type from the input type.
sourceimpl GenericPosition for OptionsPosition
impl GenericPosition for OptionsPosition
sourcefn symbol(&self) -> &str
fn symbol(&self) -> &str
For an option position, the symbol of the option itself. For a share position, equal to Self::underlying_symbol()
.
sourcefn underlying_symbol(&self) -> &str
fn underlying_symbol(&self) -> &str
For an option position, the symbol of the instrument that the option is a derivative of. For a share position, the symbol of the stock. Read more
sourcefn unit_cost(&self) -> Option<Rational64>
fn unit_cost(&self) -> Option<Rational64>
The original cost per option contract or share in this position. If the position is long, this should be negative.
fn unit_cost_mut(&mut self) -> &mut Option<Rational64>
sourcefn unit_bid_price(&self) -> Option<Rational64>
fn unit_bid_price(&self) -> Option<Rational64>
The current bid price per option contract or share in this position. If the position is long, this should be positive.
fn unit_bid_price_mut(&mut self) -> &mut Option<Rational64>
sourcefn unit_ask_price(&self) -> Option<Rational64>
fn unit_ask_price(&self) -> Option<Rational64>
The current ask price per option contract or share in this position. If the position is long, this should be positive.
fn unit_ask_price_mut(&mut self) -> &mut Option<Rational64>
sourcefn unit_delta(&self) -> Option<NotNan<f64>>
fn unit_delta(&self) -> Option<NotNan<f64>>
The delta per option contract or share in this position, where the delta equivalent of 1 share == 0.01.
sourcefn unit_vega(&self) -> Option<NotNan<f64>>
fn unit_vega(&self) -> Option<NotNan<f64>>
The vega per option contract or share in this position.
sourcefn unit_theta(&self) -> Option<NotNan<f64>>
fn unit_theta(&self) -> Option<NotNan<f64>>
The theta per option contract in this position.
sourcefn quantity(&self) -> Rational64
fn quantity(&self) -> Rational64
The number of option contracts or shares in this position.
fn quantity_mut(&mut self) -> &mut Rational64
sourcefn equivalent_strike_price(&self) -> Rational64
fn equivalent_strike_price(&self) -> Rational64
For an option position, the strike price of the option. For a share position, the strike price of the call option with the equivalent cost at the time of purchase i.e. $0. Read more
sourcefn equivalent_option_type(&self) -> OptionType
fn equivalent_option_type(&self) -> OptionType
For an option position, the type of the option. For a share position, equal to OptionType::Call
.
sourcefn equivalent_lot_size(&self) -> i64
fn equivalent_lot_size(&self) -> i64
For an option position, the number of units of the underlying per option contract. For a share position, equal to 1. Read more
sourcefn signed_quantity(&self) -> Rational64
fn signed_quantity(&self) -> Rational64
Equal to Self::quantity()
, but negative if the position is short.
sourcefn cost(&self) -> Option<Rational64>
fn cost(&self) -> Option<Rational64>
The total original cost of all option contracts or shares in this position.
fn net_liq(&self) -> Option<Rational64>
sourcefn bid_price(&self) -> Option<Rational64>
fn bid_price(&self) -> Option<Rational64>
The total current bid price for all option contracts or shares in this position.
sourcefn ask_price(&self) -> Option<Rational64>
fn ask_price(&self) -> Option<Rational64>
The total current ask price for all option contracts or shares in this position.
sourcefn mid_price(&self) -> Option<Rational64>
fn mid_price(&self) -> Option<Rational64>
The total current mid price for all option contracts or shares in this position.
sourcefn unit_mid_price(&self) -> Option<Rational64>
fn unit_mid_price(&self) -> Option<Rational64>
The current mid price per option contract or share in this position. If the position is long, this will be positive.
sourcefn delta(&self) -> Option<NotNan<f64>>
fn delta(&self) -> Option<NotNan<f64>>
The total delta for all option contracts or shares in this position, where the delta equivalent of 1 share == 0.01.
sourcefn vega(&self) -> Option<NotNan<f64>>
fn vega(&self) -> Option<NotNan<f64>>
The total vega for all option contracts or shares in this position.
sourcefn theta(&self) -> Option<NotNan<f64>>
fn theta(&self) -> Option<NotNan<f64>>
The total theta for all option contracts or shares in this position.
fn profit_at_expiry(&self, underlying_price: Rational64) -> Rational64
sourceimpl PartialEq<OptionsPosition> for OptionsPosition
impl PartialEq<OptionsPosition> for OptionsPosition
sourcefn eq(&self, other: &OptionsPosition) -> bool
fn eq(&self, other: &OptionsPosition) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &OptionsPosition) -> bool
fn ne(&self, other: &OptionsPosition) -> bool
This method tests for !=
.
sourceimpl TryInto<OptionsPosition> for Position
impl TryInto<OptionsPosition> for Position
sourcefn try_into(
self
) -> Result<OptionsPosition, <Self as TryInto<OptionsPosition>>::Error>
fn try_into(
self
) -> Result<OptionsPosition, <Self as TryInto<OptionsPosition>>::Error>
Performs the conversion.
impl Eq for OptionsPosition
impl StructuralEq for OptionsPosition
impl StructuralPartialEq for OptionsPosition
Auto Trait Implementations
impl RefUnwindSafe for OptionsPosition
impl Send for OptionsPosition
impl Sync for OptionsPosition
impl Unpin for OptionsPosition
impl UnwindSafe for OptionsPosition
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.