PancakeSwap momentum trading, version 1¶
This is an example strategy backtesting how to momentum trading on PancakeSwap.
The algorithm presented in this playbook does not consider liquidity, price impact or scam tokens. Its performance is totally unrealistic. The purpose of this playbook is to demonstrate that naive backtesting will yield to unlikely results.
Strategy and backtesting parameters¶
Here we define all parameters that affect the backtest outcome.
[1]:
import seaborn
import pandas as pd
from tradingstrategy.timebucket import TimeBucket
# The starting date of the backtest
# Note: PancakeSwap v2 deployed Apr 2021
start = pd.Timestamp('2021-05-01 00:00')
# The ending date of the backtest
end = pd.Timestamp('2021-06-30 00:00')
# Start backtesting with $10k in hand
initial_cash = 10_000
# Prefiltering to limit the pair set to speed up computations
# How many USD all time buy volume the pair must have had
# to be included in the backtesting
prefilter_min_buy_volume = 5_000_000
# When this USD threshold of bonding curve liquidity provided is reached,
# we ape in to the token on a daily close.
min_liquidity = 250_000
# How many tokens we can hold in our portfolio
# If there are more new tokens coming to market per day,
# we just ignore those with less liquidity
max_assets_per_portfolio = 4
# How many % of all value we hold in cash all the time,
# so that we can sustain hits
cash_buffer = 0.33
# Use daily candles to run the algorithm
candle_time_frame = TimeBucket.d1
# Print algorithm internal state while it is running to debug issues
debug = False
Creating trading universe¶
First let’s import libraries and initialise our dataset client.
[2]:
try:
import tradingstrategy
except ImportError:
%pip install trading-strategy
import site
site.main()
from tradingstrategy.client import Client
client = Client.create_jupyter_client()
Started Trading Strategy in Jupyter notebook environment, configuration is stored in /Users/moo/.tradingstrategy
[3]:
# If you need to enable loger for QTrader debugging
import sys
import logging
logger = logging.getLogger("Notebook")
#logging.basicConfig(stream=sys.stdout, level=logging.INFO)
logging.info("Logging has been set up")
Let’s create a pair universe for PancakeSwap. We will create a dataset of 2d candles that trade on PancakeSwap on Binance Smart Chain.
[4]:
import pandas as pd
from tradingstrategy.chain import ChainId
from tradingstrategy.pair import PandasPairUniverse
columnar_pair_table = client.fetch_pair_universe()
exchange_universe = client.fetch_exchange_universe()
all_pairs_dataframe = columnar_pair_table.to_pandas()
our_exchange = exchange_universe.get_by_chain_and_slug(ChainId.bsc, "pancakeswap-v2")
our_pairs: pd.DataFrame = all_pairs_dataframe.loc[
(all_pairs_dataframe['exchange_id'] == our_exchange.exchange_id) & # Trades on Sushi
(all_pairs_dataframe['buy_volume_all_time'] > 500_000) # 500k min buys
]
# Create a Python set of pair ids
wanted_pair_ids = our_pairs["pair_id"]
# Make the trading pair data easily accessible
pair_universe = PandasPairUniverse(our_pairs)
pair_universe.build_index()
print(f"Our trading universe has {len(pair_universe.get_all_pair_ids())} pairs that meet the prefiltering criteria")
Our trading universe has 5398 pairs that meet the prefiltering criteria
Construct backtesting universe¶
Get daily candles and filter them against our wanted pair set.
We take all trading pairs registered on (as the writing of this all Uniswap v2 compatible exchanges). As the number of trading pairs is very high (50k+). Most of these trading pairs are random noise and crap. We reduce the number of trading pairs to speed up the backtest simulation, but this also introduce some survivorship bias.
[5]:
from tradingstrategy.frameworks.qstrader import prepare_candles_for_qstrader
from tradingstrategy.liquidity import GroupedLiquidityUniverse
from tradingstrategy.pair import PandasPairUniverse
from tradingstrategy.timebucket import TimeBucket
from tradingstrategy.candle import GroupedCandleUniverse
from tradingstrategy.exchange import ExchangeUniverse, Exchange
def prefilter_pairs(all_pairs_dataframe: pd.DataFrame, exchange: Exchange) -> pd.DataFrame:
"""Get rid of pairs that we definitely are not interested in.
This will greatly speed up the later backtesting computations, as we do not need to
calculate the opening volumes for thousands of pairs.
Note that may induce survivorship bias - we use this mainly
to ensure the backtetst completes in a reasonable time.
"""
pairs: pd.DataFrame = all_pairs_dataframe.loc[
(all_pairs_dataframe['exchange_id'] == exchange.exchange_id) &
(all_pairs_dataframe['buy_volume_all_time'] > prefilter_min_buy_volume) # 500k min buys
]
return pairs
exchange_universe = client.fetch_exchange_universe()
# Do some test calculations for a single pair
# Note that PancakeSwap has two different deployments:
# you most likely want v2
our_exchange = exchange_universe.get_by_chain_and_slug(ChainId.bsc, "pancakeswap-v2")
assert our_exchange, "Could not find the DEX"
# Decompress the pair dataset to Python map
columnar_pair_table = client.fetch_pair_universe()
# Make our universe 40x smaller and faster to compute
filtered_pairs = prefilter_pairs(columnar_pair_table.to_pandas(), our_exchange)
# Make the trading pair data easily accessible
pair_universe = PandasPairUniverse(filtered_pairs)
pair_universe.build_index()
wanted_pair_ids = pair_universe.get_all_pair_ids()
# Get daily candles as Pandas DataFrame
all_candles = client.fetch_all_candles(candle_time_frame).to_pandas()
filtered_candles = all_candles.loc[all_candles["pair_id"].isin(wanted_pair_ids)]
candle_universe = GroupedCandleUniverse(prepare_candles_for_qstrader(filtered_candles), timestamp_column="Date")
all_liquidity = client.fetch_all_liquidity_samples(TimeBucket.d1).to_pandas()
filtered_liquidity = all_liquidity.loc[all_liquidity["pair_id"].isin(wanted_pair_ids)]
filtered_liquidity = filtered_liquidity.set_index(filtered_liquidity["timestamp"])
liquidity_universe = GroupedLiquidityUniverse(filtered_liquidity)
data_start, data_end = candle_universe.get_timestamp_range()
print(f"""
Datafeeds set up.
Time periods
- Backtesting: {start} - {end}
- Candle data: {data_start} - {data_end}
Our trading universe for {candle_time_frame.value} candles is
- {len(wanted_pair_ids)} pairs
- {len(filtered_candles)} candles
- {len(filtered_liquidity)} liquidity samples
The source data for {candle_time_frame.value} has
- {len(columnar_pair_table)} pairs
- {len(all_candles)} candles
""")
# Check that our backtesting time range and timestamp iterator matches
# with the data we have
assert len(candle_universe.get_all_samples_by_timestamp(start)) > 0, f"No candles at start: {start}"
assert len(candle_universe.get_all_samples_by_timestamp(end)) > 0, f"No candles at end: {end}"
Datafeeds set up.
Time periods
- Backtesting: 2021-05-01 00:00:00 - 2021-06-30 00:00:00
- Candle data: 2021-04-23 00:00:00 - 2021-12-09 00:00:00
Our trading universe for 1d candles is
- 1498 pairs
- 177719 candles
- 142096 liquidity samples
The source data for 1d has
- 77581 pairs
- 3759703 candles
Creating the alpha model¶
[6]:
from typing import Dict
from collections import Counter
from collections import defaultdict
from qstrader.alpha_model.alpha_model import AlphaModel
def fix_qstrader_date(ts: pd.Timestamp) -> pd.Timestamp:
"""Quick-fix for Qstrader to use its internal hour system.
TODO: Fix QSTrader framework in long run
"""
return ts.replace(hour=0, minute=0)
class MomentumAlphaModel(AlphaModel):
"""An alpha model that ranks pairs by the daily upwords momentum.
A AlphaModel that provides a single scalar forecast
value for each Asset in the Universe.
Parameters
----------
signal_weights : `dict{str: float}`
The signal weights per asset symbol.
universe : `Universe`, optional
The Assets to make signal forecasts for.
data_handler : `DataHandler`, optional
An optional DataHandler used to preserve interface across AlphaModels.
"""
def __init__(
self,
exchange_universe: ExchangeUniverse,
pair_universe: PandasPairUniverse,
candle_universe: GroupedCandleUniverse,
liquidity_universe: GroupedLiquidityUniverse,
min_liquidity,
max_assets_per_portfolio,
data_handler=None
):
self.exchange_universe = exchange_universe
self.pair_universe = pair_universe
self.candle_universe = candle_universe
self.liquidity_universe = liquidity_universe
self.data_handler = data_handler
self.min_liquidity = min_liquidity
self.max_assets_per_portfolio = max_assets_per_portfolio
self.liquidity_reached_state = {}
def is_funny_price(self, usd_unit_price: float) -> bool:
"""Avoid taking positions in tokens with too funny prices.
Might cause good old floating point to crap out.
"""
return (usd_unit_price < 0.0000001) or (usd_unit_price > 100_000)
def translate_pair(self, pair_id: int) -> str:
"""Make pari ids human readable for logging."""
pair_info = self.pair_universe.get_pair_by_id(pair_id)
return pair_info.get_friendly_name(self.exchange_universe)
def __call__(self, ts: pd.Timestamp, debug_details: Dict) -> Dict[int, float]:
"""
Produce the dictionary of scalar signals for
each of the Asset instances within the Universe.
:param ts: Candle timestamp iterator
:return: Dict(pair_id, alpha signal)
"""
ts = fix_qstrader_date(ts)
# Calculate momentum based on the candles day before
ts_yesterday = ts - pd.Timedelta(days=1)
# For each pair, check the the diff between opening and closingn price
timepoint_candles = self.candle_universe.get_all_samples_by_timestamp(ts_yesterday)
alpha_signals = Counter()
if len(timepoint_candles) == 0:
print(f"No candles at {ts}")
# Iterate over
ts_: pd.Timestamp
candle: pd.Series
extra_debug_data = defaultdict(dict)
for ts_, candle in timepoint_candles.iterrows():
# QStrader data frames are using capitalised version of OHLCV core variables
open = candle["Open"]
close = candle["Close"]
pair_id = candle["pair_id"]
if self.is_funny_price(open) or self.is_funny_price(close):
# This trading pair is too funny that we do not want to play with it
continue
momentum = (close - open) / open
momentum = max(0, momentum)
alpha_signals[pair_id] = momentum
assert pair_universe.pair_map
pair = pair_universe.get_pair_by_id(pair_id)
extra_debug_data[pair_id] = {
"pair": pair,
"open": open,
"close": close,
"momentum": momentum
}
# Pick top 10 momentum asset
top_signals = alpha_signals.most_common(max_assets_per_portfolio)
# Debug dump status
if debug:
for pair_id, momentum in top_signals:
debug_data = extra_debug_data[pair_id]
pair = debug_data["pair"]
print(f"{ts}: Signal for {pair.get_ticker()} (#{pair.pair_id}) is {momentum * 100:,.2f}%, open: {debug_data['open']:,.8f}, close: {debug_data['close']:,.8f}")
debug_details["signals"]: top_signals.copy()
return dict(top_signals)
print("Alpha model created")
Alpha model created
Setting up the strategy backtest¶
We have alpha model and trading universe set up, so next we will create a backtest simulation where we feed all the data we set up for the backtest session.
[7]:
from qstrader.asset.universe.static import StaticUniverse
from qstrader.data.backtest_data_handler import BacktestDataHandler
from qstrader.simulation.event import SimulationEvent
from qstrader.simulation.everyday import EverydaySimulationEngine
from qstrader.trading.backtest import BacktestTradingSession
from tradingstrategy.frameworks.qstrader import TradingStrategyDataSource
data_source = TradingStrategyDataSource(exchange_universe, pair_universe, candle_universe)
strategy_assets = list(data_source.asset_bar_frames.keys())
strategy_universe = StaticUniverse(strategy_assets)
data_handler = BacktestDataHandler(strategy_universe, data_sources=[data_source])
# Construct an Alpha Model that simply provides a fixed
# signal for the single GLD ETF at 100% allocation
# with a backtest that does not rebalance
strategy_alpha_model = MomentumAlphaModel(
exchange_universe,
pair_universe,
candle_universe,
liquidity_universe,
min_liquidity,
max_assets_per_portfolio)
strategy_backtest = BacktestTradingSession(
start,
end,
strategy_universe,
strategy_alpha_model,
initial_cash=initial_cash,
rebalance='daily',
long_only=True, # Spot markets do not support shorting
cash_buffer_percentage=cash_buffer,
data_handler=data_handler,
simulation_engine=EverydaySimulationEngine(start, end)
)
print("Strategy set up complete")
Initialising simulated broker "Backtest Simulated Broker Account"...
(2021-05-01 00:00:00) - portfolio creation: Portfolio "000001" created at broker "Backtest Simulated Broker Account"
(2021-05-01 00:00:00) - subscription: 10000.00 subscribed to portfolio "000001"
Strategy set up complete
Running the strategy backtest¶
Next we run the strategy. This can take potentially many minutes, as it crunches through some data.
The notebook displays a HTML progress bar is displayed during the run, and the estimation when the simulation is complete.
[8]:
from tqdm.autonotebook import tqdm
max_events = len(strategy_backtest.prefetch_simulation_events())
# Run the test with a nice progress bar
with tqdm(total=max_events) as progress_bar:
def progress_callback(idx: int, dt: pd.Timestamp, evt: SimulationEvent):
progress_bar.set_description(f"Simulation at day {dt.date()}")
progress_bar.update(1)
event_stream = strategy_backtest.run(progress_callback=progress_callback, logging=True)
print("Backtest complete")
Backtest complete
Analyzing the strategy results¶
After the strategy is run, we will display charts and statistics on its performance.
[9]:
from tradingstrategy.frameworks.qstrader import analyse_trade_history
from tradingstrategy.frameworks.qstrader import analyse_portfolio_development
# "000001" is the default name given for the default portfolio by QSTrader
portfolio = strategy_backtest.broker.portfolios["000001"]
trade_analysis = analyse_trade_history(portfolio.history)
portfolio_analysis = analyse_portfolio_development(event_stream)
Summary of trades¶
This displays number of trades, how many we won and lost.
[10]:
from IPython.core.display import HTML
from IPython.display import display
from tradingstrategy.analysis.tradeanalyzer import TradeSummary
cash_left = strategy_backtest.broker.get_total_portfolio_cash_balances()
summary: TradeSummary = trade_analysis.calculate_summary_statistics(initial_cash, cash_left)
display(summary.to_dataframe())
0 | |
---|---|
Return % | 4886714404% |
Cash at start | $10,000.00 |
Value at end | $488,671,450,357.56 |
Trade win percent | 44% |
Total trades done | 150 |
Won trades | 65 |
Lost trades | 84 |
Stop losses triggered | 0 |
Stop loss % of all | 0% |
Stop loss % of lost | 0% |
Zero profit trades | 1 |
Positions open at the end | 4 |
Realised profit and loss | $488,671,440,357.56 |
Portfolio unrealised value | $327,409,870,959.12 |
Extra returns on lending pool interest | $0.00 |
Cash left at the end | $161,261,579,398.44 |
Tearsheet chart¶
Tearsheet displays the portfolio profit and risk over the time.
[11]:
from qstrader.statistics.tearsheet import TearsheetStatistics
tearsheet = TearsheetStatistics(
strategy_equity=strategy_backtest.get_equity_curve(),
title=f'Our strategy'
)
# tearsheet.plot_results()
Trade success histogram¶
Show the distribution of won and lost trades as a histogram.
[12]:
from matplotlib.figure import Figure
from tradingstrategy.analysis.tradeanalyzer import expand_timeline
from tradingstrategy.analysis.profitdistribution import plot_trade_profit_distribution
timeline = trade_analysis.create_timeline()
expanded_timeline, _ = expand_timeline(exchange_universe, pair_universe, timeline)
fig: Figure = plot_trade_profit_distribution(expanded_timeline, bins=20)

