pub struct Bet { /* private fields */ }
Expand description
A bet in a betting market.
Implementations§
Source§impl Bet
impl Bet
Sourcepub fn from_stake_or_liability(
price: Decimal,
volume: Decimal,
side: BetSide,
) -> Self
pub fn from_stake_or_liability( price: Decimal, volume: Decimal, side: BetSide, ) -> Self
Creates a bet from a stake or liability depending on the bet side.
For BetSide::Back
this calls Self::from_stake and for
BetSide::Lay
it calls Self::from_liability.
Sourcepub fn from_stake(price: Decimal, stake: Decimal, side: BetSide) -> Self
pub fn from_stake(price: Decimal, stake: Decimal, side: BetSide) -> Self
Creates a bet from a given stake.
Sourcepub fn from_liability(price: Decimal, liability: Decimal, side: BetSide) -> Self
pub fn from_liability(price: Decimal, liability: Decimal, side: BetSide) -> Self
Sourcepub fn exposure(&self) -> Decimal
pub fn exposure(&self) -> Decimal
Returns the bet’s exposure.
For BACK bets, exposure is positive; for LAY bets, it is negative.
Sourcepub fn liability(&self) -> Decimal
pub fn liability(&self) -> Decimal
Returns the bet’s liability.
For BACK bets, liability equals the stake; for LAY bets, it is stake multiplied by (price - 1).
Sourcepub fn profit(&self) -> Decimal
pub fn profit(&self) -> Decimal
Returns the bet’s profit.
For BACK bets, profit is stake * (price - 1); for LAY bets it equals the stake.
Sourcepub fn outcome_win_payoff(&self) -> Decimal
pub fn outcome_win_payoff(&self) -> Decimal
Returns the outcome win payoff.
For BACK bets this is the profit; for LAY bets it is the negative liability.
Sourcepub fn outcome_lose_payoff(&self) -> Decimal
pub fn outcome_lose_payoff(&self) -> Decimal
Returns the outcome lose payoff.
For BACK bets this is the negative liability; for LAY bets it is the profit.
Sourcepub fn hedging_stake(&self, price: Decimal) -> Decimal
pub fn hedging_stake(&self, price: Decimal) -> Decimal
Returns the hedging stake given a new price.
Sourcepub fn hedging_bet(&self, price: Decimal) -> Self
pub fn hedging_bet(&self, price: Decimal) -> Self
Creates a hedging bet for a given price.
Trait Implementations§
Source§impl<'py> IntoPyObject<'py> for Bet
impl<'py> IntoPyObject<'py> for Bet
Source§impl PyClassImpl for Bet
impl PyClassImpl for Bet
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§type ThreadChecker = SendablePyClass<Bet>
type ThreadChecker = SendablePyClass<Bet>
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny
by default, and when you declare
#[pyclass(extends=PyDict)]
, it’s PyDict
.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature<Bet> for PyClassImplCollector<Bet>
impl PyClassNewTextSignature<Bet> for PyClassImplCollector<Bet>
fn new_text_signature(self) -> Option<&'static str>
Source§impl PyMethods<Bet> for PyClassImplCollector<Bet>
impl PyMethods<Bet> for PyClassImplCollector<Bet>
fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for Bet
impl PyTypeInfo for Bet
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
PyTypeInfo::type_object
PyTypeInfo::type_object
].§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object
is an instance of this type or a subclass of this type.§fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
PyTypeInfo::is_type_of
PyTypeInfo::is_type_of
].§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object
is an instance of this type.§fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
PyTypeInfo::is_exact_type_of
PyTypeInfo::is_exact_type_of
].impl DerefToPyAny for Bet
impl Eq for Bet
impl HasCustomRichCmp for Bet
impl StructuralPartialEq for Bet
Auto Trait Implementations§
impl Freeze for Bet
impl RefUnwindSafe for Bet
impl Send for Bet
impl Sync for Bet
impl Unpin for Bet
impl UnwindSafe for Bet
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> FromPyObject<'_> for Twhere
T: PyClass + Clone,
impl<T> FromPyObject<'_> for Twhere
T: PyClass + Clone,
§fn extract_bound(obj: &Bound<'_, PyAny>) -> Result<T, PyErr>
fn extract_bound(obj: &Bound<'_, PyAny>) -> Result<T, PyErr>
§impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
§fn from_py_object_bound(ob: Borrowed<'_, 'py, PyAny>) -> Result<T, PyErr>
fn from_py_object_bound(ob: Borrowed<'_, 'py, PyAny>) -> Result<T, PyErr>
§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self
into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self
into an owned Python object, dropping type information and unbinding it
from the 'py
lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self
into a Python object. Read moreSource§impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
Source§impl<T> Separable for Twhere
T: Display,
impl<T> Separable for Twhere
T: Display,
Source§fn separate_by_policy(&self, policy: SeparatorPolicy<'_>) -> String
fn separate_by_policy(&self, policy: SeparatorPolicy<'_>) -> String
SeparatorPolicy
. Read more