global: snapshot

This commit is contained in:
nym21
2026-03-13 16:27:10 +01:00
parent b2a1251774
commit 3709ceff8e
168 changed files with 2007 additions and 2008 deletions
+3 -3
View File
@@ -5,7 +5,7 @@ use vecdb::Database;
use super::Vecs;
use crate::{
indexes,
internal::{ComputedPerBlock, DaysToYears, DerivedResolutions, PercentPerBlock, Price},
internal::{PerBlock, DaysToYears, DerivedResolutions, PercentPerBlock, Price},
};
const VERSION: Version = Version::ONE;
@@ -21,7 +21,7 @@ impl Vecs {
let high = Price::forced_import(db, "price_ath", v, indexes)?;
let max_days_between =
ComputedPerBlock::forced_import(db, "max_days_between_price_ath", v, indexes)?;
PerBlock::forced_import(db, "max_days_between_price_ath", v, indexes)?;
let max_years_between = DerivedResolutions::from_computed::<DaysToYears>(
"max_years_between_price_ath",
@@ -30,7 +30,7 @@ impl Vecs {
);
let days_since =
ComputedPerBlock::forced_import(db, "days_since_price_ath", v, indexes)?;
PerBlock::forced_import(db, "days_since_price_ath", v, indexes)?;
let years_since = DerivedResolutions::from_computed::<DaysToYears>(
"years_since_price_ath",
+4 -4
View File
@@ -2,14 +2,14 @@ use brk_traversable::Traversable;
use brk_types::{BasisPointsSigned16, Cents, StoredF32};
use vecdb::{Rw, StorageMode};
use crate::internal::{ComputedPerBlock, DerivedResolutions, PercentPerBlock, Price};
use crate::internal::{PerBlock, DerivedResolutions, PercentPerBlock, Price};
#[derive(Traversable)]
pub struct Vecs<M: StorageMode = Rw> {
pub high: Price<ComputedPerBlock<Cents, M>>,
pub high: Price<PerBlock<Cents, M>>,
pub drawdown: PercentPerBlock<BasisPointsSigned16, M>,
pub days_since: ComputedPerBlock<StoredF32, M>,
pub days_since: PerBlock<StoredF32, M>,
pub years_since: DerivedResolutions<StoredF32, StoredF32>,
pub max_days_between: ComputedPerBlock<StoredF32, M>,
pub max_days_between: PerBlock<StoredF32, M>,
pub max_years_between: DerivedResolutions<StoredF32, StoredF32>,
}
+3 -3
View File
@@ -3,12 +3,12 @@ use brk_types::{BasisPointsSigned32, Cents, Height, Sats};
use vecdb::{EagerVec, PcoVec, Rw, StorageMode};
use super::{ByDcaCagr, ByDcaClass, ByDcaPeriod};
use crate::internal::{AmountPerBlock, ComputedPerBlock, PercentPerBlock, Price};
use crate::internal::{AmountPerBlock, PerBlock, PercentPerBlock, Price};
#[derive(Traversable)]
pub struct PeriodVecs<M: StorageMode = Rw> {
pub stack: ByDcaPeriod<AmountPerBlock<M>>,
pub cost_basis: ByDcaPeriod<Price<ComputedPerBlock<Cents, M>>>,
pub cost_basis: ByDcaPeriod<Price<PerBlock<Cents, M>>>,
pub r#return: ByDcaPeriod<PercentPerBlock<BasisPointsSigned32, M>>,
pub cagr: ByDcaCagr<PercentPerBlock<BasisPointsSigned32, M>>,
pub lump_sum_stack: ByDcaPeriod<AmountPerBlock<M>>,
@@ -18,7 +18,7 @@ pub struct PeriodVecs<M: StorageMode = Rw> {
#[derive(Traversable)]
pub struct ClassVecs<M: StorageMode = Rw> {
pub stack: ByDcaClass<AmountPerBlock<M>>,
pub cost_basis: ByDcaClass<Price<ComputedPerBlock<Cents, M>>>,
pub cost_basis: ByDcaClass<Price<PerBlock<Cents, M>>>,
pub r#return: ByDcaClass<PercentPerBlock<BasisPointsSigned32, M>>,
}
+1 -1
View File
@@ -5,7 +5,7 @@ use brk_types::Version;
use crate::{
indexes,
internal::{finalize_db, open_db},
internal::db_utils::{finalize_db, open_db},
};
use super::{
@@ -3,9 +3,9 @@ use brk_types::Cents;
use vecdb::{Rw, StorageMode};
use super::ByLookbackPeriod;
use crate::internal::{ComputedPerBlock, Price};
use crate::internal::{PerBlock, Price};
#[derive(Traversable)]
pub struct Vecs<M: StorageMode = Rw> {
#[traversable(flatten)]
pub price_lookback: ByLookbackPeriod<Price<ComputedPerBlock<Cents, M>>>,
pub price_lookback: ByLookbackPeriod<Price<PerBlock<Cents, M>>>,
}
@@ -5,7 +5,7 @@ use vecdb::Database;
use super::{vecs::PriceMinMaxVecs, Vecs};
use crate::{
indexes,
internal::{ComputedPerBlock, PercentPerBlock, Price},
internal::{PerBlock, PercentPerBlock, Price},
};
impl Vecs {
@@ -29,13 +29,13 @@ impl Vecs {
_1m: Price::forced_import(db, "price_max_1m", version + v1, indexes)?,
_1y: Price::forced_import(db, "price_max_1y", version + v1, indexes)?,
},
true_range: ComputedPerBlock::forced_import(
true_range: PerBlock::forced_import(
db,
"price_true_range",
version + v1,
indexes,
)?,
true_range_sum_2w: ComputedPerBlock::forced_import(
true_range_sum_2w: PerBlock::forced_import(
db,
"price_true_range_sum_2w",
version + v1,
+7 -7
View File
@@ -2,21 +2,21 @@ use brk_traversable::Traversable;
use brk_types::{BasisPoints16, Cents, StoredF32};
use vecdb::{Rw, StorageMode};
use crate::internal::{ComputedPerBlock, PercentPerBlock, Price};
use crate::internal::{PerBlock, PercentPerBlock, Price};
#[derive(Traversable)]
pub struct PriceMinMaxVecs<M: StorageMode = Rw> {
pub _1w: Price<ComputedPerBlock<Cents, M>>,
pub _2w: Price<ComputedPerBlock<Cents, M>>,
pub _1m: Price<ComputedPerBlock<Cents, M>>,
pub _1y: Price<ComputedPerBlock<Cents, M>>,
pub _1w: Price<PerBlock<Cents, M>>,
pub _2w: Price<PerBlock<Cents, M>>,
pub _1m: Price<PerBlock<Cents, M>>,
pub _1y: Price<PerBlock<Cents, M>>,
}
#[derive(Traversable)]
pub struct Vecs<M: StorageMode = Rw> {
pub min: PriceMinMaxVecs<M>,
pub max: PriceMinMaxVecs<M>,
pub true_range: ComputedPerBlock<StoredF32, M>,
pub true_range_sum_2w: ComputedPerBlock<StoredF32, M>,
pub true_range: PerBlock<StoredF32, M>,
pub true_range_sum_2w: PerBlock<StoredF32, M>,
pub choppiness_index_2w: PercentPerBlock<BasisPoints16, M>,
}
@@ -5,7 +5,7 @@ use vecdb::Database;
use super::{MacdChain, RsiChain, Vecs};
use crate::{
indexes,
internal::{ComputedPerBlock, PercentPerBlock, RatioPerBlock, Windows},
internal::{PerBlock, PercentPerBlock, RatioPerBlock, Windows},
};
const VERSION: Version = Version::new(2);
@@ -19,7 +19,7 @@ impl RsiChain {
) -> Result<Self> {
macro_rules! import {
($name:expr) => {
ComputedPerBlock::forced_import(
PerBlock::forced_import(
db,
&format!("rsi_{}_{}", $name, tf),
version,
@@ -67,11 +67,11 @@ impl MacdChain {
indexes: &indexes::Vecs,
) -> Result<Self> {
let line =
ComputedPerBlock::forced_import(db, &format!("macd_line_{tf}"), version, indexes)?;
PerBlock::forced_import(db, &format!("macd_line_{tf}"), version, indexes)?;
let signal =
ComputedPerBlock::forced_import(db, &format!("macd_signal_{tf}"), version, indexes)?;
PerBlock::forced_import(db, &format!("macd_signal_{tf}"), version, indexes)?;
let histogram = ComputedPerBlock::forced_import(
let histogram = PerBlock::forced_import(
db,
&format!("macd_histogram_{tf}"),
version,
@@ -79,13 +79,13 @@ impl MacdChain {
)?;
Ok(Self {
ema_fast: ComputedPerBlock::forced_import(
ema_fast: PerBlock::forced_import(
db,
&format!("macd_ema_fast_{tf}"),
version,
indexes,
)?,
ema_slow: ComputedPerBlock::forced_import(
ema_slow: PerBlock::forced_import(
db,
&format!("macd_ema_slow_{tf}"),
version,
@@ -2,14 +2,14 @@ use brk_traversable::Traversable;
use brk_types::{BasisPoints16, BasisPoints32, StoredF32};
use vecdb::{Rw, StorageMode};
use crate::internal::{ComputedPerBlock, PercentPerBlock, RatioPerBlock, Windows};
use crate::internal::{PerBlock, PercentPerBlock, RatioPerBlock, Windows};
#[derive(Traversable)]
pub struct RsiChain<M: StorageMode = Rw> {
pub gains: ComputedPerBlock<StoredF32, M>,
pub losses: ComputedPerBlock<StoredF32, M>,
pub average_gain: ComputedPerBlock<StoredF32, M>,
pub average_loss: ComputedPerBlock<StoredF32, M>,
pub gains: PerBlock<StoredF32, M>,
pub losses: PerBlock<StoredF32, M>,
pub average_gain: PerBlock<StoredF32, M>,
pub average_loss: PerBlock<StoredF32, M>,
pub rsi: PercentPerBlock<BasisPoints16, M>,
pub rsi_min: PercentPerBlock<BasisPoints16, M>,
pub rsi_max: PercentPerBlock<BasisPoints16, M>,
@@ -20,11 +20,11 @@ pub struct RsiChain<M: StorageMode = Rw> {
#[derive(Traversable)]
pub struct MacdChain<M: StorageMode = Rw> {
pub ema_fast: ComputedPerBlock<StoredF32, M>,
pub ema_slow: ComputedPerBlock<StoredF32, M>,
pub line: ComputedPerBlock<StoredF32, M>,
pub signal: ComputedPerBlock<StoredF32, M>,
pub histogram: ComputedPerBlock<StoredF32, M>,
pub ema_fast: PerBlock<StoredF32, M>,
pub ema_slow: PerBlock<StoredF32, M>,
pub line: PerBlock<StoredF32, M>,
pub signal: PerBlock<StoredF32, M>,
pub histogram: PerBlock<StoredF32, M>,
}
#[derive(Traversable)]