From fb9fd5b51afb873ce7e9ccedaa61181ded191660 Mon Sep 17 00:00:00 2001 From: nym21 Date: Tue, 26 Aug 2025 08:31:08 +0200 Subject: [PATCH] global: add datasets and charts + fixes --- Cargo.lock | 12 +- Cargo.toml | 2 +- TODO.md | 2 +- crates/brk_computer/src/constants.rs | 260 ++----- .../src/grouped/ratio_from_dateindex.rs | 17 +- crates/brk_computer/src/lib.rs | 2 + crates/brk_computer/src/market.rs | 237 ++++++- crates/brk_computer/src/stateful/common.rs | 76 +- .../brk_computer/src/stateful/utxo_cohorts.rs | 10 +- crates/brk_indexer/src/lib.rs | 18 +- crates/brk_structs/src/structs/ohlc.rs | 11 +- crates/brk_structs/src/structs/sats.rs | 2 +- crates/brk_structs/src/structs/stored_f32.rs | 7 + .../fonts/Lilex-Italic[wght]-2.601.woff2 | Bin 0 -> 94856 bytes .../assets/fonts/Lilex[wght]-2.601.woff2 | Bin 0 -> 94856 bytes websites/default/index.html | 19 +- .../packages/lightweight-charts/wrapper.js | 12 +- websites/default/scripts/chart.js | 1 + websites/default/scripts/main.js | 27 +- websites/default/scripts/options.js | 660 ++++++++++-------- websites/default/scripts/simulation.js | 2 +- 21 files changed, 825 insertions(+), 552 deletions(-) create mode 100644 websites/default/assets/fonts/Lilex-Italic[wght]-2.601.woff2 create mode 100644 websites/default/assets/fonts/Lilex[wght]-2.601.woff2 diff --git a/Cargo.lock b/Cargo.lock index c2dccf17d..13dd84a38 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3895,9 +3895,9 @@ checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc" [[package]] name = "seqdb" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567d567faf0a305d66eb0419fc50ba8faec58a3baa8624d7a1fd1c798395044c" +checksum = "c54ab988c96efa9d275ca2b12bf2d3c6adec993b8e82ea31a88c984abdaa14fa" dependencies = [ "libc", "log", @@ -4723,9 +4723,9 @@ checksum = "8f54a172d0620933a27a4360d3db3e2ae0dd6cceae9730751a036bbf182c4b23" [[package]] name = "vecdb" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "236493fb96b34fe7900a3bf62cbb1bd1c5991bc9db563dbbe7ce5cc8c3037cb1" +checksum = "3e5c4ec34c376be3a41435eeb7672d0ea0e9c1d60c5d1d90218912588f91abea" dependencies = [ "ctrlc", "log", @@ -4743,9 +4743,9 @@ dependencies = [ [[package]] name = "vecdb_derive" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d117eb4f82c996a7de2dd5bca1f53da20fa39ae97646405af29eccde67be041" +checksum = "778c4874c05822465e28cae6a7dead593a73124ec80afb85b85adae5ac883368" dependencies = [ "quote", "syn 2.0.106", diff --git a/Cargo.toml b/Cargo.toml index 5dcc3ae36..d2ef2667f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,7 +53,7 @@ serde_derive = "1.0.219" serde_json = { version = "1.0.143", features = ["float_roundtrip"] } tokio = { version = "1.47.1", features = ["rt-multi-thread"] } # vecdb = { path = "../seqdb/crates/vecdb", features = ["derive"]} -vecdb = { version = "0.2.4", features = ["derive"]} +vecdb = { version = "0.2.5", features = ["derive"]} zerocopy = "0.8.26" zerocopy-derive = "0.8.26" diff --git a/TODO.md b/TODO.md index 2f81e4134..48b8141d3 100644 --- a/TODO.md +++ b/TODO.md @@ -13,7 +13,7 @@ - remove configurable format (raw/compressed) and chose sane ones instead - linear reads: compressed (height/date/... + txindex_to_height + txindex_to_version + ...) - random reads: raw (outputindex_to_value + ...) - - add prices paid by percentile (percentile cost basis) back + - add costs basis by percentile (percentile cost basis) back - add support for per index computation - fix min feerate which is always ZERO due to coinbase transaction - before computing multiple sources check their length, panic if not equal diff --git a/crates/brk_computer/src/constants.rs b/crates/brk_computer/src/constants.rs index 1612762c2..23d034edf 100644 --- a/crates/brk_computer/src/constants.rs +++ b/crates/brk_computer/src/constants.rs @@ -26,6 +26,8 @@ pub struct Vecs { pub constant_4: ComputedVecsFromHeight, pub constant_50: ComputedVecsFromHeight, pub constant_100: ComputedVecsFromHeight, + pub constant_144: ComputedVecsFromHeight, + pub constant_600: ComputedVecsFromHeight, pub constant_minus_1: ComputedVecsFromHeight, pub constant_minus_2: ComputedVecsFromHeight, pub constant_minus_3: ComputedVecsFromHeight, @@ -93,6 +95,22 @@ impl Vecs { indexes, VecBuilderOptions::default().add_last(), )?, + constant_144: ComputedVecsFromHeight::forced_import( + &db, + "constant_144", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + VecBuilderOptions::default().add_last(), + )?, + constant_600: ComputedVecsFromHeight::forced_import( + &db, + "constant_600", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + VecBuilderOptions::default().add_last(), + )?, constant_minus_1: ComputedVecsFromHeight::forced_import( &db, "constant_minus_1", @@ -149,192 +167,62 @@ impl Vecs { starting_indexes: &Indexes, exit: &Exit, ) -> Result<()> { - self.constant_0.compute_all( - indexer, - indexes, - starting_indexes, - exit, - |vec, _, indexes, starting_indexes, exit| { - vec.compute_to( - starting_indexes.height, - indexes.height_to_date.len(), - indexes.height_to_date.version(), - |i| (i, StoredU16::new(0)), - exit, - )?; - Ok(()) - }, - )?; + [ + (&mut self.constant_0, 0), + (&mut self.constant_1, 1), + (&mut self.constant_2, 2), + (&mut self.constant_3, 3), + (&mut self.constant_4, 4), + (&mut self.constant_50, 50), + (&mut self.constant_100, 100), + (&mut self.constant_144, 144), + (&mut self.constant_600, 600), + ] + .into_iter() + .try_for_each(|(vec, value)| { + vec.compute_all( + indexer, + indexes, + starting_indexes, + exit, + |vec, _, indexes, starting_indexes, exit| { + vec.compute_to( + starting_indexes.height, + indexes.height_to_date.len(), + indexes.height_to_date.version(), + |i| (i, StoredU16::new(value)), + exit, + )?; + Ok(()) + }, + ) + })?; - self.constant_1.compute_all( - indexer, - indexes, - starting_indexes, - exit, - |vec, _, indexes, starting_indexes, exit| { - vec.compute_to( - starting_indexes.height, - indexes.height_to_date.len(), - indexes.height_to_date.version(), - |i| (i, StoredU16::new(1)), - exit, - )?; - Ok(()) - }, - )?; - - self.constant_2.compute_all( - indexer, - indexes, - starting_indexes, - exit, - |vec, _, indexes, starting_indexes, exit| { - vec.compute_to( - starting_indexes.height, - indexes.height_to_date.len(), - indexes.height_to_date.version(), - |i| (i, StoredU16::new(2)), - exit, - )?; - Ok(()) - }, - )?; - - self.constant_3.compute_all( - indexer, - indexes, - starting_indexes, - exit, - |vec, _, indexes, starting_indexes, exit| { - vec.compute_to( - starting_indexes.height, - indexes.height_to_date.len(), - indexes.height_to_date.version(), - |i| (i, StoredU16::new(3)), - exit, - )?; - Ok(()) - }, - )?; - - self.constant_4.compute_all( - indexer, - indexes, - starting_indexes, - exit, - |vec, _, indexes, starting_indexes, exit| { - vec.compute_to( - starting_indexes.height, - indexes.height_to_date.len(), - indexes.height_to_date.version(), - |i| (i, StoredU16::new(4)), - exit, - )?; - Ok(()) - }, - )?; - - self.constant_50.compute_all( - indexer, - indexes, - starting_indexes, - exit, - |vec, _, indexes, starting_indexes, exit| { - vec.compute_to( - starting_indexes.height, - indexes.height_to_date.len(), - indexes.height_to_date.version(), - |i| (i, StoredU16::new(50)), - exit, - )?; - Ok(()) - }, - )?; - - self.constant_100.compute_all( - indexer, - indexes, - starting_indexes, - exit, - |vec, _, indexes, starting_indexes, exit| { - vec.compute_to( - starting_indexes.height, - indexes.height_to_date.len(), - indexes.height_to_date.version(), - |i| (i, StoredU16::new(100)), - exit, - )?; - Ok(()) - }, - )?; - - self.constant_minus_1.compute_all( - indexer, - indexes, - starting_indexes, - exit, - |vec, _, indexes, starting_indexes, exit| { - vec.compute_to( - starting_indexes.height, - indexes.height_to_date.len(), - indexes.height_to_date.version(), - |i| (i, StoredI16::new(-1)), - exit, - )?; - Ok(()) - }, - )?; - - self.constant_minus_2.compute_all( - indexer, - indexes, - starting_indexes, - exit, - |vec, _, indexes, starting_indexes, exit| { - vec.compute_to( - starting_indexes.height, - indexes.height_to_date.len(), - indexes.height_to_date.version(), - |i| (i, StoredI16::new(-2)), - exit, - )?; - Ok(()) - }, - )?; - - self.constant_minus_3.compute_all( - indexer, - indexes, - starting_indexes, - exit, - |vec, _, indexes, starting_indexes, exit| { - vec.compute_to( - starting_indexes.height, - indexes.height_to_date.len(), - indexes.height_to_date.version(), - |i| (i, StoredI16::new(-3)), - exit, - )?; - Ok(()) - }, - )?; - - self.constant_minus_4.compute_all( - indexer, - indexes, - starting_indexes, - exit, - |vec, _, indexes, starting_indexes, exit| { - vec.compute_to( - starting_indexes.height, - indexes.height_to_date.len(), - indexes.height_to_date.version(), - |i| (i, StoredI16::new(-4)), - exit, - )?; - Ok(()) - }, - )?; + [ + (&mut self.constant_minus_1, -1), + (&mut self.constant_minus_2, -2), + (&mut self.constant_minus_3, 3), + (&mut self.constant_minus_4, 4), + ] + .into_iter() + .try_for_each(|(vec, value)| { + vec.compute_all( + indexer, + indexes, + starting_indexes, + exit, + |vec, _, indexes, starting_indexes, exit| { + vec.compute_to( + starting_indexes.height, + indexes.height_to_date.len(), + indexes.height_to_date.version(), + |i| (i, StoredI16::new(value)), + exit, + )?; + Ok(()) + }, + ) + })?; Ok(()) } @@ -348,6 +236,8 @@ impl Vecs { self.constant_4.vecs(), self.constant_50.vecs(), self.constant_100.vecs(), + self.constant_144.vecs(), + self.constant_600.vecs(), self.constant_minus_1.vecs(), self.constant_minus_2.vecs(), self.constant_minus_3.vecs(), diff --git a/crates/brk_computer/src/grouped/ratio_from_dateindex.rs b/crates/brk_computer/src/grouped/ratio_from_dateindex.rs index 911f61387..b4a0f2525 100644 --- a/crates/brk_computer/src/grouped/ratio_from_dateindex.rs +++ b/crates/brk_computer/src/grouped/ratio_from_dateindex.rs @@ -320,26 +320,25 @@ impl ComputedRatioVecsFromDateIndex { price: &price::Vecs, starting_indexes: &Indexes, exit: &Exit, - date_to_price_opt: Option<&impl AnyIterableVec>, + price_opt: Option<&impl AnyIterableVec>, ) -> Result<()> { - let date_to_price = date_to_price_opt.unwrap_or_else(|| unsafe { + let closes = price.timeindexes_to_close.dateindex.as_ref().unwrap(); + + let price = price_opt.unwrap_or_else(|| unsafe { std::mem::transmute(&self.price.as_ref().unwrap().dateindex) }); - let closes = price.timeindexes_to_close.dateindex.as_ref().unwrap(); - self.ratio.compute_all( indexer, indexes, starting_indexes, exit, |v, _, _, starting_indexes, exit| { - let mut price = date_to_price.iter(); - v.compute_transform( + v.compute_transform2( starting_indexes.dateindex, closes, - |(i, close, ..)| { - let price = price.unwrap_get_inner(i); + price, + |(i, close, price, ..)| { if price == Dollars::ZERO { (i, StoredF32::from(1.0)) } else { @@ -553,7 +552,7 @@ impl ComputedRatioVecsFromDateIndex { None as Option<&EagerVec<_, _>>, )?; - let date_to_price = date_to_price_opt.unwrap_or_else(|| unsafe { + let date_to_price = price_opt.unwrap_or_else(|| unsafe { std::mem::transmute(&self.price.as_ref().unwrap().dateindex) }); diff --git a/crates/brk_computer/src/lib.rs b/crates/brk_computer/src/lib.rs index d694000d8..1a4da8476 100644 --- a/crates/brk_computer/src/lib.rs +++ b/crates/brk_computer/src/lib.rs @@ -52,6 +52,8 @@ impl Computer { indexer: &Indexer, fetcher: Option, ) -> Result { + info!("Importing computer..."); + let computed_path = outputs_path.join("computed"); let indexes = diff --git a/crates/brk_computer/src/market.rs b/crates/brk_computer/src/market.rs index fde4af2b8..946cb8983 100644 --- a/crates/brk_computer/src/market.rs +++ b/crates/brk_computer/src/market.rs @@ -48,6 +48,21 @@ pub struct Vecs { pub indexes_to_200w_sma: ComputedRatioVecsFromDateIndex, pub indexes_to_4y_sma: ComputedRatioVecsFromDateIndex, + pub indexes_to_1w_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_8d_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_13d_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_21d_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_1m_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_34d_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_55d_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_89d_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_144d_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_200d_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_1y_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_2y_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_200w_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_4y_ema: ComputedRatioVecsFromDateIndex, + pub indexes_to_200d_sma_x2_4: ComputedVecsFromDateIndex, pub indexes_to_200d_sma_x0_8: ComputedVecsFromDateIndex, @@ -350,6 +365,119 @@ impl Vecs { true, )?, + indexes_to_1w_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "1w_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_8d_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "8d_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_13d_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "13d_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_21d_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "21d_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_1m_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "1m_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_34d_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "34d_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_55d_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "55d_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_89d_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "89d_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_144d_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "144d_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_200d_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "200d_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_1y_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "1y_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_2y_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "2y_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_200w_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "200w_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + indexes_to_4y_ema: ComputedRatioVecsFromDateIndex::forced_import( + &db, + "4y_ema", + Source::Compute, + version + VERSION + Version::ZERO, + indexes, + true, + )?, + _1d_returns: ComputedVecsFromDateIndex::forced_import( &db, "1d_returns", @@ -1827,25 +1955,69 @@ impl Vecs { thread::scope(|s| -> Result<()> { [ - (&mut self.indexes_to_1w_sma, 7), - (&mut self.indexes_to_8d_sma, 8), - (&mut self.indexes_to_13d_sma, 13), - (&mut self.indexes_to_21d_sma, 21), - (&mut self.indexes_to_1m_sma, 30), - (&mut self.indexes_to_34d_sma, 34), - (&mut self.indexes_to_55d_sma, 55), - (&mut self.indexes_to_89d_sma, 89), - (&mut self.indexes_to_144d_sma, 144), - (&mut self.indexes_to_200d_sma, 200), - (&mut self.indexes_to_1y_sma, 365), - (&mut self.indexes_to_2y_sma, 2 * 365), - (&mut self.indexes_to_200w_sma, 200 * 7), - (&mut self.indexes_to_4y_sma, 4 * 365), + (&mut self.indexes_to_1w_sma, &mut self.indexes_to_1w_ema, 7), + (&mut self.indexes_to_8d_sma, &mut self.indexes_to_8d_ema, 8), + ( + &mut self.indexes_to_13d_sma, + &mut self.indexes_to_13d_ema, + 13, + ), + ( + &mut self.indexes_to_21d_sma, + &mut self.indexes_to_21d_ema, + 21, + ), + (&mut self.indexes_to_1m_sma, &mut self.indexes_to_1m_ema, 30), + ( + &mut self.indexes_to_34d_sma, + &mut self.indexes_to_34d_ema, + 34, + ), + ( + &mut self.indexes_to_55d_sma, + &mut self.indexes_to_55d_ema, + 55, + ), + ( + &mut self.indexes_to_89d_sma, + &mut self.indexes_to_89d_ema, + 89, + ), + ( + &mut self.indexes_to_144d_sma, + &mut self.indexes_to_144d_ema, + 144, + ), + ( + &mut self.indexes_to_200d_sma, + &mut self.indexes_to_200d_ema, + 200, + ), + ( + &mut self.indexes_to_1y_sma, + &mut self.indexes_to_1y_ema, + 365, + ), + ( + &mut self.indexes_to_2y_sma, + &mut self.indexes_to_2y_ema, + 2 * 365, + ), + ( + &mut self.indexes_to_200w_sma, + &mut self.indexes_to_200w_ema, + 200 * 7, + ), + ( + &mut self.indexes_to_4y_sma, + &mut self.indexes_to_4y_ema, + 4 * 365, + ), ] .into_iter() - .for_each(|(vecs, sma)| { + .for_each(|(sma, ema, days)| { s.spawn(move || -> Result<()> { - vecs.compute_all( + sma.compute_all( indexer, indexes, price, @@ -1855,7 +2027,24 @@ impl Vecs { v.compute_sma( starting_indexes.dateindex, price.timeindexes_to_close.dateindex.as_ref().unwrap(), - sma, + days, + exit, + )?; + Ok(()) + }, + )?; + + ema.compute_all( + indexer, + indexes, + price, + starting_indexes, + exit, + |v, _, _, starting_indexes, exit| { + v.compute_ema( + starting_indexes.dateindex, + price.timeindexes_to_close.dateindex.as_ref().unwrap(), + days, exit, )?; Ok(()) @@ -1935,6 +2124,20 @@ impl Vecs { self.indexes_to_2y_sma.vecs(), self.indexes_to_200w_sma.vecs(), self.indexes_to_4y_sma.vecs(), + self.indexes_to_1w_ema.vecs(), + self.indexes_to_8d_ema.vecs(), + self.indexes_to_13d_ema.vecs(), + self.indexes_to_21d_ema.vecs(), + self.indexes_to_1m_ema.vecs(), + self.indexes_to_34d_ema.vecs(), + self.indexes_to_55d_ema.vecs(), + self.indexes_to_89d_ema.vecs(), + self.indexes_to_144d_ema.vecs(), + self.indexes_to_200d_ema.vecs(), + self.indexes_to_1y_ema.vecs(), + self.indexes_to_2y_ema.vecs(), + self.indexes_to_200w_ema.vecs(), + self.indexes_to_4y_ema.vecs(), self.indexes_to_200d_sma_x0_8.vecs(), self.indexes_to_200d_sma_x2_4.vecs(), self.price_1d_ago.vecs(), diff --git a/crates/brk_computer/src/stateful/common.rs b/crates/brk_computer/src/stateful/common.rs index a6147aeed..f7f27f2eb 100644 --- a/crates/brk_computer/src/stateful/common.rs +++ b/crates/brk_computer/src/stateful/common.rs @@ -50,10 +50,14 @@ pub struct Vecs { pub indexes_to_coinblocks_destroyed: ComputedVecsFromHeight, pub indexes_to_coindays_destroyed: ComputedVecsFromHeight, + pub dateindex_to_spent_output_profit_ratio: Option>, + pub dateindex_to_spent_output_profit_ratio_7d_ema: Option>, pub dateindex_to_adjusted_spent_output_profit_ratio: Option>, + pub dateindex_to_adjusted_spent_output_profit_ratio_7d_ema: + Option>, pub indexes_to_realized_cap_30d_change: Option>, pub dateindex_to_sell_side_risk_ratio: Option>, - pub dateindex_to_spent_output_profit_ratio: Option>, + pub dateindex_to_sell_side_risk_ratio_7d_ema: Option>, pub indexes_to_adjusted_value_created: Option>, pub indexes_to_adjusted_value_destroyed: Option>, pub indexes_to_negative_realized_loss: Option>, @@ -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]), diff --git a/crates/brk_computer/src/stateful/utxo_cohorts.rs b/crates/brk_computer/src/stateful/utxo_cohorts.rs index 71d54ae3d..cebb25865 100644 --- a/crates/brk_computer/src/stateful/utxo_cohorts.rs +++ b/crates/brk_computer/src/stateful/utxo_cohorts.rs @@ -38,7 +38,7 @@ impl Vecs { db, None, format, - version + VERSION + Version::ZERO, + version + VERSION + Version::ONE, indexes, price, None, @@ -1644,7 +1644,13 @@ impl Vecs { let by_size_range = self.0.amount_range.as_vec(); [ - vec![(&mut self.0.all.1, self.0.epoch.vecs().to_vec())], + vec![( + &mut self.0.all.1, + by_date_range + .into_iter() + .map(|(_, v)| v) + .collect::>(), + )], self.0 .min_age .as_mut_vec() diff --git a/crates/brk_indexer/src/lib.rs b/crates/brk_indexer/src/lib.rs index b82897e79..9eeb67aca 100644 --- a/crates/brk_indexer/src/lib.rs +++ b/crates/brk_indexer/src/lib.rs @@ -36,20 +36,20 @@ pub struct Indexer { impl Indexer { pub fn forced_import(outputs_dir: &Path) -> Result { + info!("Importing indexer..."); + let db = Database::open(&outputs_dir.join("indexed/vecs"))?; + db.set_min_len(PAGE_SIZE * 50_000_000)?; + info!("Opened database"); let vecs = Vecs::forced_import(&db, VERSION + Version::ZERO)?; + info!("Imported vecs"); - db.set_min_len(PAGE_SIZE * 50_000_000)?; + let stores = + Stores::forced_import(&outputs_dir.join("indexed/stores"), VERSION + Version::ZERO)?; + info!("Imported stores"); - Ok(Self { - vecs, - stores: Stores::forced_import( - &outputs_dir.join("indexed/stores"), - VERSION + Version::ZERO, - )?, - db, - }) + Ok(Self { vecs, stores, db }) } pub fn index( diff --git a/crates/brk_structs/src/structs/ohlc.rs b/crates/brk_structs/src/structs/ohlc.rs index 671b199e4..15b846674 100644 --- a/crates/brk_structs/src/structs/ohlc.rs +++ b/crates/brk_structs/src/structs/ohlc.rs @@ -1,4 +1,7 @@ -use std::ops::{Add, AddAssign, Div}; +use std::{ + iter::Sum, + ops::{Add, AddAssign, Div}, +}; use derive_deref::{Deref, DerefMut}; use serde::{Serialize, Serializer, ser::SerializeTuple}; @@ -566,6 +569,12 @@ where } } +impl Sum for Close { + fn sum>(iter: I) -> Self { + Self(Dollars::from(iter.map(|v| f64::from(v.0)).sum::())) + } +} + // impl Mul for Close // where // T: Mul, diff --git a/crates/brk_structs/src/structs/sats.rs b/crates/brk_structs/src/structs/sats.rs index 63006bdd2..b9859a2e0 100644 --- a/crates/brk_structs/src/structs/sats.rs +++ b/crates/brk_structs/src/structs/sats.rs @@ -141,7 +141,7 @@ impl Mul for Sats { impl Sum for Sats { fn sum>(iter: I) -> Self { let sats: u64 = iter.map(|sats| sats.0).sum(); - Sats::from(sats) + Self::from(sats) } } diff --git a/crates/brk_structs/src/structs/stored_f32.rs b/crates/brk_structs/src/structs/stored_f32.rs index 1d68e03b8..50e901840 100644 --- a/crates/brk_structs/src/structs/stored_f32.rs +++ b/crates/brk_structs/src/structs/stored_f32.rs @@ -2,6 +2,7 @@ use core::panic; use std::{ cmp::Ordering, f32, + iter::Sum, ops::{Add, AddAssign, Div, Mul, Sub}, }; @@ -178,3 +179,9 @@ impl Printable for StoredF32 { &["f32"] } } + +impl Sum for StoredF32 { + fn sum>(iter: I) -> Self { + Self(iter.map(|v| v.0).sum::()) + } +} diff --git a/websites/default/assets/fonts/Lilex-Italic[wght]-2.601.woff2 b/websites/default/assets/fonts/Lilex-Italic[wght]-2.601.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7864326d333ea7d80dba5cbfa1d1564dbb64448f GIT binary patch literal 94856 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 literal 0 HcmV?d00001 diff --git a/websites/default/assets/fonts/Lilex[wght]-2.601.woff2 b/websites/default/assets/fonts/Lilex[wght]-2.601.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7864326d333ea7d80dba5cbfa1d1564dbb64448f GIT binary patch literal 94856 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 literal 0 HcmV?d00001 diff --git a/websites/default/index.html b/websites/default/index.html index 15ae556e0..86284aca5 100644 --- a/websites/default/index.html +++ b/websites/default/index.html @@ -215,7 +215,7 @@ --light-gray: oklch(90% 0.01 44); --gray: oklch(60% 0.01 44); --dark-gray: oklch(30% 0.01 44); - --black: oklch(17.5% 0.005 44); + --black: oklch(15% 0.005 44); --red: oklch(0.607 0.241 26.328); --orange: oklch(67.64% 0.191 44.41); --amber: oklch(0.7175 0.1835 64.199); @@ -285,6 +285,15 @@ font-style: normal; } + /*@font-face { + font-family: "Lilex"; + src: url("./assets/fonts/Lilex-Italic[wght]-2.601.woff2") + format("woff2"); + font-weight: 100 900; + font-display: block; + font-style: normal; + }*/ + /* * --- */ @@ -438,9 +447,9 @@ h1, h2 { text-transform: uppercase; - font-size: var(--font-size-lg); - line-height: var(--line-height-lg); - font-weight: 375; + font-size: var(--font-size-xl); + line-height: var(--line-height-xl); + font-weight: 325; } h3 { @@ -1117,7 +1126,7 @@ white-space: nowrap; overflow-x: auto; padding-bottom: 1rem; - margin-bottom: -2rem; + margin-bottom: -1.5rem; padding-left: var(--main-padding); margin-left: var(--negative-main-padding); padding-right: var(--main-padding); diff --git a/websites/default/packages/lightweight-charts/wrapper.js b/websites/default/packages/lightweight-charts/wrapper.js index abc28cdcd..1187c9fd7 100644 --- a/websites/default/packages/lightweight-charts/wrapper.js +++ b/websites/default/packages/lightweight-charts/wrapper.js @@ -50,6 +50,8 @@ import { const oklchToRGBA = createOklchToRGBA(); +const lineWidth = /** @type {any} */ (1.5); + /** * @param {Object} args * @param {string} args.id @@ -436,9 +438,9 @@ function createChartElement({ value: v, }; } else { - if (sameTime) { - console.log(data[offsetedI]); - } + // if (sameTime) { + // console.log(data[offsetedI]); + // } let [open, high, low, close] = v; data[offsetedI] = { time, @@ -690,7 +692,7 @@ function createChartElement({ ichart.addSeries( /** @type {SeriesDefinition<'Line'>} */ (LineSeries), { - lineWidth: /** @type {any} */ (1.5), + lineWidth, visible: defaultActive !== false, priceLineVisible: false, color: color(), @@ -744,7 +746,7 @@ function createChartElement({ ichart.addSeries( /** @type {SeriesDefinition<'Baseline'>} */ (BaselineSeries), { - lineWidth: /** @type {any} */ (1.5), + lineWidth, visible: defaultActive !== false, baseValue: { price: options?.baseValue?.price ?? 0, diff --git a/websites/default/scripts/chart.js b/websites/default/scripts/chart.js index 14ae5b51b..3fb99605e 100644 --- a/websites/default/scripts/chart.js +++ b/websites/default/scripts/chart.js @@ -500,6 +500,7 @@ function createIndexSelector({ option, vecIdToIndexes, signals, utils }) { const rawIndexes = new Set( [Object.values(o.top), Object.values(o.bottom)] .flat(2) + .filter((blueprint) => !blueprint.key.startsWith("constant_")) .map((blueprint) => vecIdToIndexes[blueprint.key]) .flat(), ); diff --git a/websites/default/scripts/main.js b/websites/default/scripts/main.js index c63b21c97..11a77c1f0 100644 --- a/websites/default/scripts/main.js +++ b/websites/default/scripts/main.js @@ -28,7 +28,7 @@ * "percentage" | * "Ratio" | * "Sats" | - * "Seconds" | + * "secs" | * "Timestamp" | * "tx" | * "Type" | @@ -727,7 +727,7 @@ function createUtils() { id.endsWith("stack") || (id.endsWith("value") && !id.includes("realized")) || ((id.includes("coinbase") || - id.includes("fee") || + (id.includes("fee") && !id.includes("feerate")) || id.includes("subsidy") || id.includes("rewards")) && !( @@ -762,7 +762,7 @@ function createUtils() { ((id.includes("realized") || id.includes("true_market_mean")) && !id.includes("ratio") && !id.includes("relative_to")) || - ((id.endsWith("sma") || id.includes("sma_x")) && + ((id.endsWith("sma") || id.includes("sma_x") || id.endsWith("ema")) && !id.includes("ratio")) || id === "ath") ) { @@ -777,7 +777,9 @@ function createUtils() { ((!unit || thoroughUnitCheck) && (id.endsWith("ratio") || (id.includes("ratio") && - (id.endsWith("sma") || id.endsWith("zscore"))) || + (id.endsWith("sma") || + id.endsWith("ema") || + id.endsWith("zscore"))) || id.endsWith("_5sd") || id.endsWith("1sd") || id.endsWith("2sd") || @@ -806,11 +808,15 @@ function createUtils() { (id.endsWith("count") || id.includes("_count_") || id.startsWith("block_count") || - id.includes("tx_v")) + (id.includes("tx_v") && !id.includes("vsize"))) ) { if (unit) throw Error(`Unit "${unit}" already assigned "${id}"`); unit = "Count"; } + if ((!unit || thoroughUnitCheck) && id.includes("feerate")) { + if (unit) throw Error(`Unit "${unit}" already assigned "${id}"`); + unit = "sat/vB"; + } if ((!unit || thoroughUnitCheck) && id.startsWith("is_")) { if (unit) throw Error(`Unit "${unit}" already assigned "${id}"`); unit = "Bool"; @@ -824,7 +830,7 @@ function createUtils() { (id === "interval" || id.startsWith("block_interval")) ) { if (unit) throw Error(`Unit "${unit}" already assigned "${id}"`); - unit = "Seconds"; + unit = "secs"; } if ((!unit || thoroughUnitCheck) && id.endsWith("returns")) { if (unit) throw Error(`Unit "${unit}" already assigned "${id}"`); @@ -864,10 +870,7 @@ function createUtils() { } if ( (!unit || thoroughUnitCheck) && - (id.endsWith("vsize") || - id.endsWith("vbytes") || - id.endsWith("_vbytes_sum") || - id.endsWith("_vbytes_cumulative")) + (id.includes("vsize") || id.includes("vbytes")) ) { if (unit) throw Error(`Unit "${unit}" already assigned "${id}"`); unit = "vB"; @@ -2402,9 +2405,7 @@ function main() { return treeElement; }); - if (localhost) { - setTimeout(scrollToSelected, 10); - } + setTimeout(scrollToSelected, 10); }); } initFolders(); diff --git a/websites/default/scripts/options.js b/websites/default/scripts/options.js index 0d00c1d8c..a0a0f6cc8 100644 --- a/websites/default/scripts/options.js +++ b/websites/default/scripts/options.js @@ -908,7 +908,7 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { }, { key: "above_100k_btc", - name: "100K btc+", + name: "100K+ btc", title: "Above 100K BTC", color: colors.yellow, }, @@ -1066,13 +1066,14 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { /** * @param {Object} args * @param {number} [args.number] + * @param {string} [args.name] * @param {boolean} [args.defaultActive] * @param {Unit} args.unit */ - function createPriceLine({ number = 0, unit, defaultActive }) { + function createPriceLine({ number = 0, unit, defaultActive, name }) { return /** @satisfies {FetchedLineSeriesBlueprint} */ ({ key: `constant_${number >= 0 ? number : `minus_${Math.abs(number)}`}`, - title: `${number}`, + title: name ?? `${number}`, unit, defaultActive, color: colors.gray, @@ -1138,80 +1139,117 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { /** * @param {Object} args * @param {VecIdAverageBase} args.concat + * @param {string} [args.title] */ - function createAverageSeries({ concat }) { + function createAverageSeries({ concat, title = "" }) { return /** @satisfies {AnyFetchedSeriesBlueprint} */ ({ key: `${concat}_average`, - title: "Average", + title: `Average ${title}`, }); } /** * @param {Object} args * @param {CumulativeVecIdBase} args.concat - * @param {string} [args.name] + * @param {Color} [args.sumColor] + * @param {Color} [args.cumulativeColor] + * @param {string} [args.common] */ - function createSumCumulativeSeries({ concat, name }) { + function createSumCumulativeSeries({ + concat, + common, + sumColor, + cumulativeColor, + }) { return /** @satisfies {AnyFetchedSeriesBlueprint[]} */ ([ - { + createSumSeries({ key: concat, - title: name ? `${name} Sum` : "Sum", - color: colors.orange, - }, - { - key: `${concat}_cumulative`, - title: name ? `Cumulative ${name}` : "Cumulative", - color: colors.red, - defaultActive: false, - }, + title: common, + color: sumColor, + }), + createCumulativeSeries({ + concat, + title: common, + color: cumulativeColor, + }), ]); } /** * @param {Object} args - * @param {VecIdMinBase & VecIdMaxBase & VecId90pBase & VecId75pBase & VecIdMedianBase & VecId25pBase & VecId10pBase} args.concat + * @param {CumulativeVecIdBase} args.key + * @param {string} [args.title] + * @param {Color} [args.color] */ - function createMinMaxPercentilesSeries({ concat }) { + function createSumSeries({ key, title = "", color }) { + return /** @satisfies {AnyFetchedSeriesBlueprint} */ ({ + key, + title: `Sum ${title}`, + color: color ?? colors.orange, + }); + } + + /** + * @param {Object} args + * @param {CumulativeVecIdBase} args.concat + * @param {string} [args.title] + * @param {Color} [args.color] + */ + function createCumulativeSeries({ concat, title = "", color }) { + return /** @satisfies {AnyFetchedSeriesBlueprint} */ ({ + key: `${concat}_cumulative`, + title: `Cumulative ${title}`, + color: color ?? colors.red, + defaultActive: false, + }); + } + + /** + * @param {Object} args + * @param {VecIdMinBase & VecIdMaxBase & VecId90pBase & VecId75pBase & VecIdMedianBase & VecId25pBase & VecId10pBase} args.concat + * @param {string} [args.title] + */ + function createMinMaxPercentilesSeries({ concat, title = "" }) { return /** @satisfies {AnyFetchedSeriesBlueprint[]} */ ([ { key: `${concat}_max`, - title: "Max", + title: `Max ${title}`, color: colors.pink, defaultActive: false, }, { key: `${concat}_min`, - title: "Min", + title: `Min ${title}`, color: colors.green, defaultActive: false, }, { key: `${concat}_median`, - title: "Median", + title: `Median ${title}`, color: colors.amber, defaultActive: false, }, { key: `${concat}_75p`, - title: "75p", + title: `75p ${title}`, color: colors.red, defaultActive: false, }, { key: `${concat}_25p`, - title: "25p", + title: `25p ${title}`, color: colors.yellow, defaultActive: false, }, { key: `${concat}_90p`, - title: "90p", + title: `90p ${title}`, color: colors.rose, defaultActive: false, }, { key: `${concat}_10p`, - title: "10p", + title: `10p ${title}`, color: colors.lime, defaultActive: false, }, @@ -1280,6 +1318,66 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { * @param {Color} [args.color] */ function createPriceWithRatioOptions({ name, title, legend, key, color }) { + const percentiles = [ + { + name: "p1", + color: colors.indigo, + }, + { + name: "p2", + color: colors.violet, + }, + { + name: "p5", + color: colors.purple, + }, + { + name: "p95", + color: colors.amber, + }, + { + name: "p98", + color: colors.orange, + }, + { + name: "p99", + color: colors.red, + }, + ]; + + const ratioAverages = /** @type {const} */ ([ + { + name: "1w sma", + key: "1w_sma", + color: colors.lime, + }, + { + name: "1m sma", + key: "1m_sma", + color: colors.teal, + }, + { + name: "1y sma", + key: "1y_sma", + color: colors.sky, + }, + { + name: "2y sma", + key: "2y_sma", + color: colors.indigo, + }, + { + name: "4y sma", + key: "4y_sma", + color: colors.purple, + }, + { + name: "all sma", + key: "sma", + color: colors.rose, + }, + ]); + return [ { name: "price", @@ -1302,44 +1400,17 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { color, }), ...(`${key}_ratio_p1sd_as_price` in vecIdToIndexes - ? [ + ? percentiles.map(({ name, color }) => createBaseSeries({ - key: `${key}_ratio_p1_as_price`, - name: "p1", - color: colors.indigo, + key: `${key}_ratio_${name}_as_price`, + name, + color, defaultActive: false, + options: { + lineStyle: 1, + }, }), - createBaseSeries({ - key: `${key}_ratio_p2_as_price`, - name: "p2", - color: colors.violet, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_p5_as_price`, - name: "p5", - color: colors.purple, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_p95_as_price`, - name: "p95", - color: colors.amber, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_p98_as_price`, - name: "p98", - color: colors.orange, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_p99_as_price`, - name: "p99", - color: colors.red, - defaultActive: false, - }), - ] + ) : []), ], bottom: [ @@ -1352,80 +1423,30 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { }, }), ...(`${key}_ratio_p1sd` in vecIdToIndexes - ? [ + ? percentiles.map(({ name, color }) => createBaseSeries({ - key: `${key}_ratio_p1`, - name: "p1", - color: colors.indigo, + key: `${key}_ratio_${name}`, + name, + color, defaultActive: false, + options: { + lineStyle: 1, + }, }), + ) + : []), + ...(`${key}_ratio_sma` in vecIdToIndexes + ? ratioAverages.map(({ name, key: keyAddon, color }) => createBaseSeries({ - key: `${key}_ratio_p2`, - name: "p2", - color: colors.violet, + key: `${key}_ratio_${keyAddon}`, + name, + color, defaultActive: false, + options: { + lineStyle: 1, + }, }), - createBaseSeries({ - key: `${key}_ratio_p5`, - name: "p5", - color: colors.purple, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_p95`, - name: "p95", - color: colors.amber, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_p98`, - name: "p98", - color: colors.orange, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_p99`, - name: "p99", - color: colors.red, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_1w_sma`, - name: "1w sma", - color: colors.rose, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_1m_sma`, - name: "1m sma", - color: colors.pink, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_1y_sma`, - name: "1y sma", - color: colors.fuchsia, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_2y_sma`, - name: "2y sma", - color: colors.purple, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_4y_sma`, - name: "4y sma", - color: colors.violet, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_sma`, - name: "sma", - color: colors.indigo, - defaultActive: false, - }), - ] + ) : []), createPriceLine({ number: 1, @@ -1532,89 +1553,84 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { name: legend, color, }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}0sd_as_price`, - name: "0σ", - color: colors.lime, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}p0_5sd_as_price`, - name: "+0.5σ", - color: colors.yellow, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}p1sd_as_price`, - name: "+1σ", - color: colors.amber, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}p1_5sd_as_price`, - name: "+1.5σ", - color: colors.orange, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}p2sd_as_price`, - name: "+2σ", - color: colors.red, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}p2_5sd_as_price`, - name: "+2.5σ", - color: colors.rose, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}p3sd_as_price`, - name: "+3σ", - color: colors.pink, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}m0_5sd_as_price`, - name: "−0.5σ", - color: colors.teal, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}m1sd_as_price`, - name: "−1σ", - color: colors.cyan, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}m1_5sd_as_price`, - name: "−1.5σ", - color: colors.sky, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}m2sd_as_price`, - name: "−2σ", - color: colors.blue, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}m2_5sd_as_price`, - name: "−2.5σ", - color: colors.indigo, - defaultActive: false, - }), - createBaseSeries({ - key: `${key}_ratio_${keyAddon}m3sd_as_price`, - name: "−3σ", - color: colors.violet, - defaultActive: false, - }), + ...[ + { sdKey: "0sd", name: "0σ", color: colors.lime }, + { + sdKey: `p0_5sd`, + name: "+0.5σ", + color: colors.yellow, + }, + { + sdKey: `p1sd`, + name: "+1σ", + color: colors.amber, + }, + { + sdKey: `p1_5sd`, + name: "+1.5σ", + color: colors.orange, + }, + { + sdKey: `p2sd`, + name: "+2σ", + color: colors.red, + }, + { + sdKey: `p2_5sd`, + name: "+2.5σ", + color: colors.rose, + }, + { + sdKey: `p3sd`, + name: "+3σ", + color: colors.pink, + }, + { + sdKey: `m0_5sd`, + name: "−0.5σ", + color: colors.teal, + }, + { + sdKey: `m1sd`, + name: "−1σ", + color: colors.cyan, + }, + { + sdKey: `m1_5sd`, + name: "−1.5σ", + color: colors.sky, + }, + { + sdKey: `m2sd`, + name: "−2σ", + color: colors.blue, + }, + { + sdKey: `m2_5sd`, + name: "−2.5σ", + color: colors.indigo, + }, + { + sdKey: `m3sd`, + name: "−3σ", + color: colors.violet, + }, + ].map(({ sdKey, name, color }) => + createBaseSeries({ + key: `${key}_ratio_${keyAddon}${sdKey}_as_price`, + name, + color, + defaultActive: false, + options: { + lineStyle: 1, + }, + }), + ), ], bottom: [ /** @satisfies {FetchedBaselineSeriesBlueprint} */ ({ key: `${key}_ratio_${keyAddon}zscore`, - title: "All time", + title: "score", type: "Baseline", }), ...createPriceLines({ @@ -2256,7 +2272,19 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { /** @satisfies {FetchedBaselineSeriesBlueprint} */ ({ type: "Baseline", key: soprKey, - title: "sopr", + title: "normal", + options: { + baseValue: { + price: 1, + }, + }, + }), + /** @satisfies {FetchedBaselineSeriesBlueprint} */ ({ + type: "Baseline", + key: `${soprKey}_7d_ema`, + title: "7d ema", + colors: [colors.lime, colors.rose], + defaultActive: false, options: { baseValue: { price: 1, @@ -2268,8 +2296,21 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { /** @satisfies {FetchedBaselineSeriesBlueprint} */ ({ type: "Baseline", key: asoprKey, - title: "asopr", - colors: [colors.yellow, colors.pink], + title: "adjusted", + colors: [colors.avocado, colors.pink], + defaultActive: false, + options: { + baseValue: { + price: 1, + }, + }, + }), + /** @satisfies {FetchedBaselineSeriesBlueprint} */ ({ + type: "Baseline", + key: `${asoprKey}_7d_ema`, + title: "adj. 7d ema", + colors: [colors.yellow, colors.fuchsia], + defaultActive: false, options: { baseValue: { price: 1, @@ -2519,16 +2560,31 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { ], }, ]), + { name: "Sell Side Risk Ratio", title: `Sell Side Risk Ratio ${title}`, - bottom: list.flatMap(({ color, name, key }) => - createBaseSeries({ - key: `${fixKey(key)}sell_side_risk_ratio`, - name: useGroupName ? name : "Risk", - color: color, - }), - ), + bottom: !("list" in args) + ? list.flatMap(({ key }) => [ + createBaseSeries({ + key: `${fixKey(key)}sell_side_risk_ratio`, + name: "raw", + color: colors.orange, + }), + createBaseSeries({ + key: `${fixKey(key)}sell_side_risk_ratio_7d_ema`, + name: "7d ema", + color: colors.red, + defaultActive: false, + }), + ]) + : list.flatMap(({ color, name, key }) => [ + createBaseSeries({ + key: `${fixKey(key)}sell_side_risk_ratio`, + name, + color: color, + }), + ]), }, ], }, @@ -2627,11 +2683,11 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { ...("list" in args ? [ { - name: "Price paid", + name: "Cost Basis", tree: [ { name: "Average", - title: `Average Price Paid ${title}`, + title: `Average Cost Basis ${title}`, top: list.flatMap(({ color, name, key: _key }) => { const key = fixKey(_key); return /** @type {const} */ ([ @@ -2645,7 +2701,7 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { }, { name: "Min", - title: `Min Price Paid ${title}`, + title: `Min Cost Basis ${title}`, top: list.flatMap(({ color, name, key: _key }) => { const key = fixKey(_key); return /** @type {const} */ ([ @@ -2659,7 +2715,7 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { }, { name: "Max", - title: `Max Price Paid ${title}`, + title: `Max Cost Basis ${title}`, top: list.flatMap(({ color, name, key: _key }) => { const key = fixKey(_key); return /** @type {const} */ ([ @@ -2676,8 +2732,8 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { ] : [ { - name: "Price paid", - title: `Prices Paid ${title}`, + name: "Cost Basis", + title: `Costs Basis ${title}`, top: [ createBaseSeries({ key: `${fixKey(args.key)}realized_price`, @@ -2799,30 +2855,42 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { ], }, { - name: "Average", + name: "Averages", tree: [ { - name: "Compare", - title: "Market Price Moving Averages", - top: averages.map(({ days, key, name, color }) => - createBaseSeries({ - key: `${key}_sma`, - name: key, + nameAddon: "Simple", + keyAddon: "sma", + }, + { + nameAddon: "Exponential", + keyAddon: "ema", + }, + ].map(({ nameAddon, keyAddon }) => ({ + name: nameAddon, + tree: [ + { + name: "Compare", + title: `Market Price ${nameAddon} Moving Averages`, + top: averages.map(({ days, key, name, color }) => + createBaseSeries({ + key: `${key}_${keyAddon}`, + name: key, + color, + }), + ), + }, + ...averages.map(({ key, name, color }) => ({ + name, + tree: createPriceWithRatioOptions({ + key: `${key}_${keyAddon}`, + name, + title: `${name} Market Price ${nameAddon} Moving Average`, + legend: "average", color, }), - ), - }, - ...averages.map(({ key, name, color }) => ({ - name, - tree: createPriceWithRatioOptions({ - key: `${key}_sma`, - name, - title: `${name} Market Price Moving Average`, - legend: "average", - color, - }), - })), - ], + })), + ], + })), }, { name: "Performance", @@ -3107,17 +3175,14 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { name: "Unclaimed Rewards", title: "Unclaimed Rewards", bottom: [ - ...createBaseSumCumulativeSeries({ - key: "unclaimed_rewards", - name: "unclaimed", + ...createSumCumulativeSeries({ + concat: "unclaimed_rewards", }), - ...createBaseSumCumulativeSeries({ - key: "unclaimed_rewards_in_btc", - name: "unclaimed", + ...createSumCumulativeSeries({ + concat: "unclaimed_rewards_in_btc", }), - ...createBaseSumCumulativeSeries({ - key: "unclaimed_rewards_in_usd", - name: "unclaimed", + ...createSumCumulativeSeries({ + concat: "unclaimed_rewards_in_usd", }), ], }, @@ -3170,11 +3235,14 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { name: "Count", title: "Block Count", bottom: [ - createBaseSeries({ - key: "block_count", - name: "Count", + ...createSumCumulativeSeries({ + concat: "block_count", + }), + createPriceLine({ + unit: "Count", + name: "Target", + number: 144, }), - ...createSumCumulativeSeries({ concat: "block_count" }), ], }, { @@ -3189,6 +3257,11 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { ...createMinMaxPercentilesSeries({ concat: "block_interval", }), + createPriceLine({ + unit: "secs", + name: "Target", + number: 600, + }), ], }, { @@ -3199,29 +3272,31 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { key: "total_size", name: "Size", }), - ...createSumCumulativeSeries({ concat: "block_size" }), + ...createSumCumulativeSeries({ + concat: "block_size", + }), ], }, { - name: "Weight", - title: "Block Weight", + name: "Bytes", + title: "Block Bytes", bottom: [ createBaseSeries({ key: "weight", name: "Weight", }), - ...createSumCumulativeSeries({ concat: "block_weight" }), - ], - }, - { - name: "Vbytes", - title: "Block Virtual Bytes", - bottom: [ + ...createSumCumulativeSeries({ + concat: "block_weight", + common: "weight", + }), createBaseSeries({ key: "vbytes", name: "Vbytes", }), - ...createSumCumulativeSeries({ concat: "block_vbytes" }), + ...createSumCumulativeSeries({ + concat: "block_vbytes", + common: "Vbytes", + }), ], }, ], @@ -3238,22 +3313,18 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { }), }, { - name: "Weight", - title: "Transaction Weight", + name: "Bytes", + title: "Transaction Bytes", bottom: [ - createAverageSeries({ concat: "tx_weight" }), + createAverageSeries({ concat: "tx_weight", title: "Weight" }), ...createMinMaxPercentilesSeries({ concat: "tx_weight", + title: "Weight", }), - ], - }, - { - name: "vsize", - title: "Transaction Virtual Size", - bottom: [ - createAverageSeries({ concat: "tx_vsize" }), + createAverageSeries({ concat: "tx_vsize", title: "VSize" }), ...createMinMaxPercentilesSeries({ concat: "tx_vsize", + title: "VSize", }), ], }, @@ -3261,22 +3332,17 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { name: "Versions", title: "Transaction Versions", bottom: [ - createBaseSeries({ - key: "tx_v1", - name: "v1 Count", + [colors.orange, colors.red], + [colors.cyan, colors.blue], + [colors.lime, colors.green], + ].flatMap(([sumColor, cumulativeColor], index) => + createSumCumulativeSeries({ + concat: `tx_v${index + 1}`, + common: `v${index + 1}`, + sumColor, + cumulativeColor, }), - ...createSumCumulativeSeries({ concat: "tx_v1", name: "v1" }), - createBaseSeries({ - key: "tx_v2", - name: "v2 Count", - }), - ...createSumCumulativeSeries({ concat: "tx_v2", name: "v2" }), - createBaseSeries({ - key: "tx_v3", - name: "v3 Count", - }), - ...createSumCumulativeSeries({ concat: "tx_v3", name: "v3" }), - ], + ), }, ], }, @@ -3288,7 +3354,9 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { title: "Transaction Input Count", bottom: [ createAverageSeries({ concat: "input_count" }), - ...createSumCumulativeSeries({ concat: "input_count" }), + createCumulativeSeries({ + concat: "input_count", + }), ...createMinMaxPercentilesSeries({ concat: "input_count", }), @@ -3312,7 +3380,9 @@ function createPartialOptions({ env, colors, vecIdToIndexes }) { title: "Transaction Output Count", bottom: [ createAverageSeries({ concat: "output_count" }), - ...createSumCumulativeSeries({ concat: "output_count" }), + createCumulativeSeries({ + concat: "input_count", + }), ...createMinMaxPercentilesSeries({ concat: "output_count", }), diff --git a/websites/default/scripts/simulation.js b/websites/default/scripts/simulation.js index 4f6864f27..2a1f915da 100644 --- a/websites/default/scripts/simulation.js +++ b/websites/default/scripts/simulation.js @@ -770,7 +770,7 @@ export function init({ data: bitcoinPriceData, }, { - title: "Average Price Paid", + title: "Average Cost Basis", type: "Line", color: colors.lime, data: averagePricePaidData,