增加通用期货策略动作并修正组合净值
This commit is contained in:
@@ -363,6 +363,14 @@ pub struct FuturesExecutionReport {
|
||||
}
|
||||
|
||||
impl FuturesContractSpec {
|
||||
pub fn unresolved() -> Self {
|
||||
Self {
|
||||
contract_multiplier: f64::NAN,
|
||||
long_margin_rate: f64::NAN,
|
||||
short_margin_rate: f64::NAN,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn new(contract_multiplier: f64, long_margin_rate: f64, short_margin_rate: f64) -> Self {
|
||||
Self {
|
||||
contract_multiplier: contract_multiplier.max(1.0),
|
||||
@@ -377,6 +385,15 @@ impl FuturesContractSpec {
|
||||
FuturesDirection::Short => self.short_margin_rate,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn is_resolved(&self) -> bool {
|
||||
self.contract_multiplier.is_finite()
|
||||
&& self.contract_multiplier > 0.0
|
||||
&& self.long_margin_rate.is_finite()
|
||||
&& self.long_margin_rate >= 0.0
|
||||
&& self.short_margin_rate.is_finite()
|
||||
&& self.short_margin_rate >= 0.0
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
|
||||
Reference in New Issue
Block a user