pub struct PanelView {Show 27 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,
}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.
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: StringImplementations§
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Message for PanelView
impl Message for PanelView
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
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,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
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,
Encodes the message with a length-delimiter to a buffer. Read more
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,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
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,
Decodes a length-delimited instance of the message from the buffer.
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,
Decodes an instance of the message from a buffer, and merges it into
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,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.impl StructuralPartialEq for PanelView
Auto Trait Implementations§
impl Freeze for PanelView
impl RefUnwindSafe for PanelView
impl Send for PanelView
impl Sync for PanelView
impl Unpin for PanelView
impl UnsafeUnpin for PanelView
impl UnwindSafe for PanelView
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
Mutably borrows from an owned value. Read more