global: add datasets and charts + fixes

This commit is contained in:
nym21
2025-08-26 08:31:08 +02:00
parent 9389700a01
commit fb9fd5b51a
21 changed files with 825 additions and 552 deletions

View File

@@ -50,10 +50,14 @@ pub struct Vecs {
pub indexes_to_coinblocks_destroyed: ComputedVecsFromHeight<StoredF64>,
pub indexes_to_coindays_destroyed: ComputedVecsFromHeight<StoredF64>,
pub dateindex_to_spent_output_profit_ratio: Option<EagerVec<DateIndex, StoredF32>>,
pub dateindex_to_spent_output_profit_ratio_7d_ema: Option<EagerVec<DateIndex, StoredF32>>,
pub dateindex_to_adjusted_spent_output_profit_ratio: Option<EagerVec<DateIndex, StoredF32>>,
pub dateindex_to_adjusted_spent_output_profit_ratio_7d_ema:
Option<EagerVec<DateIndex, StoredF32>>,
pub indexes_to_realized_cap_30d_change: Option<ComputedVecsFromDateIndex<Dollars>>,
pub dateindex_to_sell_side_risk_ratio: Option<EagerVec<DateIndex, StoredF32>>,
pub dateindex_to_spent_output_profit_ratio: Option<EagerVec<DateIndex, StoredF32>>,
pub dateindex_to_sell_side_risk_ratio_7d_ema: Option<EagerVec<DateIndex, StoredF32>>,
pub indexes_to_adjusted_value_created: Option<ComputedVecsFromHeight<Dollars>>,
pub indexes_to_adjusted_value_destroyed: Option<ComputedVecsFromHeight<Dollars>>,
pub indexes_to_negative_realized_loss: Option<ComputedVecsFromHeight<Dollars>>,
@@ -599,6 +603,15 @@ impl Vecs {
)
.unwrap()
}),
dateindex_to_sell_side_risk_ratio_7d_ema: compute_dollars.then(|| {
EagerVec::forced_import(
db,
&suffix("sell_side_risk_ratio_7d_ema"),
version + VERSION + Version::ONE,
format,
)
.unwrap()
}),
dateindex_to_spent_output_profit_ratio: compute_dollars.then(|| {
EagerVec::forced_import(
db,
@@ -608,6 +621,15 @@ impl Vecs {
)
.unwrap()
}),
dateindex_to_spent_output_profit_ratio_7d_ema: compute_dollars.then(|| {
EagerVec::forced_import(
db,
&suffix("spent_output_profit_ratio_7d_ema"),
version + VERSION + Version::ZERO,
format,
)
.unwrap()
}),
dateindex_to_adjusted_spent_output_profit_ratio: (compute_dollars && compute_adjusted).then(|| {
EagerVec::forced_import(
db,
@@ -617,6 +639,15 @@ impl Vecs {
)
.unwrap()
}),
dateindex_to_adjusted_spent_output_profit_ratio_7d_ema: (compute_dollars && compute_adjusted).then(|| {
EagerVec::forced_import(
db,
&suffix("adjusted_spent_output_profit_ratio_7d_ema"),
version + VERSION + Version::ZERO,
format,
)
.unwrap()
}),
height_to_halved_supply_value: ComputedHeightValueVecs::forced_import(
db,
&suffix("halved_supply"),
@@ -2177,6 +2208,18 @@ impl Vecs {
exit,
)?;
self.dateindex_to_spent_output_profit_ratio_7d_ema
.as_mut()
.unwrap()
.compute_ema(
starting_indexes.dateindex,
self.dateindex_to_spent_output_profit_ratio
.as_ref()
.unwrap(),
7,
exit,
)?;
self.dateindex_to_sell_side_risk_ratio
.as_mut()
.unwrap()
@@ -2195,6 +2238,16 @@ impl Vecs {
exit,
)?;
self.dateindex_to_sell_side_risk_ratio_7d_ema
.as_mut()
.unwrap()
.compute_ema(
starting_indexes.dateindex,
self.dateindex_to_sell_side_risk_ratio.as_ref().unwrap(),
7,
exit,
)?;
self.indexes_to_supply_in_profit
.as_mut()
.unwrap()
@@ -2757,6 +2810,18 @@ impl Vecs {
.unwrap_sum(),
exit,
)?;
self.dateindex_to_adjusted_spent_output_profit_ratio_7d_ema
.as_mut()
.unwrap()
.compute_ema(
starting_indexes.dateindex,
self.dateindex_to_adjusted_spent_output_profit_ratio
.as_ref()
.unwrap(),
7,
exit,
)?;
}
}
@@ -2823,9 +2888,15 @@ impl Vecs {
self.dateindex_to_spent_output_profit_ratio
.as_ref()
.map_or(vec![], |v| vec![v as &dyn AnyCollectableVec]),
self.dateindex_to_spent_output_profit_ratio_7d_ema
.as_ref()
.map_or(vec![], |v| vec![v as &dyn AnyCollectableVec]),
self.dateindex_to_adjusted_spent_output_profit_ratio
.as_ref()
.map_or(vec![], |v| vec![v as &dyn AnyCollectableVec]),
self.dateindex_to_adjusted_spent_output_profit_ratio_7d_ema
.as_ref()
.map_or(vec![], |v| vec![v as &dyn AnyCollectableVec]),
self.indexes_to_value_destroyed
.as_ref()
.map_or(vec![], |v| v.vecs()),
@@ -2844,6 +2915,9 @@ impl Vecs {
self.dateindex_to_sell_side_risk_ratio
.as_ref()
.map_or(vec![], |v| vec![v]),
self.dateindex_to_sell_side_risk_ratio_7d_ema
.as_ref()
.map_or(vec![], |v| vec![v]),
self.height_to_supply_in_profit
.as_ref()
.map_or(vec![], |v| vec![v]),