统一每日PIT无风险收益指标
This commit is contained in:
@@ -16,7 +16,7 @@ use crate::futures::{
|
||||
FuturesAccountState, FuturesExecutionReport, FuturesOrderIntent, FuturesPositionEffect,
|
||||
FuturesTransactionCostModel,
|
||||
};
|
||||
use crate::metrics::{BacktestMetrics, compute_backtest_metrics};
|
||||
use crate::metrics::{BacktestMetrics, RiskFreeRateContract, compute_backtest_metrics};
|
||||
use crate::portfolio::{CashReceivable, HoldingSummary, PortfolioState};
|
||||
use crate::risk_control::{FidcRiskDecisionAudit, RiskCheckScope};
|
||||
use crate::rules::EquityRuleHooks;
|
||||
@@ -455,6 +455,7 @@ pub struct BacktestEngine<S, C, R> {
|
||||
execution_quote_loader: Option<ExecutionQuoteLoader>,
|
||||
execution_quote_request_cache:
|
||||
BTreeSet<(NaiveDate, String, Option<NaiveTime>, Option<NaiveTime>)>,
|
||||
risk_free_rate_contract: Option<RiskFreeRateContract>,
|
||||
}
|
||||
|
||||
impl<S, C, R> BacktestEngine<S, C, R> {
|
||||
@@ -485,9 +486,15 @@ impl<S, C, R> BacktestEngine<S, C, R> {
|
||||
futures_validation_config: FuturesValidationConfig::default(),
|
||||
execution_quote_loader: None,
|
||||
execution_quote_request_cache: BTreeSet::new(),
|
||||
risk_free_rate_contract: None,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn with_risk_free_rate_contract(mut self, contract: RiskFreeRateContract) -> Self {
|
||||
self.risk_free_rate_contract = Some(contract);
|
||||
self
|
||||
}
|
||||
|
||||
pub fn into_data(self) -> DataSet {
|
||||
self.data
|
||||
}
|
||||
@@ -3374,7 +3381,9 @@ where
|
||||
&result.daily_holdings,
|
||||
&result.account_events,
|
||||
self.aggregate_initial_cash(),
|
||||
);
|
||||
self.risk_free_rate_contract.as_ref(),
|
||||
)
|
||||
.map_err(BacktestError::Execution)?;
|
||||
|
||||
Ok(result)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user