pub struct PanelView {Show 29 fields
pub id: String,
pub verdict: String,
pub reasons: Vec<String>,
pub recommendations: Vec<RecommendationView>,
pub instruments: u32,
pub total_trades: u32,
pub mean_excess_return: f64,
pub beat_benchmark: u32,
pub mean_max_drawdown: f64,
pub breadth: Option<BreadthView>,
pub book: Option<BookView>,
pub worst_max_drawdown: f64,
pub trials: u32,
pub best_sharpe: f64,
pub expected_best_under_null: Option<f64>,
pub survived_deflation: bool,
pub in_sample: String,
pub out_of_sample: String,
pub selected_params: Vec<NamedNumber>,
pub per_instrument: Vec<OutcomeView>,
pub failures: Vec<String>,
pub dataset_version: String,
pub strategy_name: String,
pub starting_cash: f64,
pub commission_bps: f64,
pub slippage_bps: f64,
pub engine: String,
pub universe: String,
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.
A panel study, flattened for display.
Fields§
§id: StringThe stored finding this view came from, so the window can ask for
something to be done to the record it is showing — a report composed
from it, a file kept with it. Empty for a view that was never
recorded. default because every view built before this had none.
verdict: String§reasons: Vec<String>§recommendations: Vec<RecommendationView>§instruments: u32§total_trades: u32§mean_excess_return: f64§beat_benchmark: u32§mean_max_drawdown: f64§breadth: Option<BreadthView>§book: Option<BookView>§worst_max_drawdown: f64§trials: u32§best_sharpe: f64§expected_best_under_null: Option<f64>§survived_deflation: bool§in_sample: String§out_of_sample: String§selected_params: Vec<NamedNumber>§per_instrument: Vec<OutcomeView>§failures: Vec<String>§dataset_version: String§strategy_name: String§starting_cash: f64§commission_bps: f64§slippage_bps: f64§engine: String§universe: StringThe universe this panel ran over (#227); empty for the whole library.
notes: Vec<String>What to keep in mind about it: the reason it was chosen, its size as a search, that membership is today’s, members left out for want of data.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PanelView
impl<'de> Deserialize<'de> for PanelView
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 PanelView
impl Message for PanelView
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.