Add platform expression strategy runtime

This commit is contained in:
boris
2026-04-21 21:17:30 -07:00
parent 6c353d5441
commit 8b55fdabc7
6 changed files with 1450 additions and 0 deletions

View File

@@ -843,6 +843,19 @@ impl DataSet {
symbol: symbol.to_string(),
})
}
pub fn require_factor(
&self,
date: NaiveDate,
symbol: &str,
) -> Result<&DailyFactorSnapshot, DataSetError> {
self.factor(date, symbol)
.ok_or_else(|| DataSetError::MissingSnapshot {
kind: "factor",
date,
symbol: symbol.to_string(),
})
}
}
fn read_instruments(path: &Path) -> Result<Vec<Instrument>, DataSetError> {

View File

@@ -7,6 +7,7 @@ pub mod events;
pub mod instrument;
pub mod metrics;
pub mod portfolio;
pub mod platform_expr_strategy;
pub mod rules;
pub mod strategy;
pub mod universe;
@@ -27,6 +28,7 @@ pub use events::{AccountEvent, FillEvent, OrderEvent, OrderSide, OrderStatus, Po
pub use instrument::Instrument;
pub use metrics::{BacktestMetrics, compute_backtest_metrics};
pub use portfolio::{CashReceivable, HoldingSummary, PortfolioState, Position};
pub use platform_expr_strategy::{PlatformExprStrategy, PlatformExprStrategyConfig};
pub use rules::{ChinaEquityRuleHooks, EquityRuleHooks, RuleCheck};
pub use strategy::{
CnSmallCapRotationConfig, CnSmallCapRotationStrategy, JqMicroCapConfig, JqMicroCapStrategy,

File diff suppressed because it is too large Load Diff