mod compute; mod import; use brk_traversable::Traversable; use brk_types::{DateIndex, Dollars, Height, Sats, StoredF32, StoredU16}; use vecdb::{Database, EagerVec, PcoVec}; use crate::grouped::{ ComputedRatioVecsFromDateIndex, ComputedStandardDeviationVecsFromDateIndex, ComputedVecsFromDateIndex, }; #[derive(Clone, Traversable)] pub struct Vecs { pub(crate) db: Database, pub height_to_price_ath: EagerVec>, pub height_to_price_drawdown: EagerVec>, pub indexes_to_price_ath: ComputedVecsFromDateIndex, pub indexes_to_price_drawdown: ComputedVecsFromDateIndex, pub indexes_to_days_since_price_ath: ComputedVecsFromDateIndex, pub indexes_to_max_days_between_price_aths: ComputedVecsFromDateIndex, pub indexes_to_max_years_between_price_aths: ComputedVecsFromDateIndex, pub indexes_to_1d_returns_1w_sd: ComputedStandardDeviationVecsFromDateIndex, pub indexes_to_1d_returns_1m_sd: ComputedStandardDeviationVecsFromDateIndex, pub indexes_to_1d_returns_1y_sd: ComputedStandardDeviationVecsFromDateIndex, pub indexes_to_price_1w_volatility: ComputedVecsFromDateIndex, pub indexes_to_price_1m_volatility: ComputedVecsFromDateIndex, pub indexes_to_price_1y_volatility: ComputedVecsFromDateIndex, pub indexes_to_price_1w_min: ComputedVecsFromDateIndex, pub indexes_to_price_1w_max: ComputedVecsFromDateIndex, pub indexes_to_price_2w_min: ComputedVecsFromDateIndex, pub indexes_to_price_2w_max: ComputedVecsFromDateIndex, pub indexes_to_price_1m_min: ComputedVecsFromDateIndex, pub indexes_to_price_1m_max: ComputedVecsFromDateIndex, pub indexes_to_price_1y_min: ComputedVecsFromDateIndex, pub indexes_to_price_1y_max: ComputedVecsFromDateIndex, pub dateindex_to_price_true_range: EagerVec>, pub dateindex_to_price_true_range_2w_sum: EagerVec>, pub indexes_to_price_2w_choppiness_index: ComputedVecsFromDateIndex, pub indexes_to_price_1w_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_8d_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_13d_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_21d_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_1m_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_34d_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_55d_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_89d_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_144d_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_200d_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_1y_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_2y_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_200w_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_4y_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_price_1w_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_8d_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_13d_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_21d_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_1m_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_34d_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_55d_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_89d_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_144d_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_200d_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_1y_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_2y_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_200w_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_4y_ema: ComputedRatioVecsFromDateIndex, pub indexes_to_price_200d_sma_x2_4: ComputedVecsFromDateIndex, pub indexes_to_price_200d_sma_x0_8: ComputedVecsFromDateIndex, pub price_1d_ago: ComputedVecsFromDateIndex, pub price_1w_ago: ComputedVecsFromDateIndex, pub price_1m_ago: ComputedVecsFromDateIndex, pub price_3m_ago: ComputedVecsFromDateIndex, pub price_6m_ago: ComputedVecsFromDateIndex, pub price_1y_ago: ComputedVecsFromDateIndex, pub price_2y_ago: ComputedVecsFromDateIndex, pub price_3y_ago: ComputedVecsFromDateIndex, pub price_4y_ago: ComputedVecsFromDateIndex, pub price_5y_ago: ComputedVecsFromDateIndex, pub price_6y_ago: ComputedVecsFromDateIndex, pub price_8y_ago: ComputedVecsFromDateIndex, pub price_10y_ago: ComputedVecsFromDateIndex, pub _1d_price_returns: ComputedVecsFromDateIndex, pub _1w_price_returns: ComputedVecsFromDateIndex, pub _1m_price_returns: ComputedVecsFromDateIndex, pub _3m_price_returns: ComputedVecsFromDateIndex, pub _6m_price_returns: ComputedVecsFromDateIndex, pub _1y_price_returns: ComputedVecsFromDateIndex, pub _2y_price_returns: ComputedVecsFromDateIndex, pub _3y_price_returns: ComputedVecsFromDateIndex, pub _4y_price_returns: ComputedVecsFromDateIndex, pub _5y_price_returns: ComputedVecsFromDateIndex, pub _6y_price_returns: ComputedVecsFromDateIndex, pub _8y_price_returns: ComputedVecsFromDateIndex, pub _10y_price_returns: ComputedVecsFromDateIndex, pub _2y_cagr: ComputedVecsFromDateIndex, pub _3y_cagr: ComputedVecsFromDateIndex, pub _4y_cagr: ComputedVecsFromDateIndex, pub _5y_cagr: ComputedVecsFromDateIndex, pub _6y_cagr: ComputedVecsFromDateIndex, pub _8y_cagr: ComputedVecsFromDateIndex, pub _10y_cagr: ComputedVecsFromDateIndex, pub _1w_dca_stack: ComputedVecsFromDateIndex, pub _1m_dca_stack: ComputedVecsFromDateIndex, pub _3m_dca_stack: ComputedVecsFromDateIndex, pub _6m_dca_stack: ComputedVecsFromDateIndex, pub _1y_dca_stack: ComputedVecsFromDateIndex, pub _2y_dca_stack: ComputedVecsFromDateIndex, pub _3y_dca_stack: ComputedVecsFromDateIndex, pub _4y_dca_stack: ComputedVecsFromDateIndex, pub _5y_dca_stack: ComputedVecsFromDateIndex, pub _6y_dca_stack: ComputedVecsFromDateIndex, pub _8y_dca_stack: ComputedVecsFromDateIndex, pub _10y_dca_stack: ComputedVecsFromDateIndex, pub _1w_dca_avg_price: ComputedVecsFromDateIndex, pub _1m_dca_avg_price: ComputedVecsFromDateIndex, pub _3m_dca_avg_price: ComputedVecsFromDateIndex, pub _6m_dca_avg_price: ComputedVecsFromDateIndex, pub _1y_dca_avg_price: ComputedVecsFromDateIndex, pub _2y_dca_avg_price: ComputedVecsFromDateIndex, pub _3y_dca_avg_price: ComputedVecsFromDateIndex, pub _4y_dca_avg_price: ComputedVecsFromDateIndex, pub _5y_dca_avg_price: ComputedVecsFromDateIndex, pub _6y_dca_avg_price: ComputedVecsFromDateIndex, pub _8y_dca_avg_price: ComputedVecsFromDateIndex, pub _10y_dca_avg_price: ComputedVecsFromDateIndex, pub _1w_dca_returns: ComputedVecsFromDateIndex, pub _1m_dca_returns: ComputedVecsFromDateIndex, pub _3m_dca_returns: ComputedVecsFromDateIndex, pub _6m_dca_returns: ComputedVecsFromDateIndex, pub _1y_dca_returns: ComputedVecsFromDateIndex, pub _2y_dca_returns: ComputedVecsFromDateIndex, pub _3y_dca_returns: ComputedVecsFromDateIndex, pub _4y_dca_returns: ComputedVecsFromDateIndex, pub _5y_dca_returns: ComputedVecsFromDateIndex, pub _6y_dca_returns: ComputedVecsFromDateIndex, pub _8y_dca_returns: ComputedVecsFromDateIndex, pub _10y_dca_returns: ComputedVecsFromDateIndex, pub _2y_dca_cagr: ComputedVecsFromDateIndex, pub _3y_dca_cagr: ComputedVecsFromDateIndex, pub _4y_dca_cagr: ComputedVecsFromDateIndex, pub _5y_dca_cagr: ComputedVecsFromDateIndex, pub _6y_dca_cagr: ComputedVecsFromDateIndex, pub _8y_dca_cagr: ComputedVecsFromDateIndex, pub _10y_dca_cagr: ComputedVecsFromDateIndex, pub dca_class_2025_stack: ComputedVecsFromDateIndex, pub dca_class_2024_stack: ComputedVecsFromDateIndex, pub dca_class_2023_stack: ComputedVecsFromDateIndex, pub dca_class_2022_stack: ComputedVecsFromDateIndex, pub dca_class_2021_stack: ComputedVecsFromDateIndex, pub dca_class_2020_stack: ComputedVecsFromDateIndex, pub dca_class_2019_stack: ComputedVecsFromDateIndex, pub dca_class_2018_stack: ComputedVecsFromDateIndex, pub dca_class_2017_stack: ComputedVecsFromDateIndex, pub dca_class_2016_stack: ComputedVecsFromDateIndex, pub dca_class_2015_stack: ComputedVecsFromDateIndex, pub dca_class_2025_avg_price: ComputedVecsFromDateIndex, pub dca_class_2024_avg_price: ComputedVecsFromDateIndex, pub dca_class_2023_avg_price: ComputedVecsFromDateIndex, pub dca_class_2022_avg_price: ComputedVecsFromDateIndex, pub dca_class_2021_avg_price: ComputedVecsFromDateIndex, pub dca_class_2020_avg_price: ComputedVecsFromDateIndex, pub dca_class_2019_avg_price: ComputedVecsFromDateIndex, pub dca_class_2018_avg_price: ComputedVecsFromDateIndex, pub dca_class_2017_avg_price: ComputedVecsFromDateIndex, pub dca_class_2016_avg_price: ComputedVecsFromDateIndex, pub dca_class_2015_avg_price: ComputedVecsFromDateIndex, pub dca_class_2025_returns: ComputedVecsFromDateIndex, pub dca_class_2024_returns: ComputedVecsFromDateIndex, pub dca_class_2023_returns: ComputedVecsFromDateIndex, pub dca_class_2022_returns: ComputedVecsFromDateIndex, pub dca_class_2021_returns: ComputedVecsFromDateIndex, pub dca_class_2020_returns: ComputedVecsFromDateIndex, pub dca_class_2019_returns: ComputedVecsFromDateIndex, pub dca_class_2018_returns: ComputedVecsFromDateIndex, pub dca_class_2017_returns: ComputedVecsFromDateIndex, pub dca_class_2016_returns: ComputedVecsFromDateIndex, pub dca_class_2015_returns: ComputedVecsFromDateIndex, }