Trading timeline¶
The timeline displays individual trades the strategy made. - This is good for figuring out if the algorithm is doing bad trades and how those bad trades look like
[13]:
from tradingstrategy.analysis.tradeanalyzer import expand_timeline
# Generate raw timeline of position open and close events
timeline = trade_analysis.create_timeline()
# Expand timeline with human-readable exchange and pair symbols
expanded_timeline, apply_styles = expand_timeline(
exchange_universe,
pair_universe,
timeline,
hidden_columns=[])
# Do not truncate the row output
with pd.option_context("display.max_row", None):
display(apply_styles(expanded_timeline))
Id | Remarks | Opened at | Duration | Exchange | Base asset | Quote asset | Position max size | PnL USD | PnL % | PnL % raw | Open price USD | Close price USD | Trade count |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2021-05-03 21:00:00 | 1 days | PancakeSwap v2 | ALU | WBNB | $95.73 | $-10.26 | -19.37% | -0.193665 | $0.024134 | $0.019460 | 2 | |
2 | 2021-05-03 21:00:00 | 1 days | PancakeSwap v2 | ALLEY | WBNB | $41.84 | $-2.88 | -12.86% | -0.128630 | $3.726689 | $3.247323 | 2 | |
3 | 2021-05-03 21:00:00 | 1 days | PancakeSwap v2 | AQUA | WBNB | $15,009.33 | $2,113.37 | 32.78% | 0.327757 | $3,223.989502 | $4,280.674805 | 2 | |
7 | 2021-05-04 21:00:00 | 1 days | PancakeSwap v2 | GNT | BUSD | $2,167.04 | $-130.23 | -11.34% | -0.113374 | $0.000113 | $0.000100 | 2 | |
8 | 2021-05-04 21:00:00 | 1 days | PancakeSwap v2 | SCZ | BUSD | $6,807.93 | $350.70 | 10.86% | 0.108623 | $0.269321 | $0.298575 | 2 | |
9 | 2021-05-04 21:00:00 | 2 days | PancakeSwap v2 | CATZ | WBNB | $8,165.16 | $5,436.25 | 398.42% | 3.984194 | $0.000001 | $0.000004 | 3 | |
10 | 2021-05-04 21:00:00 | 1 days | PancakeSwap v2 | GDOGE | WBNB | $4,276.88 | $-453.89 | -19.19% | -0.191890 | $0.000004 | $0.000003 | 2 | |
15 | 2021-05-05 21:00:00 | 1 days | PancakeSwap v2 | DOP | WBNB | $7,433.24 | $3,572.68 | 185.09% | 1.850861 | $0.207825 | $0.592481 | 2 | |
16 | 2021-05-05 21:00:00 | 1 days | PancakeSwap v2 | UFARM | WBNB | $5,132.77 | $-176.25 | -6.64% | -0.066398 | $0.213334 | $0.199169 | 2 | |
17 | 2021-05-05 21:00:00 | 1 days | PancakeSwap v2 | TSX | WBNB | $3,716.03 | $-440.21 | -21.18% | -0.211830 | $0.327624 | $0.258223 | 2 | |
22 | 2021-05-06 21:00:00 | 1 days | PancakeSwap v2 | DOP | BUSD | $3,596.48 | $1,074.43 | 85.20% | 0.852030 | $0.592587 | $1.097489 | 2 | |
23 | 2021-05-06 21:00:00 | 1 days | PancakeSwap v2 | STARSHIP | WBNB | $9,744.04 | $-2,542.02 | -41.38% | -0.413806 | $0.268571 | $0.157435 | 2 | |
24 | 2021-05-06 21:00:00 | 1 days | PancakeSwap v2 | DEXI | WBNB | $16,481.97 | $7,857.53 | 182.22% | 1.822153 | $0.000001 | $0.000002 | 2 | |
25 | 2021-05-06 21:00:00 | 1 days | PancakeSwap v2 | SPERM | WBNB | $5,355.41 | $1,641.42 | 88.39% | 0.883914 | $0.000002 | $0.000005 | 2 | |
30 | 2021-05-07 21:00:00 | 3 days | PancakeSwap v2 | WIN | WBNB | $9,448.07 | $-9,448.06 | -100.00% | -0.999999 | $2,362.017090 | $0.001244 | 2 | |
31 | 2021-05-07 21:00:00 | 3 days | PancakeSwap v2 | NSFW | WBNB | $262.84 | $-255.83 | -98.65% | -0.986477 | $0.000144 | $0.000002 | 2 | |
32 | 2021-05-07 21:00:00 | 3 days | PancakeSwap v2 | GARUDA | BUSD | $4,372.46 | $-2,953.23 | -80.63% | -0.806267 | $4.190900 | $0.811916 | 2 | |
33 | 2021-05-07 21:00:00 | 3 days | PancakeSwap v2 | GARUDA | WBNB | $4,297.54 | $-2,927.36 | -81.04% | -0.810353 | $4.264996 | $0.808843 | 2 | |
38 | 2021-05-10 21:00:00 | 1 days | PancakeSwap v2 | POC | WBNB | $18,536.86 | $3,754.99 | 50.81% | 0.508053 | $0.000026 | $0.000040 | 2 | |
39 | 2021-05-10 21:00:00 | 1 days | PancakeSwap v2 | ShibaPup | WBNB | $850.30 | $149.90 | 42.80% | 0.428024 | $17.510134 | $25.004894 | 2 | |
40 | 2021-05-10 21:00:00 | 1 days | PancakeSwap v2 | SAFEDOG | WBNB | $1,318.13 | $275.14 | 52.76% | 0.527604 | $0.000059 | $0.000090 | 2 | |
41 | 2021-05-10 21:00:00 | 1 days | PancakeSwap v2 | HFS | BUSD | $393.64 | $-68.59 | -29.68% | -0.296794 | $21.010508 | $14.774714 | 2 | |
46 | 2021-05-11 21:00:00 | 1 days | PancakeSwap v2 | TUTU | WBNB | $1,944.82 | $-41.16 | -4.14% | -0.041448 | $0.004997 | $0.004790 | 2 | |
47 | 2021-05-11 21:00:00 | 1 days | PancakeSwap v2 | BNX | BUSD | $5,976.32 | $2,405.27 | 134.71% | 1.347095 | $0.784157 | $1.840491 | 2 | |
48 | 2021-05-11 21:00:00 | 1 days | PancakeSwap v2 | MOONARCH | WBNB | $18,699.05 | $2,155.24 | 26.05% | 0.260550 | $0.033904 | $0.042738 | 2 | |
49 | 2021-05-11 21:00:00 | 1 days | PancakeSwap v2 | SLF | WBNB | $590.90 | $157.01 | 72.37% | 0.723731 | $0.011024 | $0.019002 | 2 | |
54 | 2021-05-12 21:00:00 | 1 days | PancakeSwap v2 | ROVER | WBNB | $9,863.24 | $-6,194.61 | -77.15% | -0.771537 | $0.000027 | $0.000006 | 2 | |
55 | 2021-05-12 21:00:00 | 1 days | PancakeSwap v2 | SHIBM | WBNB | $7,405.19 | $-4,260.92 | -73.05% | -0.730478 | $0.196359 | $0.052923 | 2 | |
56 | 2021-05-12 21:00:00 | 1 days | PancakeSwap v2 | BALLS | WBNB | $512.24 | $-71.80 | -24.59% | -0.245869 | $0.000008 | $0.000006 | 2 | |
57 | 2021-05-12 21:00:00 | 1 days | PancakeSwap v2 | ORT | WBNB | $656.33 | $162.93 | 66.04% | 0.660427 | $0.202879 | $0.336865 | 2 | |
62 | 2021-05-13 21:00:00 | 1 days | PancakeSwap v2 | SBF | BUSD | $1,181.09 | $-23.25 | -3.86% | -0.038614 | $0.018537 | $0.017822 | 2 | |
63 | 2021-05-13 21:00:00 | 1 days | PancakeSwap v2 | ETCH | WBNB | $14,517.28 | $5,785.34 | 132.51% | 1.325098 | $0.000013 | $0.000030 | 2 | |
64 | 2021-05-13 21:00:00 | 4 days | PancakeSwap v2 | SMEGM | WBNB | $94,575.54 | $90,621.92 | 4584.26% | 45.842572 | $0.000015 | $0.000942 | 3 | |
65 | 2021-05-13 21:00:00 | 1 days | PancakeSwap v2 | DCH | WBNB | $729.80 | $-293.59 | -57.38% | -0.573766 | $0.168932 | $0.072005 | 2 | |
70 | 2021-05-14 21:00:00 | 3 days | PancakeSwap v2 | SUBX | WBNB | $11,380.91 | $2,872.06 | 67.51% | 0.675077 | $0.016509 | $0.027654 | 2 | |
71 | 2021-05-14 21:00:00 | 3 days | PancakeSwap v2 | LAS | WBNB | $7,054.48 | $168.05 | 4.88% | 0.048807 | $0.000000 | $0.000000 | 2 | |
72 | 2021-05-14 21:00:00 | 3 days | PancakeSwap v2 | CORGI | WBNB | $16,369.13 | $11,727.20 | 505.27% | 5.052722 | $0.000002 | $0.000014 | 2 | |
77 | 2021-05-17 21:00:00 | 1 days | PancakeSwap v2 | KODA | WBNB | $1,983.02 | $630.64 | 93.26% | 0.932643 | $0.000040 | $0.000078 | 2 | |
78 | 2021-05-17 21:00:00 | 1 days | PancakeSwap v2 | BURNC | WBNB | $6,670.03 | $2,880.73 | 152.05% | 1.520453 | $0.000019 | $0.000048 | 2 | |
79 | 2021-05-17 21:00:00 | 1 days | PancakeSwap v2 | RACA | WBNB | $10,399.22 | $-4,438.81 | -59.83% | -0.598302 | $0.000084 | $0.000034 | 2 | |
80 | 2021-05-17 21:00:00 | 1 days | PancakeSwap v2 | Dogk | WBNB | $76,749.15 | $-66,734.12 | -93.02% | -0.930201 | $0.005417 | $0.000378 | 2 | |
85 | 2021-05-18 21:00:00 | 1 days | PancakeSwap v2 | FUCKELON | WBNB | $6,712.80 | $-4,051.37 | -75.28% | -0.752751 | $0.000022 | $0.000005 | 2 | |
86 | 2021-05-18 21:00:00 | 1 days | PancakeSwap v2 | FRANK | WBNB | $31,742.21 | $3,284.41 | 23.08% | 0.230827 | $55.150780 | $67.881042 | 2 | |
87 | 2021-05-18 21:00:00 | 1 days | PancakeSwap v2 | FRANK | BUSD | $29,693.15 | $3,215.23 | 24.29% | 0.242861 | $54.933430 | $68.274643 | 2 | |
88 | 2021-05-18 21:00:00 | 1 days | PancakeSwap v2 | LNCHX | WBNB | $5,228.88 | $-1,752.11 | -50.20% | -0.501967 | $3.362715 | $1.674744 | 2 | |
93 | 2021-05-19 21:00:00 | 1 days | PancakeSwap v2 | BURNC | WBNB | $2,936.31 | $-1,352.47 | -63.07% | -0.630702 | $0.000288 | $0.000106 | 2 | |
94 | 2021-05-19 21:00:00 | 1 days | PancakeSwap v2 | STOPELON | WBNB | $4,273.84 | $439.41 | 22.92% | 0.229191 | $0.000030 | $0.000037 | 2 | |
95 | 2021-05-19 21:00:00 | 1 days | PancakeSwap v2 | BT | WBNB | $31,208.28 | $-24,904.00 | -88.76% | -0.887649 | $0.006639 | $0.000746 | 2 | |
96 | 2021-05-19 21:00:00 | 1 days | PancakeSwap v2 | FootballStars | WBNB | $8,173.95 | $-1,319.90 | -27.81% | -0.278053 | $0.000010 | $0.000008 | 2 | |
101 | 2021-05-20 21:00:00 | 1 days | PancakeSwap v2 | ETCH | WBNB | $57,116.79 | $24,381.75 | 148.96% | 1.489643 | $0.000008 | $0.000020 | 2 | |
102 | 2021-05-20 21:00:00 | 1 days | PancakeSwap v2 | BAIT | WBNB | $4,045.92 | $-407.68 | -18.31% | -0.183078 | $0.000283 | $0.000231 | 2 | |
105 | 2021-05-21 21:00:00 | 3 days | PancakeSwap v2 | wDEFI | BUSD | $7,147.91 | $-6,519.10 | -95.40% | -0.953991 | $0.133993 | $0.006165 | 2 | |
106 | 2021-05-21 21:00:00 | 3 days | PancakeSwap v2 | wDEFI | WBNB | $8,515.25 | $-7,758.71 | -95.35% | -0.953512 | $0.136643 | $0.006352 | 2 | |
107 | 2021-05-21 21:00:00 | 4 days | PancakeSwap v2 | BARMY | WBNB | $49,983.39 | $16,676.25 | 100.14% | 1.001362 | $0.000012 | $0.000034 | 3 | |
108 | 2021-05-21 21:00:00 | 3 days | PancakeSwap v2 | TENDIE | WBNB | $4,699.16 | $-1,540.09 | -49.37% | -0.493679 | $2.095116 | $1.060802 | 2 | |
113 | 2021-05-24 21:00:00 | 1 days | PancakeSwap v2 | upBNB | WBNB | $67,279.32 | $6,577.07 | 21.67% | 0.216699 | $0.020154 | $0.024522 | 2 | |
114 | 2021-05-24 21:00:00 | 1 days | PancakeSwap v2 | MIL | WBNB | $1,895.68 | $-50.61 | -5.20% | -0.052009 | $0.000001 | $0.000001 | 2 | |
115 | 2021-05-24 21:00:00 | 1 days | PancakeSwap v2 | CTT | WBNB | $6,418.88 | $2,613.99 | 137.40% | 1.374014 | $40.477596 | $96.094376 | 2 | |
120 | 2021-05-25 21:00:00 | 1 days | PancakeSwap v2 | POC | WBNB | $21,979.81 | $-811.56 | -7.12% | -0.071216 | $0.000018 | $0.000016 | 2 | |
121 | 2021-05-25 21:00:00 | 1 days | PancakeSwap v2 | Xpose | WBNB | $17,398.29 | $-2,095.98 | -21.50% | -0.215035 | $0.000184 | $0.000145 | 2 | |
122 | 2021-05-25 21:00:00 | 2 days | PancakeSwap v2 | GUH | WBNB | $89,639.02 | $66,319.02 | 568.77% | 5.687737 | $0.012597 | $0.136818 | 3 | |
123 | 2021-05-25 21:00:00 | 1 days | PancakeSwap v2 | PARA | WBNB | $16,248.54 | $-1,035.02 | -11.98% | -0.119769 | $0.155933 | $0.137257 | 2 | |
128 | 2021-05-26 21:00:00 | 1 days | PancakeSwap v2 | wDEFI | BUSD | $32,453.66 | $-4,457.89 | -24.15% | -0.241545 | $0.028247 | $0.021424 | 2 | |
129 | 2021-05-26 21:00:00 | 1 days | PancakeSwap v2 | wDEFI | WBNB | $30,639.27 | $-4,302.51 | -24.63% | -0.246267 | $0.028213 | $0.021265 | 2 | |
130 | 2021-05-26 21:00:00 | 1 days | PancakeSwap v2 | MOOV | WBNB | $29,240.21 | $-4,478.15 | -26.56% | -0.265621 | $0.037157 | $0.027287 | 2 | |
135 | 2021-05-27 21:00:00 | 1 days | PancakeSwap v2 | TLOS | WBNB | $31,988.02 | $-2,745.19 | -15.81% | -0.158073 | $0.385180 | $0.324293 | 2 | |
136 | 2021-05-27 21:00:00 | 1 days | PancakeSwap v2 | LTN | WBNB | $24,731.30 | $-2,521.00 | -18.50% | -0.185012 | $0.000000 | $0.000000 | 2 | |
137 | 2021-05-27 21:00:00 | 1 days | PancakeSwap v2 | SAFEHAMSTERS | WBNB | $26,947.49 | $-4,303.14 | -27.54% | -0.275396 | $0.000008 | $0.000006 | 2 | |
138 | 2021-05-27 21:00:00 | 1 days | PancakeSwap v2 | MLTP | BUSD | $56,759.23 | $1,261.29 | 4.55% | 0.045454 | $0.000447 | $0.000468 | 2 | |
143 | 2021-05-28 21:00:00 | 3 days | PancakeSwap v2 | MIL | WBNB | $59,914.24 | $-19,442.17 | -49.00% | -0.489996 | $0.000020 | $0.000010 | 2 | |
144 | 2021-05-28 21:00:00 | 3 days | PancakeSwap v2 | LAS | WBNB | $7,815.39 | $-2,933.34 | -54.58% | -0.545803 | $0.000000 | $0.000000 | 2 | |
145 | 2021-05-28 21:00:00 | 3 days | PancakeSwap v2 | ETCH | WBNB | $28,448.42 | $-3,586.71 | -22.39% | -0.223924 | $0.000020 | $0.000015 | 2 | |
146 | 2021-05-28 21:00:00 | 3 days | PancakeSwap v2 | MNG | WBNB | $10,819.45 | $-4,641.74 | -60.04% | -0.600437 | $0.005167 | $0.002064 | 2 | |
151 | 2021-05-31 21:00:00 | 1 days | PancakeSwap v2 | BOG | WBNB | $1,728.02 | $-265.81 | -26.66% | -0.266630 | $0.000233 | $0.000171 | 2 | |
152 | 2021-05-31 21:00:00 | 1 days | PancakeSwap v2 | VANITY | WBNB | $7,564.72 | $1,357.06 | 43.72% | 0.437221 | $0.000964 | $0.001385 | 2 | |
153 | 2021-05-31 21:00:00 | 1 days | PancakeSwap v2 | PINK | WBNB | $19,038.86 | $-2,007.43 | -19.08% | -0.190763 | $0.000088 | $0.000071 | 2 | |
154 | 2021-05-31 21:00:00 | 3 days | PancakeSwap v2 | NOSTA | BUSD | $167,933.73 | $100,589.95 | 298.74% | 2.987357 | $0.633275 | $4.060474 | 4 | |
159 | 2021-06-01 21:00:00 | 1 days | PancakeSwap v2 | ROSN | WBNB | $29,521.98 | $-4,475.77 | -26.33% | -0.263298 | $0.393156 | $0.289639 | 2 | |
160 | 2021-06-01 21:00:00 | 1 days | PancakeSwap v2 | KODA | WBNB | $34,997.40 | $5,748.82 | 39.31% | 0.393101 | $0.000493 | $0.000686 | 2 | |
161 | 2021-06-01 21:00:00 | 1 days | PancakeSwap v2 | LNCHX | WBNB | $59,830.69 | $7,832.37 | 30.13% | 0.301255 | $0.981286 | $1.276902 | 2 | |
166 | 2021-06-02 21:00:00 | 1 days | PancakeSwap v2 | GLX | BUSD | $99,479.57 | $-56,954.57 | -72.82% | -0.728160 | $1.404988 | $0.381931 | 2 | |
167 | 2021-06-02 21:00:00 | 1 days | PancakeSwap v2 | HUNNY | WBNB | $26,732.30 | $-2,185.22 | -15.11% | -0.151135 | $0.273255 | $0.231957 | 2 | |
168 | 2021-06-02 21:00:00 | 1 days | PancakeSwap v2 | BNU | WBNB | $36,582.21 | $2,336.64 | 13.65% | 0.136464 | $0.338937 | $0.385190 | 2 | |
173 | 2021-06-03 21:00:00 | 1 days | PancakeSwap v2 | LTN | WBNB | $21,527.71 | $-3,751.46 | -29.68% | -0.296803 | $0.000002 | $0.000001 | 2 | |
174 | 2021-06-03 21:00:00 | 1 days | PancakeSwap v2 | DEXI | WBNB | $20,372.37 | $-7,932.19 | -56.05% | -0.560488 | $0.000025 | $0.000011 | 2 | |
175 | 2021-06-03 21:00:00 | 1 days | PancakeSwap v2 | mBTC | WBNB | $48,357.39 | $8,194.02 | 40.80% | 0.408034 | $5.590670 | $7.871855 | 2 | |
176 | 2021-06-03 21:00:00 | 1 days | PancakeSwap v2 | QANX | WBNB | $61,665.94 | $-10,819.83 | -29.85% | -0.298537 | $0.080166 | $0.056234 | 2 | |
181 | 2021-06-04 21:00:00 | 3 days | PancakeSwap v2 | ORK | WBNB | $19,419.21 | $126.49 | 1.31% | 0.013113 | $0.920542 | $0.932613 | 2 | |
182 | 2021-06-04 21:00:00 | 3 days | PancakeSwap v2 | GIFT | WBNB | $22,060.64 | $9,279.90 | 145.22% | 1.452169 | $0.041932 | $0.102825 | 2 | |
183 | 2021-06-04 21:00:00 | 3 days | PancakeSwap v2 | TENDIE | WBNB | $13,010.67 | $-4,278.37 | -49.49% | -0.494923 | $7.382169 | $3.728562 | 2 | |
184 | 2021-06-04 21:00:00 | 3 days | PancakeSwap v2 | LEAF | WBNB | $84,311.15 | $-13,388.32 | -27.41% | -0.274072 | $0.719691 | $0.522444 | 2 | |
189 | 2021-06-07 21:00:00 | 1 days | PancakeSwap v2 | TRX | BUSD | $34.02 | $-1.11 | -6.34% | -0.063387 | $0.076706 | $0.071844 | 2 | |
190 | 2021-06-07 21:00:00 | 1 days | PancakeSwap v2 | DINA | USDT | $9.30 | $1.22 | 30.13% | 0.301265 | $0.000136 | $0.000177 | 2 | |
191 | 2021-06-07 21:00:00 | 2 days | PancakeSwap v2 | DINO | BUSD | $135,873.50 | $-0.00 | 0.00% | 0.000000 | $0.000074 | $0.000074 | 3 | |
192 | 2021-06-07 21:00:00 | 1 days | PancakeSwap v2 | WGC | WBNB | $89.88 | $10.87 | 27.52% | 0.275230 | $0.877898 | $1.119522 | 2 | |
197 | 2021-06-08 21:00:00 | 1 days | PancakeSwap v2 | STEEL | WBNB | $2,692.45 | $-238.84 | -16.30% | -0.162960 | $0.762961 | $0.638629 | 2 | |
198 | 2021-06-08 21:00:00 | 1 days | PancakeSwap v2 | ROSN | WBNB | $3,011.65 | $101.14 | 6.95% | 0.069498 | $0.303685 | $0.324791 | 2 | |
199 | 2021-06-08 21:00:00 | 2 days | PancakeSwap v2 | RBT | WBNB | $169,497.59 | $51,767.93 | 87.94% | 0.879437 | $0.229518 | $0.415761 | 3 | |
204 | 2021-06-09 21:00:00 | 1 days | PancakeSwap v2 | TRX | BUSD | $113,206.31 | $1,008.66 | 1.80% | 0.017980 | $0.072954 | $0.074266 | 2 | |
205 | 2021-06-09 21:00:00 | 1 days | PancakeSwap v2 | GUH | WBNB | $51,778.59 | $-6,597.03 | -22.60% | -0.226020 | $4.792744 | $3.709487 | 2 | |
206 | 2021-06-09 21:00:00 | 1 days | PancakeSwap v2 | HERO | WBNB | $16,272.76 | $3,834.02 | 61.65% | 0.616465 | $0.150952 | $0.244008 | 2 | |
211 | 2021-06-10 21:00:00 | 1 days | PancakeSwap v2 | ZEFU | WBNB | $33,878.22 | $-2,709.54 | -14.81% | -0.148112 | $0.117655 | $0.100229 | 2 | |
212 | 2021-06-10 21:00:00 | 1 days | PancakeSwap v2 | ARV | WBNB | $64,128.03 | $1,359.41 | 4.33% | 0.043315 | $0.000000 | $0.000000 | 2 | |
213 | 2021-06-10 21:00:00 | 1 days | PancakeSwap v2 | HUNNY | WBNB | $56,096.92 | $-10,494.65 | -31.52% | -0.315195 | $1.920283 | $1.315020 | 2 | |
214 | 2021-06-10 21:00:00 | 1 days | PancakeSwap v2 | HERO | BUSD | $29,836.31 | $-7,058.22 | -38.26% | -0.382616 | $0.243239 | $0.150172 | 2 | |
219 | 2021-06-11 21:00:00 | 3 days | PancakeSwap v2 | HARD | WBNB | $8.04 | $-1.46 | -30.66% | -0.306619 | $1.187088 | $0.823104 | 2 | |
220 | 2021-06-11 21:00:00 | 3 days | PancakeSwap v2 | FTM | WBNB | $10,652,544.31 | $10,475,223.60 | 11815.00% | 118.150032 | $93.622337 | $11,155.104492 | 2 | |
221 | 2021-06-11 21:00:00 | 3 days | PancakeSwap v2 | Nora | WBNB | $12.39 | $0.24 | 3.92% | 0.039191 | $0.006700 | $0.006963 | 2 | |
222 | 2021-06-11 21:00:00 | 4 days | PancakeSwap v2 | JAWS | WBNB | $5,812,660.00 | $1,986,655.52 | 103.85% | 1.038501 | $1.640915 | $0.284914 | 3 | |
226 | 2021-06-14 21:00:00 | 1 days | PancakeSwap v2 | MTGY | WBNB | $1,610,103.12 | $-8,412.11 | -1.04% | -0.010395 | $0.006560 | $0.006492 | 2 | |
227 | 2021-06-14 21:00:00 | 1 days | PancakeSwap v2 | ARV | WBNB | $1,981,701.27 | $-0.00 | 0.00% | 0.000000 | $0.000000 | $0.000000 | 2 | |
228 | 2021-06-14 21:00:00 | 2 days | PancakeSwap v2 | RBT | WBNB | $26,603,800.52 | $19,815,686.39 | 583.83% | 5.838348 | $1.556272 | $13.312151 | 3 | |
234 | 2021-06-15 21:00:00 | 1 days | PancakeSwap v2 | XMS | WBNB | $1,002,151.67 | $-169,216.93 | -28.89% | -0.288922 | $0.175584 | $0.124854 | 2 | |
235 | 2021-06-15 21:00:00 | 1 days | PancakeSwap v2 | BSHIB | WBNB | $1,797,018.63 | $69,579.08 | 8.06% | 0.080557 | $0.006912 | $0.007469 | 2 | |
236 | 2021-06-15 21:00:00 | 2 days | PancakeSwap v2 | DEC | BUSD | $25,142,761.72 | $-0.00 | -0.00% | -0.000000 | $0.001004 | $0.001004 | 3 | |
241 | 2021-06-16 21:00:00 | 1 days | PancakeSwap v2 | SAFEDOG | WBNB | $2,634,830.58 | $-58,326.60 | -4.33% | -0.043315 | $0.000002 | $0.000002 | 2 | |
242 | 2021-06-16 21:00:00 | 1 days | PancakeSwap v2 | GUH | WBNB | $19,062,512.37 | $11,282,619.59 | 290.05% | 2.900456 | $28.150076 | $109.798141 | 2 | |
243 | 2021-06-16 21:00:00 | 1 days | PancakeSwap v2 | JAWS | WBNB | $4,821,909.98 | $-4,484,089.67 | -96.37% | -0.963699 | $0.119917 | $0.004353 | 2 | |
248 | 2021-06-17 21:00:00 | 1 days | PancakeSwap v2 | LIGHT | WBNB | $11.67 | $-0.69 | -11.14% | -0.111366 | $0.171697 | $0.152576 | 2 | |
249 | 2021-06-17 21:00:00 | 1 days | PancakeSwap v2 | FTM | WBNB | $121,037,763,136.71 | $120,985,446,675.06 | 462513.87% | 4625.138737 | $4.903194 | $22,682.855469 | 2 | |
252 | 2021-06-18 21:00:00 | 3 days | PancakeSwap v2 | Nora | WBNB | $1,531,779,652.66 | $-119,206,685.34 | -14.44% | -0.144407 | $0.029128 | $0.024922 | 2 | |
253 | 2021-06-18 21:00:00 | 3 days | PancakeSwap v2 | RBT | WBNB | $1,730,060,658.51 | $-661,061,870.61 | -55.29% | -0.552930 | $96.079720 | $42.954346 | 2 | |
254 | 2021-06-18 21:00:00 | 3 days | PancakeSwap v2 | JAWS | WBNB | $251,753,435,867.80 | $111,999,214,339.38 | 160.28% | 1.602803 | $0.103252 | $0.268746 | 2 | |
255 | 2021-06-18 21:00:00 | 4 days | PancakeSwap v2 | TIKI | WBNB | $37,132,836,819.96 | $9,353,923,722.36 | 67.35% | 0.673455 | $0.014915 | $0.030384 | 3 | |
259 | 2021-06-21 21:00:00 | 1 days | PancakeSwap v2 | STEEL | WBNB | $62,150,826,216.07 | $-22,804,580,656.23 | -53.69% | -0.536860 | $0.128133 | $0.059344 | 2 | |
260 | 2021-06-21 21:00:00 | 1 days | PancakeSwap v2 | DND | WBNB | $94,189,224,066.13 | $-52,499,960,309.63 | -71.58% | -0.715799 | $0.000012 | $0.000003 | 2 | |
262 | 2021-06-21 21:00:00 | 1 days | PancakeSwap v2 | PING | WBNB | $38,803,167,127.32 | $-6,210,602,549.05 | -27.59% | -0.275942 | $0.000895 | $0.000648 | 2 | |
267 | 2021-06-22 21:00:00 | 1 days | PancakeSwap v2 | TABOO | WBNB | $5,804,256,823.77 | $-1,222,594,384.09 | -34.80% | -0.347978 | $0.000417 | $0.000272 | 2 | |
268 | 2021-06-22 21:00:00 | 1 days | PancakeSwap v2 | MINT | WBNB | $25,771,770,059.15 | $1,025,468,306.26 | 8.29% | 0.082879 | $0.000013 | $0.000014 | 2 | |
269 | 2021-06-22 21:00:00 | 1 days | PancakeSwap v2 | CWT | WBNB | $129,802,481,900.24 | $-21,505,719,001.73 | -28.43% | -0.284264 | $0.048108 | $0.034432 | 2 | |
270 | 2021-06-22 21:00:00 | 1 days | PancakeSwap v2 | NFTB | WBNB | $30,988,979,359.29 | $-439,834,685.95 | -2.80% | -0.027989 | $0.036834 | $0.035803 | 2 | |
275 | 2021-06-23 21:00:00 | 1 days | PancakeSwap v2 | DVI | WBNB | $24,202,894,564.66 | $-15,054,335,994.45 | -76.70% | -0.766959 | $0.606297 | $0.141292 | 2 | |
276 | 2021-06-23 21:00:00 | 1 days | PancakeSwap v2 | THOREUM | WBNB | $3,461,940,316.02 | $-73,077,067.60 | -4.13% | -0.041345 | $0.010626 | $0.010187 | 2 | |
277 | 2021-06-23 21:00:00 | 1 days | PancakeSwap v2 | DBZ | WBNB | $131,568,318,281.74 | $42,043,640,545.81 | 93.93% | 0.939264 | $0.001029 | $0.001995 | 2 | |
278 | 2021-06-23 21:00:00 | 1 days | PancakeSwap v2 | AK | WBNB | $45,112,686,536.66 | $-7,409,364,805.69 | -28.21% | -0.282143 | $0.005219 | $0.003747 | 2 | |
283 | 2021-06-24 21:00:00 | 1 days | PancakeSwap v2 | CORGI | WBNB | $15,216,789,968.12 | $-761,971,268.29 | -9.54% | -0.095373 | $0.000001 | $0.000001 | 2 | |
284 | 2021-06-24 21:00:00 | 1 days | PancakeSwap v2 | RABBIT | WBNB | $52,581,776,575.36 | $5,996,946,530.96 | 25.75% | 0.257463 | $0.365855 | $0.460049 | 2 | |
285 | 2021-06-24 21:00:00 | 1 days | PancakeSwap v2 | XWG | USDT | $36,188,611,831.11 | $3,975,262,237.72 | 24.68% | 0.246808 | $0.011711 | $0.014602 | 2 | |
286 | 2021-06-24 21:00:00 | 1 days | PancakeSwap v2 | GME | WBNB | $121,866,935,055.25 | $5,665,702,918.65 | 9.75% | 0.097515 | $0.000007 | $0.000007 | 2 | |
291 | 2021-06-25 21:00:00 | 3 days | PancakeSwap v2 | MELODY | WBNB | $2,869,774,392.29 | $5,879,031.47 | 0.41% | 0.004106 | $0.107067 | $0.107507 | 2 | |
292 | 2021-06-25 21:00:00 | 3 days | PancakeSwap v2 | CATE | BUSD | $5,649,239,950.85 | $-209,494,688.42 | -7.15% | -0.071515 | $0.000000 | $0.000000 | 2 | |
293 | 2021-06-25 21:00:00 | 3 days | PancakeSwap v2 | JAWS | WBNB | $4,350,247,226.83 | $-153,095,593.05 | -6.80% | -0.067992 | $0.263177 | $0.245283 | 2 | |
294 | 2021-06-25 21:00:00 | 3 days | PancakeSwap v2 | $Lordz | WBNB | $318,423,530,937.54 | $100,737,570,585.89 | 92.55% | 0.925531 | $0.002544 | $0.004899 | 2 | |
299 | 2021-06-28 21:00:00 | 1 days | PancakeSwap v2 | BSCV | WBNB | $8,564,881,516.42 | $-1,185,220,672.51 | -24.31% | -0.243120 | $0.166210 | $0.125801 | 2 | |
300 | 2021-06-28 21:00:00 | 1 days | PancakeSwap v2 | DVI | WBNB | $110,817,384,112.95 | $-110,211,048,930.43 | -99.73% | -0.997257 | $15,791.803711 | $43.320789 | 2 | |
301 | 2021-06-28 21:00:00 | 1 days | PancakeSwap v2 | MONSTA | WBNB | $8,724,013,184.35 | $-1,131,938,744.23 | -22.97% | -0.229696 | $0.000632 | $0.000487 | 2 | |
302 | 2021-06-28 21:00:00 | 2 days | PancakeSwap v2 | XOM | WBNB | $443,816,707,436.60 | $319,028,931,848.38 | 511.31% | 5.113144 | $0.000029 | $0.000164 | 3 | |
307 | 2021-06-29 21:00:00 | 1 days | PancakeSwap v2 | CATE | BUSD | $84,802,468,166.85 | $533,938,494.57 | 1.27% | 0.012672 | $0.000000 | $0.000000 | 2 | |
308 | 2021-06-29 21:00:00 | 1 days | PancakeSwap v2 | ARENA | WBNB | $87,395,644,893.56 | $3,918,340,646.48 | 9.39% | 0.093878 | $0.167080 | $0.182765 | 2 | |
309 | 2021-06-29 21:00:00 | 1 days | PancakeSwap v2 | ARENA | BUSD | $141,873,195,409.78 | $5,015,250,191.08 | 7.33% | 0.073291 | $0.167543 | $0.179823 | 2 | |
314 | 2021-06-30 21:00:00 | PancakeSwap v2 | ALPA | WBNB | $66,300,173,497.70 | 0.000000 | $0.390305 | 1 | |||||
315 | 2021-06-30 21:00:00 | PancakeSwap v2 | LPOOL | WBNB | $87,662,384,410.85 | 0.000000 | $2.109730 | 1 | |||||
316 | 2021-06-30 21:00:00 | PancakeSwap v2 | GUH | WBNB | $88,875,550,309.22 | 0.000000 | $1,178.938477 | 1 | |||||
317 | 2021-06-30 21:00:00 | PancakeSwap v2 | AIRI | WBNB | $84,571,762,741.35 | 0.000000 | $0.005258 | 1 |
Portfolio timeline¶
The evolution of portfolio over the time * This table describes portfolio construction over different time periods and how the portfolio value evolves
We output the assets held at the start of the each trading day
Asset share (weight) may increase or decrease for each day
Assets are ordered from left to right by their weight
If asset is not held more than 1 day then it won’t appear on the following row and you cannot see the incurring profit/loss - for this use the trading timeline
If assets are held more than 1 day then the assets are colored based on if they are on profit/loss
[14]:
from tradingstrategy.analysis.portfolioanalyzer import expand_timeline
# Expand timeline with human-readable exchange and pair symbols
expanded_timeline, apply_styles = expand_timeline(
exchange_universe,
pair_universe,
portfolio_analysis,
create_html_styles=True)
# Do not truncate the row output
with pd.option_context("display.max_row", None):
display(apply_styles(expanded_timeline))
Id | Timestamp | NAV USD | Cash USD | #1 asset | #1 value | #1 weight % | #1 PnL | #2 asset | #2 value | #2 weight % | #2 PnL | #3 asset | #3 value | #3 weight % | #3 PnL | #4 asset | #4 value | #4 weight % | #4 PnL |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2021-05-01 00:00:00 | 10,000.00 | 10,000 | ||||||||||||||||
5 | 2021-05-02 00:00:00 | 10,000.00 | 10,000 | ||||||||||||||||
9 | 2021-05-03 00:00:00 | 10,000.00 | 10,000 | ||||||||||||||||
13 | 2021-05-04 00:00:00 | 10,000.00 | 3,477 | AQUA | 6,448 | 99 | 0.00 | ALU | 53 | 1 | 0.00 | ALLEY | 22 | 0 | 0.00 | ||||
17 | 2021-05-05 00:00:00 | 12,100.23 | 3,993 | SCZ | 3,229 | 40 | 0.00 | GDOGE | 2,365 | 29 | 0.00 | CATZ | 1,364 | 17 | 0.00 | GNT | 1,149 | 14 | 0.00 |
21 | 2021-05-06 00:00:00 | 13,626.34 | 4,497 | UFARM | 2,655 | 29 | 0.00 | CATZ | 2,466 | 27 | 1,759.53 | TSX | 2,078 | 23 | 0.00 | DOP | 1,930 | 21 | 0.00 |
25 | 2021-05-07 00:00:00 | 20,259.28 | 6,686 | STARSHIP | 6,143 | 45 | 0.00 | DEXI | 4,312 | 32 | -0.00 | SPERM | 1,857 | 14 | 0.00 | DOP | 1,261 | 9 | 0.00 |
29 | 2021-05-08 00:00:00 | 28,290.65 | 11,308 | WIN | 9,448 | 56 | 0.00 | GARUDA | 3,663 | 22 | 0.00 | GARUDA | 3,612 | 21 | 0.00 | NSFW | 259 | 2 | 0.00 |
33 | 2021-05-09 00:00:00 | 19,395.26 | 11,308 | GARUDA | 3,946 | 49 | 283.38 | GARUDA | 3,774 | 47 | 161.83 | NSFW | 367 | 5 | 107.47 | WIN | 0 | 0 | -9,448.06 |
37 | 2021-05-10 00:00:00 | 13,056.89 | 11,308 | GARUDA | 763 | 44 | -2,899.50 | GARUDA | 737 | 42 | -2,875.60 | NSFW | 249 | 14 | -10.59 | WIN | 0 | 0 | -9,448.06 |
41 | 2021-05-11 00:00:00 | 12,706.16 | 4,212 | POC | 7,391 | 87 | 0.00 | SAFEDOG | 521 | 6 | 0.00 | ShibaPup | 350 | 4 | 0.00 | HFS | 231 | 3 | 0.00 |
45 | 2021-05-12 00:00:00 | 16,817.59 | 5,550 | MOONARCH | 8,272 | 73 | 0.00 | BNX | 1,786 | 16 | 0.00 | TUTU | 993 | 9 | 0.00 | SLF | 217 | 2 | 0.00 |
49 | 2021-05-13 00:00:00 | 21,493.96 | 7,093 | ROVER | 8,029 | 56 | 0.00 | SHIBM | 5,833 | 41 | 0.00 | BALLS | 292 | 2 | 0.00 | ORT | 247 | 2 | 0.00 |
53 | 2021-05-14 00:00:00 | 11,129.56 | 3,673 | ETCH | 4,366 | 59 | 0.00 | SMEGM | 1,977 | 27 | 0.00 | SBF | 602 | 8 | 0.00 | DCH | 512 | 7 | 0.00 |
57 | 2021-05-15 00:00:00 | 41,866.34 | 13,816 | SMEGM | 18,032 | 64 | 25,268.29 | SUBX | 4,254 | 15 | 0.00 | LAS | 3,443 | 12 | 0.00 | CORGI | 2,321 | 8 | -0.00 |
61 | 2021-05-16 00:00:00 | 250,007.12 | 13,816 | SMEGM | 188,526 | 80 | 195,762.46 | CORGI | 24,246 | 10 | 21,925.29 | SUBX | 16,856 | 7 | 12,601.27 | LAS | 6,563 | 3 | 3,120.05 |
65 | 2021-05-17 00:00:00 | 177,678.48 | 13,816 | SMEGM | 135,425 | 83 | 142,661.71 | CORGI | 16,830 | 10 | 14,508.55 | SUBX | 7,841 | 5 | 3,586.22 | LAS | 3,767 | 2 | 323.95 |
69 | 2021-05-18 00:00:00 | 121,987.29 | 40,256 | Dogk | 71,742 | 88 | 0.00 | RACA | 7,419 | 9 | 0.00 | BURNC | 1,895 | 2 | 0.00 | KODA | 676 | 1 | 0.00 |
73 | 2021-05-19 00:00:00 | 54,325.74 | 17,985 | FRANK | 14,229 | 39 | 0.00 | FRANK | 13,239 | 36 | 0.00 | FUCKELON | 5,382 | 15 | 0.00 | LNCHX | 3,490 | 10 | 0.00 |
77 | 2021-05-20 00:00:00 | 55,021.89 | 18,157 | BT | 28,056 | 76 | 0.00 | Football | 4,747 | 13 | 0.00 | BURNC | 2,144 | 6 | 0.00 | STOPELON | 1,917 | 5 | 0.00 |
81 | 2021-05-21 00:00:00 | 27,884.93 | 9,291 | ETCH | 16,368 | 88 | 0.00 | BAIT | 2,227 | 12 | 0.00 | ||||||||
85 | 2021-05-22 00:00:00 | 51,859.01 | 17,115 | BARMY | 16,654 | 48 | 0.00 | wDEFI | 8,137 | 23 | 0.00 | wDEFI | 6,834 | 20 | 0.00 | TENDIE | 3,120 | 9 | 0.00 |
89 | 2021-05-23 00:00:00 | 33,579.52 | 17,115 | BARMY | 12,516 | 76 | -4,137.53 | TENDIE | 2,801 | 17 | -318.54 | wDEFI | 590 | 4 | -7,546.71 | wDEFI | 557 | 3 | -6,276.71 |
93 | 2021-05-24 00:00:00 | 32,047.98 | 17,115 | BARMY | 11,823 | 79 | -4,830.22 | TENDIE | 2,027 | 14 | -1,092.56 | wDEFI | 589 | 4 | -7,548.13 | wDEFI | 493 | 3 | -6,340.12 |
97 | 2021-05-25 00:00:00 | 51,952.60 | 17,157 | upBNB | 30,351 | 87 | 0.00 | CTT | 1,902 | 5 | 0.00 | BARMY | 1,569 | 5 | 15,911.50 | MIL | 973 | 3 | 0.00 |
101 | 2021-05-26 00:00:00 | 61,857.80 | 20,413 | GUH | 11,660 | 28 | 0.00 | POC | 11,396 | 27 | 0.00 | Xpose | 9,747 | 24 | 0.00 | PARA | 8,642 | 21 | 0.00 |
105 | 2021-05-27 00:00:00 | 104,066.32 | 34,342 | wDEFI | 18,456 | 26 | 0.00 | wDEFI | 17,471 | 25 | 0.00 | GUH | 16,938 | 24 | 46,151.08 | MOOV | 16,859 | 24 | 0.00 |
109 | 2021-05-28 00:00:00 | 110,995.71 | 36,629 | MLTP | 27,749 | 37 | 0.00 | TLOS | 17,367 | 23 | 0.00 | SAFEHAMS | 15,625 | 21 | 0.00 | LTN | 13,626 | 18 | 0.00 |
113 | 2021-05-29 00:00:00 | 102,687.66 | 33,887 | MIL | 39,678 | 58 | 0.00 | ETCH | 16,018 | 23 | 0.00 | MNG | 7,731 | 11 | 0.00 | LAS | 5,374 | 8 | 0.00 |
117 | 2021-05-30 00:00:00 | 88,408.51 | 33,887 | MIL | 26,256 | 48 | -13,422.17 | ETCH | 17,869 | 33 | 1,851.85 | MNG | 6,258 | 11 | -1,472.88 | LAS | 4,138 | 8 | -1,235.95 |
121 | 2021-05-31 00:00:00 | 75,804.93 | 33,887 | MIL | 21,532 | 51 | -18,146.05 | ETCH | 13,477 | 32 | -2,540.57 | MNG | 4,014 | 10 | -3,716.34 | LAS | 2,895 | 7 | -2,479.77 |
125 | 2021-06-01 00:00:00 | 72,083.70 | 23,788 | NOSTA | 33,672 | 70 | 0.00 | PINK | 10,523 | 22 | 0.00 | VANITY | 3,104 | 6 | 0.00 | BOG | 997 | 2 | 0.00 |
129 | 2021-06-02 00:00:00 | 125,402.32 | 41,384 | NOSTA | 26,396 | 31 | 54,234.80 | LNCHX | 25,999 | 31 | 0.00 | ROSN | 16,999 | 20 | 0.00 | KODA | 14,624 | 17 | 0.00 |
133 | 2021-06-03 00:00:00 | 182,455.15 | 60,215 | GLX | 78,217 | 64 | 0.00 | BNU | 17,123 | 14 | 0.00 | HUNNY | 14,459 | 12 | 0.00 | NOSTA | 12,442 | 10 | 102,182.21 |
137 | 2021-06-04 00:00:00 | 124,059.74 | 40,943 | QANX | 36,243 | 44 | 0.00 | mBTC | 20,082 | 24 | 0.00 | DEXI | 14,152 | 17 | 0.00 | LTN | 12,640 | 15 | 0.00 |
141 | 2021-06-05 00:00:00 | 109,750.27 | 36,219 | LEAF | 48,850 | 66 | 0.00 | ORK | 9,646 | 13 | 0.00 | TENDIE | 8,645 | 12 | 0.00 | GIFT | 6,390 | 9 | 0.00 |
145 | 2021-06-06 00:00:00 | 90,238.70 | 36,219 | LEAF | 28,922 | 54 | -19,928.02 | GIFT | 10,127 | 19 | 3,736.65 | ORK | 9,409 | 17 | -237.07 | TENDIE | 5,561 | 10 | -3,083.13 |
149 | 2021-06-07 00:00:00 | 85,418.23 | 36,219 | LEAF | 25,427 | 52 | -23,422.46 | ORK | 9,619 | 20 | -27.76 | GIFT | 8,358 | 17 | 1,967.30 | TENDIE | 5,795 | 12 | -2,849.12 |
153 | 2021-06-08 00:00:00 | 101,489.97 | 33,492 | DINO | 67,937 | 100 | -0.00 | WGC | 40 | 0 | 0.00 | TRX | 18 | 0 | 0.00 | DINA | 4 | 0 | 0.00 |
157 | 2021-06-09 00:00:00 | 101,500.94 | 33,496 | RBT | 58,865 | 87 | 0.00 | DINO | 6,219 | 9 | -0.00 | STEEL | 1,466 | 2 | 0.00 | ROSN | 1,455 | 2 | 0.00 |
161 | 2021-06-10 00:00:00 | 153,588.63 | 50,687 | TRX | 56,099 | 55 | 0.00 | GUH | 29,188 | 28 | 0.00 | RBT | 11,396 | 11 | 52,225.39 | HERO | 6,219 | 6 | 0.00 |
165 | 2021-06-11 00:00:00 | 151,376.82 | 49,956 | HUNNY | 33,296 | 33 | 0.00 | ARV | 31,384 | 31 | 0.00 | HERO | 18,447 | 18 | 0.00 | ZEFU | 18,294 | 18 | 0.00 |
169 | 2021-06-12 00:00:00 | 132,473.81 | 43,763 | FTM | 88,660 | 100 | 0.00 | JAWS | 39 | 0 | 0.00 | Nora | 6 | 0 | 0.00 | HARD | 5 | 0 | 0.00 |
173 | 2021-06-13 00:00:00 | 44,497.49 | 43,763 | JAWS | 486 | 66 | 446.47 | FTM | 239 | 32 | -88,421.79 | Nora | 6 | 1 | 0.19 | HARD | 4 | 0 | -1.20 |
177 | 2021-06-14 00:00:00 | 10,607,687.84 | 43,763 | FTM | 10,563,884 | 100 | 10,475,223.60 | JAWS | 33 | 0 | -6.88 | Nora | 5 | 0 | -1.18 | HARD | 3 | 0 | -1.51 |
181 | 2021-06-15 00:00:00 | 10,607,660.17 | 3,500,529 | RBT | 3,394,057 | 48 | 0.00 | JAWS | 1,912,966 | 27 | -36.03 | ARV | 990,851 | 14 | 0.00 | MTGY | 809,258 | 11 | 0.00 |
185 | 2021-06-16 00:00:00 | 29,998,687.86 | 9,899,576 | DEC | 12,571,381 | 63 | 0.00 | RBT | 6,078,326 | 30 | 17,412,748.25 | BSHIB | 863,720 | 4 | 0.00 | XMS | 585,684 | 3 | 0.00 |
189 | 2021-06-17 00:00:00 | 32,301,988.14 | 10,659,661 | DEC | 11,752,803 | 54 | 0.00 | JAWS | 4,653,000 | 21 | 0.00 | GUH | 3,889,946 | 18 | 0.00 | SAFEDOG | 1,346,579 | 6 | 0.00 |
193 | 2021-06-18 00:00:00 | 39,042,191.46 | 12,883,954 | FTM | 26,158,231 | 100 | 0.00 | LIGHT | 6 | 0 | 0.00 | ||||||||
197 | 2021-06-19 00:00:00 | 121,024,488,865.83 | 39,938,081,412 | JAWS | 69,877,110,764 | 86 | 0.00 | TIKI | 9,188,242,256 | 11 | 0.00 | RBT | 1,195,561,265 | 1 | 0.00 | Nora | 825,493,169 | 1 | 0.00 |
201 | 2021-06-20 00:00:00 | 198,231,489,576.01 | 39,938,081,412 | JAWS | 147,015,370,013 | 93 | 77,138,259,248.36 | TIKI | 9,026,316,446 | 6 | -161,925,810.49 | Nora | 1,397,414,996 | 1 | 571,921,827.46 | RBT | 854,306,709 | 1 | -341,254,555.15 |
205 | 2021-06-21 00:00:00 | 221,706,446,646.32 | 39,938,081,412 | JAWS | 169,657,713,034 | 93 | 99,780,602,269.52 | TIKI | 10,657,967,139 | 6 | 1,469,724,883.18 | Nora | 834,829,772 | 0 | 9,336,602.70 | RBT | 617,855,290 | 0 | -577,705,974.91 |
209 | 2021-06-22 00:00:00 | 242,499,386,782.47 | 80,024,797,638 | DND | 73,344,592,188 | 45 | 0.00 | STEEL | 42,477,703,436 | 26 | 0.00 | TIKI | 24,145,408,682 | 15 | 10,255,952,133.19 | PING | 22,506,884,838 | 14 | 0.00 |
213 | 2021-06-23 00:00:00 | 160,082,214,856.72 | 52,827,130,903 | CWT | 75,654,100,451 | 71 | 0.00 | NFTB | 15,714,407,023 | 15 | 0.00 | MINT | 12,373,150,876 | 12 | 0.00 | TABOO | 3,513,425,604 | 3 | 0.00 |
217 | 2021-06-24 00:00:00 | 137,939,535,091.21 | 45,520,046,581 | DBZ | 44,762,338,868 | 48 | 0.00 | AK | 26,261,025,671 | 28 | 0.00 | DVI | 19,628,615,280 | 21 | 0.00 | THOREUM | 1,767,508,692 | 2 | 0.00 |
221 | 2021-06-25 00:00:00 | 157,446,397,769.28 | 51,957,311,264 | GME | 58,100,616,068 | 55 | 0.00 | RABBIT | 23,292,415,022 | 22 | 0.00 | XWG | 16,106,674,797 | 15 | 0.00 | CORGI | 7,989,380,618 | 8 | 0.00 |
225 | 2021-06-26 00:00:00 | 172,322,338,188.32 | 56,866,371,603 | $Lordz | 108,842,980,176 | 94 | 0.00 | CATE | 2,929,367,320 | 3 | 0.00 | JAWS | 2,251,671,410 | 2 | 0.00 | MELODY | 1,431,947,680 | 1 | 0.00 |
229 | 2021-06-27 00:00:00 | 624,137,162,512.92 | 56,866,371,603 | $Lordz | 561,248,204,469 | 99 | 452,405,224,293.17 | CATE | 3,148,691,651 | 1 | 219,324,331.72 | MELODY | 1,565,105,516 | 0 | 133,157,835.68 | JAWS | 1,308,789,274 | 0 | -942,882,135.97 |
233 | 2021-06-28 00:00:00 | 328,181,716,909.83 | 56,866,371,603 | $Lordz | 264,863,727,471 | 98 | 156,020,747,295.25 | CATE | 2,674,159,982 | 1 | -255,207,337.66 | JAWS | 2,308,780,950 | 1 | 57,109,539.98 | MELODY | 1,468,676,904 | 1 | 36,729,223.94 |
237 | 2021-06-29 00:00:00 | 272,703,197,524.21 | 89,992,066,150 | DVI | 110,514,216,522 | 60 | 0.00 | XOM | 62,393,887,794 | 34 | 0.00 | MONSTA | 4,927,975,964 | 3 | -0.00 | BSCV | 4,875,051,094 | 3 | 0.00 |
241 | 2021-06-30 00:00:00 | 506,611,070,423.70 | 167,181,653,240 | XOM | 187,127,527,615 | 55 | 346,436,081,246.65 | ARENA | 68,428,972,609 | 20 | 0.00 | CATE | 42,134,264,836 | 12 | 0.00 | ARENA | 41,738,652,124 | 12 | 0.00 |