Regime
Ce que fait ce MCP
Backtests cryptocurrency trading claims and strategies, including leverage, drawdowns, stop-losses, averaging, diversification, seasonality, and copy trading.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['coin', 'days', 'instalments'], 'properties': {'coin': {'type': 'string', 'description': 'Ticker or full pair. An unknown one comes back with the list we hold and the ones left out.'}, 'days': {'type': 'number', 'description': 'The window, in days: 90, 365 or 730.'}, 'instalments': {'type': 'string', 'description': 'How often a slice goes in: weekly or monthly. Defaults to weekly.'}}, 'description': 'The coin and the window you want compared.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'model': {'type': 'string', 'description': 'The assumptions, stated: cash not yet in earns nothing (against spreading), no fees (in favour of spreading).'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'source': {'type': 'string', 'description': 'The public file these numbers come from.'}, 'starts': {'type': 'number', 'description': 'Start days tested. Fewer than 120 and we refuse to give a percentage.'}, 'instalments': {'type': 'number', 'description': 'How many slices fit in the window.'}, 'spreading_won': {'type': 'number', 'description': 'Start days on which spreading it out ended ahead. A count, not a rate: «100%» is only said when it was all of them.'}, 'p05_spread_pct': {'type': 'number', 'description': 'The same for spreading.'}, 'p05_lump_sum_pct': {'type': 'number', 'description': 'Fifth percentile of starts, lump sum: one worst day is an anecdote.'}, 'worst_spread_pct': {'type': 'number', 'description': 'The same for spreading. This pair is the whole argument for averaging in, and it is the one that never appears next to the advice.'}, 'median_spread_pct': {'type': 'number', 'description': 'Middle start, spread out.'}, 'spreading_won_pct': {'type': 'number', 'description': 'The same as a share of starts.'}, 'median_edge_points': {'type': 'number', 'description': 'Percentage points spreading made over lump sum in the middle case. Negative means lump sum won.'}, 'worst_lump_sum_pct': {'type': 'number', 'description': 'The single worst start day, all in on day one.'}, 'median_lump_sum_pct': {'type': 'number', 'description': 'Middle start, all in on day one.'}, 'share_in_profit_spread_pct': {'type': 'number', 'description': 'The same for spreading.'}, 'share_in_profit_lump_sum_pct': {'type': 'number', 'description': 'Share of starts that ended up, lump sum.'}}, 'description': 'What each way of entering did, over every possible start day.'}
Schéma d’entrée
{'type': 'object', 'required': ['coin', 'days', 'best_days'], 'properties': {'coin': {'type': 'string', 'description': 'Ticker or full pair. An unknown one comes back with the list we hold and the ones left out.'}, 'days': {'type': 'number', 'description': 'Window in days: 90, 365 or 730.'}, 'best_days': {'type': 'number', 'description': 'How many days are missed: 1, 5, 10 or 20. Defaults to 10, the number in the claim.'}}, 'description': 'The coin, the window, and how many days you would miss.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'page': {'type': 'string', 'description': 'The page with these exact numbers already in.'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'model': {'type': 'string', 'description': 'What missing a day means here, and what is not charged.'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'source': {'type': 'string', 'description': 'The public file these numbers come from.'}, 'history': {'type': 'object', 'description': 'From, to, days held and which tape.'}, 'windows': {'type': 'number', 'description': 'Start days tested. Fewer than 120 and we refuse to give a percentage.'}, 'median_pct': {'type': 'number', 'description': 'The middle window, lived whole. The alternative, always.'}, 'biggest_days': {'type': 'object', 'description': 'The biggest up days and down days of the whole history, with their dates, so the clustering can be checked rather than believed.'}, 'share_in_profit_pct': {'type': 'number', 'description': 'Windows that ended in profit, lived whole.'}, 'cost_of_missing_best_pp': {'type': 'number', 'description': 'Percentage points the best days were worth.'}, 'median_without_best_pct': {'type': 'number', 'description': 'The same window without its best days. This is the half of the claim you get shown.'}, 'gift_of_missing_worst_pp': {'type': 'number', 'description': 'Percentage points dodging the worst days would have paid.'}, 'median_without_worst_pct': {'type': 'number', 'description': 'The same window without its WORST days. This is the half nobody shows, and it is just as big.'}, 'median_without_either_pct': {'type': 'number', 'description': 'Without both groups: usually back near the first number, after dodging the days that supposedly decided everything.'}, 'next_to_means_within_days': {'type': 'number', 'description': 'What «next to» means, in days.'}, 'winners_turned_losers_pct': {'type': 'number', 'description': 'Of the windows that ended in profit, the share that end in loss once their best days are removed.'}, 'share_in_profit_without_best_pct': {'type': 'number', 'description': 'The same, without the best days.'}, 'best_days_next_to_a_worst_day_pct': {'type': 'number', 'description': 'Share of the best days that fell within a few days of one of the worst. High means you cannot dodge one without dodging the other.'}, 'share_in_profit_without_worst_pct': {'type': 'number', 'description': 'The same, without the worst days.'}}, 'description': 'Both halves of the claim, over the same windows.'}
Schéma d’entrée
{'type': 'object', 'required': ['coin', 'calendar'], 'properties': {'coin': {'type': 'string', 'description': 'Ticker or full pair. An unknown one comes back with the list we hold and the ones left out.'}, 'calendar': {'type': 'string', 'description': 'day_of_week, month_of_year or hour_of_day. The hourly one exists for the 16 coins we hold hourly candles for.'}}, 'description': 'The coin and which calendar: weekday, month or hour.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'page': {'type': 'string', 'description': 'The page with these exact numbers already in.'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'model': {'type': 'string', 'description': 'The test, stated, including why a monthly p-value flatters itself.'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'source': {'type': 'string', 'description': 'The public file these numbers come from.'}, 'buckets': {'type': 'array', 'description': 'Every bucket: its name, observations, times occurred, mean, median and share of up days.'}, 'history': {'type': 'object', 'description': 'From, to, days held and which tape.'}, 'shuffles': {'type': 'number', 'description': 'How many shuffled worlds were tested.'}, 'best_bucket': {'type': 'string', 'description': 'The best bucket by average move, named.'}, 'observations': {'type': 'number', 'description': 'Moves measured across all buckets.'}, 'worst_bucket': {'type': 'string', 'description': 'The other end.'}, 'best_mean_pct': {'type': 'number', 'description': 'Its average move. On its own, this is the advertisement.'}, 'worst_mean_pct': {'type': 'number', 'description': 'Its average move.'}, 'edge_covers_cost': {'type': 'boolean', 'description': 'Whether the average move of the best bucket is bigger than that cost. Usually it is not.'}, 'chance_best_p95_pct': {'type': 'number', 'description': 'What chance reaches in one shuffle out of twenty.'}, 'round_trip_cost_pct': {'type': 'number', 'description': 'What entering and exiting once costs, so the edge can be compared with it.'}, 'beats_chance_at_5pct': {'type': 'boolean', 'description': 'Whether that share is under 0.05. Across all 34 coins, about 5% of these come back true by chance alone, so one true answer on its own is not a finding.'}, 'chance_best_mean_pct': {'type': 'number', 'description': 'What the BEST bucket of a shuffled world averages. Anything below this is less impressive than nothing.'}, 'chance_matches_it_share': {'type': 'number', 'description': 'The p-value: share of shuffles whose best bucket matched or beat the real one. High means no pattern.'}, 'best_bucket_happened_times': {'type': 'number', 'description': 'How many times that bucket has actually occurred. For months this is years, not days: nine Octobers is nine observations however many candles they hold, and it is the number these claims never show.'}}, 'description': 'The bucket, and what chance produces next to it.'}
Schéma d’entrée
{'type': 'object', 'required': ['coins', 'days', 'leverage'], 'properties': {'days': {'type': 'number', 'description': '90, 365 (default) or 730.'}, 'coins': {'type': 'string', 'description': 'Two or three tickers, comma-separated: BTC,ETH,SOL. Kept in the order sent.'}, 'leverage': {'type': 'number', 'description': 'For the leverage row. Default 25.'}}, 'description': 'The coins, and optionally the window and the leverage.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'rows': {'type': 'array', 'description': 'Per coin: the drawdown, leverage, averaging-in and stop-loss answers, and its correlation with bitcoin (null for bitcoin itself).'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'model': {'type': 'string', 'description': 'The method, stated.'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'source': {'type': 'string', 'description': 'The public files these numbers come from.'}}, 'description': 'One row per coin, in the order sent.'}
Schéma d’entrée
{'type': 'object', 'required': ['ranked_by', 'top_pct'], 'properties': {'top_pct': {'type': 'number', 'description': '10 (default) or 1. 0.1 is read as 10.'}, 'ranked_by': {'type': 'string', 'description': 'return (default) or profit.'}}, 'description': 'Which ranking and which top group. Both optional.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'model': {'type': 'string', 'description': 'The method, stated.'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'source': {'type': 'string', 'description': 'The public file these numbers come from.'}, 'repeated': {'type': 'number', 'description': 'Of those, times it was in the top again next month.'}, 'chance_pct': {'type': 'number', 'description': 'What picking accounts at random gives. The alternative, always.'}, 'repeated_pct': {'type': 'number', 'description': 'The same as a share.'}, 'times_in_top': {'type': 'number', 'description': 'Times an account finished a month in the top group.'}, 'stopped_trading': {'type': 'number', 'description': 'Counted as not repeating.'}, 'fell_to_bottom_pct': {'type': 'number', 'description': 'Share that fell to the bottom group instead: the size control.'}, 'in_profit_next_month_pct': {'type': 'number', 'description': 'Share that made money the next month.'}, 'in_profit_next_month_all_accounts_pct': {'type': 'number', 'description': 'The same for every active account.'}}, 'description': "What one month's top did the next month, next to chance."}
Schéma d’entrée
{'type': 'object', 'required': ['coins', 'days'], 'properties': {'days': {'type': 'number', 'description': 'Window ending on the last day of the data: 90, 365 or 730. Defaults to 365.'}, 'coins': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tickers or full pairs, e.g. ["BTC", "ETH", "SOL"]. A comma-separated string also works. One we do not hold comes back with the list.'}}, 'description': 'The basket you want measured.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'model': {'type': 'string', 'description': 'The assumptions, stated.'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'source': {'type': 'string', 'description': 'The public file these numbers come from.'}, 'btc_bad_days': {'type': 'object', 'description': 'The days bitcoin closed 3% or more down: how many, on what share of them the basket fell too, its median and worst move. Diversification that vanishes on those days was never there.'}, 'independent_bets': {'type': 'number', 'description': 'N / (1 + (N-1)*avg_corr). Five coins that move as one are one bet; five that ignore each other are five.'}, 'all_coins_we_hold': {'type': 'object', 'description': 'What every coin we hold, at equal weights, adds up to — the ceiling, for comparison.'}, 'correlation_with_btc': {'type': 'object', 'description': "Each coin's correlation with bitcoin in the window."}, 'average_pair_correlation': {'type': 'number', 'description': 'Pearson correlation of daily log returns, averaged over every pair in the basket.'}}, 'description': 'What that basket adds up to, and what it did on the bad days.'}
Schéma d’entrée
{'type': 'object', 'required': ['coin', 'days'], 'properties': {'coin': {'type': 'string', 'description': 'Ticker or full pair. An unknown one comes back with the list we hold and the ones left out.'}, 'days': {'type': 'number', 'description': 'How long it is held: 30, 90, 365 or 730.'}}, 'description': 'The hold you want opened on every day there has been.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'model': {'type': 'string', 'description': 'The assumptions, stated.'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'source': {'type': 'string', 'description': 'The public file these numbers come from.'}, 'starts': {'type': 'number', 'description': 'Start days tested. Fewer than 120 and we refuse to give a percentage.'}, 'median_return_pct': {'type': 'number', 'description': 'How the middle start ended.'}, 'share_fell_30_pct': {'type': 'number', 'description': 'Share of starts that fell 30% or more from entry first.'}, 'share_fell_50_pct': {'type': 'number', 'description': 'Same, 50% or more.'}, 'asset_max_drawdown': {'type': 'object', 'description': "The coin's own biggest top-to-bottom fall, with dates and days to recover, for comparison."}, 'share_in_profit_pct': {'type': 'number', 'description': 'Share of starts that ended up.'}, 'median_worst_fall_pct': {'type': 'number', 'description': "The middle start's worst fall from its own entry price within the hold."}, 'median_days_under_water': {'type': 'number', 'description': 'Days of the hold spent below the entry price, middle start.'}, 'share_never_recovered_pct': {'type': 'number', 'description': 'Starts that never closed back at their entry price within the hold.'}, 'median_worst_fall_among_winners_pct': {'type': 'number', 'description': 'Among the starts that ended in profit, the median fall they sat through first. The price of the number you were shown. A return without this is advertising.'}}, 'description': 'What holding that coin for that long cost, across every possible starting day.'}
Schéma d’entrée
{'type': 'object', 'required': ['return_pct', 'window'], 'properties': {'window': {'type': 'string', 'description': 'day, week, month (default) or allTime.'}, 'return_pct': {'type': 'number', 'description': 'In percent: 340 means +340%.'}}, 'description': 'The return you were shown, and over what window.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'model': {'type': 'string', 'description': 'The method, stated.'}, 'one_in': {'type': 'number', 'description': 'One account in how many.'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'source': {'type': 'string', 'description': 'The public file these numbers come from.'}, 'percentile': {'type': 'number', 'description': 'Share of accounts below it.'}, 'same_or_better': {'type': 'number', 'description': 'Accounts at that return or above.'}, 'median_return_pct': {'type': 'number', 'description': 'The middle account, same window.'}, 'share_in_profit_pct': {'type': 'number', 'description': 'Accounts in profit, same window.'}, 'accounts_that_traded': {'type': 'number', 'description': 'The denominator.'}}, 'description': 'Where that return lands among every account that traded.'}
Schéma d’entrée
{'type': 'object', 'required': ['coin', 'leverage', 'days'], 'properties': {'coin': {'type': 'string', 'description': 'Ticker or full pair. An unknown one comes back with the list we hold and the ones we do not.'}, 'days': {'type': 'number', 'description': 'How long it is held: 1, 7, 30 or 90.'}, 'side': {'type': 'string', 'description': 'long or short. Defaults to long.'}, 'leverage': {'type': 'number', 'description': '2, 3, 5, 10, 20, 25, 50 or 100.'}}, 'description': 'The leveraged trade you want opened on every day there has been.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'model': {'type': 'string', 'description': 'The assumptions, stated: liquidation at exactly 1/leverage with no maintenance margin, funding charged daily, the wick decides not the close.'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'source': {'type': 'string', 'description': 'The public file these numbers come from.'}, 'attempts': {'type': 'number', 'description': 'Starting days tested. A position still open when the history ends is not counted.'}, 'best_pct': {'type': 'number', 'description': 'The best day. It is the one you were shown, and it is not hidden here.'}, 'liquidated_pct': {'type': 'number', 'description': 'Share of them that ended with nothing left.'}, 'median_return_pct': {'type': 'number', 'description': 'The middle outcome, on the margin.'}, 'median_days_to_liquidation': {'type': 'number', 'description': 'How fast, when it happened.'}, 'median_return_unlevered_pct': {'type': 'number', 'description': 'What the same coin did with no leverage over the same days. A result without this is advertising.'}}, 'description': 'How that trade ended, across every possible starting day.'}
Schéma d’entrée
{'type': 'object', 'required': ['wins', 'trades'], 'properties': {'wins': {'type': 'number', 'description': 'Winning trades.'}, 'tries': {'type': 'number', 'description': 'How many versions were tried before this one was shown to you. Defaults to 1, which is almost never true.'}, 'losses': {'type': 'number', 'description': 'Losing trades. Give this or trades.'}, 'trades': {'type': 'number', 'description': 'Total trades.'}, 'baseline': {'type': 'number', 'description': 'Probability a single trade wins by chance. Defaults to 0.5.'}}, 'description': 'The track record you were shown, and how much searching went into finding it.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'reading': {'type': 'string', 'description': 'The same three numbers in one sentence.'}, 'odds_one_try': {'type': 'number', 'description': 'P(at least this many wins) for a single attempt. Exact binomial, not simulated.'}, 'win_rate_pct': {'type': 'number', 'description': 'The win rate.'}, 'odds_best_of_tries': {'type': 'number', 'description': 'Same result, once you take the best of the attempts made.'}, 'tries_for_even_odds': {'type': 'number', 'description': 'Attempts needed for chance alone to reach it half the time.'}}, 'description': 'The exact odds, for one try and for the best of N.'}
Schéma d’entrée
{'type': 'object', 'required': ['coin', 'days', 'stop'], 'properties': {'coin': {'type': 'string', 'description': 'Ticker or full pair. An unknown one comes back with the list we hold and the ones left out.'}, 'days': {'type': 'number', 'description': 'Holding period in days: 30, 90, 365 or 730.'}, 'stop': {'type': 'number', 'description': 'How far below the entry, in percent: 5, 10, 15, 20 or 30. 0.05 is read as 5.'}}, 'description': 'The coin, how long you meant to hold, and the stop.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'buys': {'type': 'number', 'description': 'Start days tested. Fewer than 120 and we refuse to give a percentage.'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'model': {'type': 'string', 'description': 'The assumptions, stated: the low triggers, fills at the stop or the gap open, out until the end, same costs both ways.'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'source': {'type': 'string', 'description': 'The public file these numbers come from.'}, 'stop_fired': {'type': 'number', 'description': 'Buys on which the stop fired. A count.'}, 'stop_fired_pct': {'type': 'number', 'description': 'The same as a share of buys.'}, 'p05_with_stop_pct': {'type': 'number', 'description': 'Fifth percentile, with the stop: what the stop actually buys.'}, 'stop_beat_holding': {'type': 'number', 'description': 'Buys on which the stop ended strictly ahead of holding.'}, 'mean_with_stop_pct': {'type': 'number', 'description': 'Average buy, with the stop.'}, 'median_days_to_fire': {'type': 'number', 'description': 'Among the buys it fired on. Null when it never fired.'}, 'worst_with_stop_pct': {'type': 'number', 'description': 'The single worst buy, with the stop. Worse than the stop itself only when a day gapped through.'}, 'median_with_stop_pct': {'type': 'number', 'description': 'Middle buy, with the stop.'}, 'p05_without_stop_pct': {'type': 'number', 'description': 'The same, holding.'}, 'mean_without_stop_pct': {'type': 'number', 'description': 'Average buy, holding. Skewed by a few huge winners.'}, 'stop_beat_holding_pct': {'type': 'number', 'description': 'The same as a share of buys.'}, 'worst_without_stop_pct': {'type': 'number', 'description': 'The same, holding.'}, 'median_without_stop_pct': {'type': 'number', 'description': 'Middle buy, just holding. The alternative, always.'}, 'share_in_profit_with_stop_pct': {'type': 'number', 'description': 'Share of buys that ended up, stop.'}, 'share_in_profit_without_stop_pct': {'type': 'number', 'description': 'The same, holding.'}, 'fired_but_would_have_ended_in_profit': {'type': 'number', 'description': 'Buys the stop sold that, held to the end, would have ended in profit after fees. The half nobody shows.'}, 'fired_but_would_have_ended_in_profit_pct': {'type': 'number', 'description': 'The same as a share of ALL buys.'}}, 'description': 'What the stop did to every possible buy, next to holding.'}
Schéma d’entrée
{'type': 'object', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'description': 'BTC, ETH, SOL, DOGE, PEPE, SRM… ticker or full pair. Ask with an unknown one and the answer lists the sixteen we hold.'}, 'drop': {'type': 'number', 'description': 'dip only: how far below its recent high to buy, in %.'}, 'fast': {'type': 'number', 'description': 'cross only: fast average.'}, 'slow': {'type': 'number', 'description': 'cross only: slow average.'}, 'stop': {'type': 'number', 'description': 'dip only: stop loss, in %.'}, 'hours': {'type': 'number', 'description': 'dip only: give up after this many hours.'}, 'family': {'type': 'string', 'description': 'dip (buy when it falls) or cross (moving average crossover). Defaults to dip.'}, 'target': {'type': 'number', 'description': 'dip only: take profit, in %.'}, 'candles': {'type': 'string', 'description': 'cross only: 1d or 4h.'}}, 'description': 'Which exact version of the strategy you want looked up.'}
Schéma de sortie
{'type': 'object', 'properties': {'ok': {'type': 'boolean', 'description': 'false when we do not hold that data. Never a zero standing in for an answer.'}, 'rule': {'type': 'string', 'description': 'The rule in plain English.'}, 'error': {'type': 'string', 'description': 'no_data when ok is false.'}, 'reason': {'type': 'string', 'description': 'Why, in one sentence, and what we do have instead.'}, 'source': {'type': 'string', 'description': 'The public file these numbers come from.'}, 'trades': {'type': 'number', 'description': 'How many trades it took.'}, 'return_pct': {'type': 'number', 'description': 'What it returned, after fees.'}, 'win_rate_pct': {'type': 'number', 'description': 'Share of winners.'}, 'buy_and_hold_pct': {'type': 'number', 'description': 'What buying the coin and leaving it alone returned over the same window. A result without this is advertising.'}, 'max_drawdown_pct': {'type': 'number', 'description': 'Worst peak-to-trough fall.'}, 'versions_in_family': {'type': 'number', 'description': 'How many versions of this idea exist.'}, 'versions_beating_buy_and_hold': {'type': 'number', 'description': 'How many of them beat doing nothing. Often zero.'}}, 'description': 'What that exact rule did in the judging half, with what doing nothing did next to it.'}
Modifications récentes des outils
Serveurs MCP similaires
The Stall
Provides pay-per-call tools for YouTube keyword research and research on stocks, crypto, DeFi, options, and macroeconomic data.
Crank Protocol
Provides non-custodial Solana and EVM tools for swaps, derivatives, lending, staking, tokenized equities, bridging, and strategy …
x402-services
Provides on-chain, trading, and AI tools for Robinhood Chain.
FortFi Treasury MCP
Provides policy-controlled crypto treasury operations across chains, including wallets, payments, token discovery, swaps, bridges…
DeltaSignal ATLAS-7
Analyzes SEC and XBRL data for crypto-related public companies, including fundamentals, issuer signals, peer comparisons, stress …
intel
Provides multi-chain market intelligence, blockchain activity metrics, trading and portfolio planning, sanctions clearance, agent…
TradingCalc MCP: Options, Forex, Risk Stats, Prediction Markets, On-Chain & Crypto Futures
Performs deterministic calculations for crypto futures, funding, leverage, liquidation, position sizing, token swaps, on-chain ri…
Market Intelligence API
Analyzes crypto and tokenized-asset markets using DEX flows, perpetual positioning, smart-money activity, token risk, market news…