pub struct TrackingError { /* private fields */ }Expand description
Calculates the tracking error of portfolio returns relative to a benchmark.
Tracking error is the volatility of the active return (portfolio minus benchmark):
TE = std(active) * sqrt(period)
where active_i = portfolio_i - benchmark_i, std uses Bessel’s correction
(ddof = 1), and the result is annualized by the square root of the specified period
(default: 252 trading days).
§References
- Roll, R. (1992). “A Mean/Variance Analysis of Tracking Error”. Journal of Portfolio Management, 18(4), 13-22.
- CFA Institute Investment Foundations, 3rd Edition
Implementations§
Source§impl TrackingError
impl TrackingError
Sourcepub fn new(period: Option<usize>) -> Self
pub fn new(period: Option<usize>) -> Self
Creates a new TrackingError instance.
Trait Implementations§
Source§impl Clone for TrackingError
impl Clone for TrackingError
Source§fn clone(&self) -> TrackingError
fn clone(&self) -> TrackingError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TrackingError
impl Debug for TrackingError
Source§impl Display for TrackingError
impl Display for TrackingError
Source§impl PortfolioStatistic for TrackingError
impl PortfolioStatistic for TrackingError
type Item = f64
Source§fn name(&self) -> String
fn name(&self) -> String
Returns the name of this statistic for display and identification purposes.
Source§fn calculate_from_returns(&self, _returns: &Returns) -> Option<Self::Item>
fn calculate_from_returns(&self, _returns: &Returns) -> Option<Self::Item>
Calculates the statistic from time-indexed returns data. Read more
Source§fn calculate_from_realized_pnls(
&self,
_realized_pnls: &[f64],
) -> Option<Self::Item>
fn calculate_from_realized_pnls( &self, _realized_pnls: &[f64], ) -> Option<Self::Item>
Calculates the statistic from realized profit and loss values. Read more
Source§fn calculate_from_positions(
&self,
_positions: &[Position],
) -> Option<Self::Item>
fn calculate_from_positions( &self, _positions: &[Position], ) -> Option<Self::Item>
Calculates the statistic from position data. Read more
Source§fn calculate_from_returns_with_benchmark(
&self,
returns: &Returns,
benchmark: &Returns,
) -> Option<Self::Item>
fn calculate_from_returns_with_benchmark( &self, returns: &Returns, benchmark: &Returns, ) -> Option<Self::Item>
Calculates the statistic from time-indexed strategy returns relative to a benchmark. Read more
Source§fn calculate_from_orders(
&self,
orders: Vec<Box<dyn Order>>,
) -> Option<Self::Item>
fn calculate_from_orders( &self, orders: Vec<Box<dyn Order>>, ) -> Option<Self::Item>
Calculates the statistic from order data. Read more
Source§fn align_returns(&self, a: &Returns, b: &Returns) -> (Vec<f64>, Vec<f64>)
fn align_returns(&self, a: &Returns, b: &Returns) -> (Vec<f64>, Vec<f64>)
Aligns two returns series onto a common daily grid. Read more
Source§fn check_valid_returns(&self, returns: &Returns) -> bool
fn check_valid_returns(&self, returns: &Returns) -> bool
Validates that returns data is not empty.
Source§fn downsample_to_daily_bins(&self, returns: &Returns) -> Returns
fn downsample_to_daily_bins(&self, returns: &Returns) -> Returns
Downsamples high-frequency returns to daily bins by geometric compounding. Read more
Source§fn calculate_std(&self, returns: &Returns) -> f64
fn calculate_std(&self, returns: &Returns) -> f64
Calculates the standard deviation of returns with Bessel’s correction.
Auto Trait Implementations§
impl Freeze for TrackingError
impl RefUnwindSafe for TrackingError
impl Send for TrackingError
impl Sync for TrackingError
impl Unpin for TrackingError
impl UnsafeUnpin for TrackingError
impl UnwindSafe for TrackingError
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