Token | Prediction Date | Decision | Model On |
---|---|---|---|
BNB | 2024-12-21 | buy | TRUE |
NEAR | 2024-12-21 | buy | TRUE |
TON | 2024-12-21 | buy | TRUE |
Jake’s Portfolio Daily Report - V3
What to do Today
Today’s Buys
- A buy decision means the token price is predicted to rise by 10% or more in the next 30 days
Today’s Sells
Token | Prediction Date | Decision | Model On |
---|---|---|---|
ADA | 2024-12-21 | sell | TRUE |
AVAX | 2024-12-21 | sell | TRUE |
BCH | 2024-12-21 | sell | TRUE |
BTC | 2024-12-21 | sell | TRUE |
CRO | 2024-12-21 | sell | TRUE |
DOGE | 2024-12-21 | sell | TRUE |
DOT | 2024-12-21 | sell | TRUE |
ETC | 2024-12-21 | sell | TRUE |
ETH | 2024-12-21 | sell | TRUE |
ICP | 2024-12-21 | sell | TRUE |
LINK | 2024-12-21 | sell | TRUE |
LTC | 2024-12-21 | sell | TRUE |
PEPE | 2024-12-21 | sell | TRUE |
SHIB | 2024-12-21 | sell | TRUE |
SOL | 2024-12-21 | sell | TRUE |
UNI | 2024-12-21 | sell | TRUE |
XRP | 2024-12-21 | sell | TRUE |
- A sell decision means the token price is predicted to decline by 10% or more in the next 30 days
Today’s Holds
Token | Prediction Date | Decision | model_on_buy | model_on_sell |
---|---|---|---|---|
- A hold decision means the token is predicted to stay within 10% of the current price in the next 30 days
Portfolio Performance
Current Portfolio Summary
invested | available | buys | sells |
---|---|---|---|
$1,719.12 | $1,227.31 | 631 | 187 |
token | bought_amount | sold_amount | bought_dollars | reinv_dollars | sold_dollars | price | own_amount | dollars_diff | own_value | plus_minus | perc_diff |
---|---|---|---|---|---|---|---|---|---|---|---|
ADA | 106.5200000 | 106.5200000 | 5.048662 | 32.451276 | 42.19044 | 0.9506151 | 0.0000000 | 37.1417796 | 0.0000000 | 37.1417796 | 7.3567570 |
AVAX | 4.8901000 | 5.3229000 | 36.897880 | 75.569579 | 147.68944 | 39.7816680 | -0.4328000 | 110.7915575 | -17.2175059 | 93.5740516 | 2.5360279 |
BCH | 0.5369127 | 0.2752108 | 88.271413 | 113.059447 | 95.37186 | 449.0209012 | 0.2617019 | 7.1004450 | 117.5096320 | 124.6100770 | 1.4116697 |
BNB | 0.0671300 | 0.0669900 | 27.500000 | 10.000000 | 39.84000 | 677.8485768 | 0.0001400 | 12.3400001 | 0.0948988 | 12.4348989 | 0.4521781 |
BTC | 0.0119764 | 0.0121402 | 197.409061 | 545.053616 | 775.84444 | 97691.4343169 | -0.0001637 | 578.4353762 | -15.9940416 | 562.4413346 | 2.8491161 |
CRO | 1063.1000000 | 1063.1000000 | 89.475299 | 9.025132 | 90.04075 | 0.1634985 | 0.0000000 | 0.5654529 | 0.0000000 | 0.5654529 | 0.0063197 |
DOGE | 719.2900000 | 732.9900000 | 61.844461 | 21.635342 | 89.27405 | 0.3174023 | -13.7000000 | 27.4295894 | -4.3484116 | 23.0811778 | 0.3732133 |
DOT | 29.3700000 | 29.3700000 | 82.558994 | 49.941108 | 133.94995 | 7.2935419 | 0.0000000 | 51.3909567 | 0.0000000 | 51.3909567 | 0.6224756 |
ETC | 8.3752910 | 8.3752910 | 30.003739 | 137.987977 | 155.44540 | 27.4076637 | 0.0000000 | 125.4416620 | 0.0000000 | 125.4416620 | 4.1808677 |
ETH | 0.0079860 | 0.0079860 | 12.492566 | 7.499574 | 20.27182 | 3468.6589201 | 0.0000000 | 7.7792576 | 0.0000000 | 7.7792576 | 0.6227109 |
ICP | 10.7470000 | 10.7470000 | 67.593360 | 19.906642 | 97.75999 | 10.5324181 | 0.0000000 | 30.1666276 | 0.0000000 | 30.1666276 | 0.4462957 |
LINK | 12.1471000 | 12.1471000 | 135.978862 | 17.502696 | 151.32457 | 23.3428381 | 0.0000000 | 15.3457110 | 0.0000000 | 15.3457110 | 0.1128537 |
LTC | 1.9636289 | 1.9636289 | 30.002412 | 101.545158 | 145.57053 | 101.3270791 | 0.0000000 | 115.5681219 | 0.0000000 | 115.5681219 | 3.8519611 |
NEAR | 68.3000000 | 68.3000000 | 278.970031 | 38.120016 | 368.08993 | 5.3461098 | 0.0000000 | 89.1199027 | 0.0000000 | 89.1199027 | 0.3194605 |
PEPE | 29366000.0000000 | 29366000.0000000 | 194.518462 | 73.945821 | 294.71571 | 0.0000177 | 0.0000000 | 100.1972482 | 0.0000000 | 100.1972482 | 0.5151041 |
SHIB | 17756093.0000000 | 17972446.0000000 | 58.000103 | 279.384701 | 312.08620 | 0.0000225 | -216353.0000000 | 254.0861003 | -4.8712739 | 249.2148265 | 4.2967997 |
SOL | 0.7738000 | 0.7738000 | 92.778506 | 15.076757 | 113.19272 | 194.1219845 | 0.0000000 | 20.4142135 | -0.0000002 | 20.4142133 | 0.2200317 |
TON | 102.1410000 | 16.6440000 | 139.910814 | 474.440058 | 98.25586 | 5.4440633 | 85.4970000 | -41.6549577 | 465.4510802 | 423.7961225 | 3.0290448 |
UNI | 14.0573000 | 14.0573000 | 57.498313 | 47.502013 | 91.84991 | 13.6944462 | 0.0000000 | 34.3516018 | 0.0000000 | 34.3516018 | 0.5974367 |
XRP | 64.6800000 | 64.4800000 | 32.367103 | 5.132921 | 39.32829 | 2.2739969 | 0.2000000 | 6.9611837 | 0.4547994 | 7.4159831 | 0.2291210 |
<- invested_dat %>%
plot_dat right_join(tibble(date = seq(as_date(min(invested_dat$date)),
Sys.Date(),
by = "days")),
by = "date") %>%
group_by(date) %>%
summarise(invested = sum(ind_invest),
invested = ifelse(is.na(invested), 0, invested),
reinvested = sum(reinvested),
reinvested = ifelse(is.na(reinvested), 0, reinvested),
returned = sum(total_paid[action == "sell"], na.rm = TRUE),
returned = ifelse(is.na(returned), 0, returned),
cash_available = min(total_available, na.rm = TRUE)) %>%
mutate(cash_available = ifelse(is.infinite(cash_available),
NA,
%>%
cash_available)) fill(cash_available, .direction = "down") %>%
mutate(total_invested = cumsum(invested)) %>%
left_join(
%>%
all_dat inner_join(
%>%
invested_dat group_by(date, token) %>%
summarise(amount_owned = ifelse(action == "buy", amount, amount * -1)) %>%
ungroup() %>%
group_by(token) %>%
arrange(date) %>%
mutate(total_owned = cumsum(amount_owned)) %>%
right_join(tibble(date = rep(seq(as_date(min(invested_dat$date)),
Sys.Date(),
by = "days"),
length(unique(invested_dat$token))),
token = rep(unique(invested_dat$token),
each = length(seq(as_date(min(invested_dat$date)),
Sys.Date(),
by = "days")))),
by = c("date", "token")),
by = c("token", "date")) %>%
select(token, date, price, total_owned) %>%
mutate(total_owned = ifelse(total_owned < 0, 0, total_owned),
value = price * total_owned) %>%
arrange(token, date) %>%
group_by(token) %>%
fill(total_owned, .direction = "down") %>%
filter(!is.na(total_owned)) %>%
mutate(value = price * total_owned) %>%
ungroup() %>%
group_by(date) %>%
summarise(port_value = sum(value)),
by = "date"
%>%
) mutate(cash_available = ifelse(is.infinite(cash_available), 0, cash_available)) %>%
fill(cash_available, .direction = "down") %>%
mutate(total_value = cash_available + port_value,
up_down = (total_value - total_invested) / total_invested)
Warning: There were 100 warnings in `summarise()`.
The first warning was:
ℹ In argument: `cash_available = min(total_available, na.rm = TRUE)`.
ℹ In group 4: `date = 2024-06-03`.
Caused by warning in `min()`:
! no non-missing arguments to min; returning Inf
ℹ Run `dplyr::last_dplyr_warnings()` to see the 99 remaining warnings.
Warning: Returning more (or less) than 1 row per `summarise()` group was deprecated in
dplyr 1.1.0.
ℹ Please use `reframe()` instead.
ℹ When switching from `summarise()` to `reframe()`, remember that `reframe()`
always returns an ungrouped data frame and adjust accordingly.
`summarise()` has grouped output by 'date', 'token'. You can override using the
`.groups` argument.
%>%
plot_dat left_join(btc %>% select(date, btc_up_down), by = "date") %>%
left_join(eth %>% select(date, eth_up_down), by = "date") %>%
# left_join(spy %>% select(Date, spy_up_down), by = c("date" = "Date")) %>%
# left_join(qqq %>% select(Date, qqq_up_down), by = c("date" = "Date")) %>%
# fill(spy_up_down, .direction = "down") %>%
# fill(qqq_up_down, .direction = "down") %>%
select(date,
up_down,
btc_up_down,
eth_up_down, # spy_up_down,
# qqq_up_down
%>%
)pivot_longer(!date, names_to = "names", values_to = "values") %>%
mutate(names = case_when(names == "up_down" ~ "RLE Analytics",
== "btc_up_down" ~ "BTC",
names == "eth_up_down" ~ "ETH",
names == "spy_up_down" ~ "SPY",
names == "qqq_up_down" ~ "QQQ"),
names names = factor(names, levels = c("RLE Analytics",
"BTC",
"ETH",
"SPY",
"QQQ"))) %>%
ggplot(aes(x = date, y = values, group = names, color = names)) +
geom_line() +
scale_y_continuous(labels = percent_format()) +
ggtitle("Portfolio Performance") +
geom_vline(aes(xintercept = min(tracker$date[tracker$algo_version == "v1"]))) +
geom_text(aes(x = min(tracker$date[tracker$algo_version == "v1"]) + days(2),
y = 0,
label = "v1")) +
geom_vline(aes(xintercept = min(tracker$date[tracker$algo_version == "v2"]))) +
geom_text(aes(x = min(tracker$date[tracker$algo_version == "v2"]) + days(2),
y = 0,
label = "v2")) +
geom_vline(aes(xintercept = min(tracker$date[tracker$algo_version == "v3"]))) +
geom_text(aes(x = min(tracker$date[tracker$algo_version == "v3"]) + days(2),
y = 0,
label = "v3")) +
geom_vline(aes(xintercept = min(tracker$date[tracker$algo_version == "v4"]))) +
geom_text(aes(x = min(tracker$date[tracker$algo_version == "v4"]) + days(2),
y = 0,
label = "v4")) +
theme(panel.background = element_blank(),
panel.grid.major = element_line(color = "light gray"),
axis.ticks = element_blank(),
axis.title = element_blank(),
plot.background = element_rect(fill = NA, color = "black"),
legend.position = "top",
legend.key = element_blank(),
legend.title = element_blank())
%>%
plot_dat filter(date >= "2024-09-01")
# A tibble: 112 × 9
date invested reinvested returned cash_available total_invested
<date> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2024-09-01 26.8 3.16 1.52 0 1193.
2 2024-09-02 18.5 1.52 7.59 0 1212.
3 2024-09-03 12.4 7.59 26.7 0 1224.
4 2024-09-04 0 9.85 28.2 16.8 1224.
5 2024-09-05 0 10.0 26.6 35.0 1224.
6 2024-09-06 0 15.0 24.1 46.6 1224.
7 2024-09-07 0 0 0 46.6 1224.
8 2024-09-08 0 0 0 46.6 1224.
9 2024-09-09 0 5.00 25.7 65.6 1224.
10 2024-09-10 0 5.00 49.6 86.3 1224.
# ℹ 102 more rows
# ℹ 3 more variables: port_value <dbl>, total_value <dbl>, up_down <dbl>