pub struct ComparisonView {
pub rows: Vec<ComparisonRowView>,
pub curves: Vec<NamedCurveView>,
pub best_sharpe: Option<f64>,
pub expected_best_under_null: Option<f64>,
pub survived_deflation: bool,
pub notes: Vec<String>,
}Expand description
Every shape at the root as well, because a window names a view on nearly
every line and arvo_api::research::StudyView would be noise. The names
do not collide: proto has no overloading and neither does this.
Every shape at the root as well, because a window names a view on nearly
every line and arvo_api::research::StudyView would be noise. The names
do not collide: proto has no overloading and neither does this.
Every shape at the root as well, because a window names a view on nearly
every line and arvo_api::research::StudyView would be noise. The names
do not collide: proto has no overloading and neither does this.
Several findings, read against each other.
Fields§
§rows: Vec<ComparisonRowView>§curves: Vec<NamedCurveView>§best_sharpe: Option<f64>The best out-of-sample Sharpe among them, and the score the best of a comparison this size would be expected to reach with no skill at all.
The point of the whole screen. Comparing six strategies and keeping the best one is a search of size six, and until now nothing counted it: each finding deflated the grid inside it and none of them knew about the other five.
expected_best_under_null: Option<f64>§survived_deflation: bool§notes: Vec<String>What is worth saying about the comparison itself.
Implementations§
Source§impl ComparisonView
impl ComparisonView
Sourcepub fn best_sharpe(&self) -> f64
pub fn best_sharpe(&self) -> f64
Returns the value of best_sharpe, or the default value if best_sharpe is unset.
Sourcepub fn expected_best_under_null(&self) -> f64
pub fn expected_best_under_null(&self) -> f64
Returns the value of expected_best_under_null, or the default value if expected_best_under_null is unset.
Trait Implementations§
Source§impl Clone for ComparisonView
impl Clone for ComparisonView
Source§impl Debug for ComparisonView
impl Debug for ComparisonView
Source§impl Default for ComparisonView
impl Default for ComparisonView
Source§impl<'de> Deserialize<'de> for ComparisonView
impl<'de> Deserialize<'de> for ComparisonView
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 Message for ComparisonView
impl Message for ComparisonView
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.