mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-30 22:11:55 +00:00
Out of the box crypto report (#3794)
* working crypto report * fixing news * fixing the condtion's logic * changed the load source * added example * trying to get rid of binance
This commit is contained in:
@@ -519,6 +519,11 @@ def load(
|
||||
-------
|
||||
pd.DataFrame
|
||||
Dataframe consisting of price and volume data
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.crypto.load(symbol="btc",to_symbol="usd",start_date="2019-01-01",source="YahooFinance")
|
||||
"""
|
||||
if isinstance(interval, int):
|
||||
interval = str(interval)
|
||||
|
||||
@@ -102,6 +102,11 @@ def get_marketcap_dominance(
|
||||
-------
|
||||
pd.DataFrame
|
||||
market dominance percentage over time
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> mcapdom_df = openbb.crypto.dd.mcapdom(symbol="BTC")
|
||||
"""
|
||||
|
||||
if start_date is None:
|
||||
@@ -110,13 +115,14 @@ def get_marketcap_dominance(
|
||||
if end_date is None:
|
||||
end_date = datetime.now().strftime("%Y-%m-%d")
|
||||
|
||||
df, _ = get_messari_timeseries(
|
||||
messari_timeseries = get_messari_timeseries(
|
||||
symbol=symbol,
|
||||
end_date=end_date,
|
||||
start_date=start_date,
|
||||
interval=interval,
|
||||
timeseries_id="mcap.dom",
|
||||
)
|
||||
df, _ = messari_timeseries if messari_timeseries else (pd.DataFrame(), "")
|
||||
return df
|
||||
|
||||
|
||||
@@ -653,6 +659,11 @@ def get_fundraising(
|
||||
Sales rounds,
|
||||
Treasury Accounts,
|
||||
Metric Value launch details
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> fundraise = openbb.crypto.dd.fr(symbol="BTC")
|
||||
"""
|
||||
|
||||
url = base_url2 + f"assets/{symbol}/profile"
|
||||
|
||||
294
openbb_terminal/reports/templates/crypto.ipynb
vendored
294
openbb_terminal/reports/templates/crypto.ipynb
vendored
@@ -130,10 +130,14 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"news = openbb.crypto.dd.news(symbol=ticker).head(10)\n",
|
||||
"news = news.set_index(\"published_at\")\n",
|
||||
"news.sort_index()\n",
|
||||
"news[\"link\"] = news[\"link\"].apply(lambda x: f'<a href=\"{x}\">{x}</a>')\n",
|
||||
"news"
|
||||
"\n",
|
||||
"if (isinstance(news,pd.DataFrame) and not news.empty) or (not isinstance(news,pd.DataFrame) and news):\n",
|
||||
" news = news.set_index(\"published_at\")\n",
|
||||
" news.sort_index()\n",
|
||||
" news[\"link\"] = news[\"link\"].apply(lambda x: f'<a href=\"{x}\">{x}</a>')\n",
|
||||
" news\n",
|
||||
"else:\n",
|
||||
" news = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -145,29 +149,11 @@
|
||||
"source": [
|
||||
"links = openbb.crypto.dd.links(ticker)\n",
|
||||
"\n",
|
||||
"if not links.empty:\n",
|
||||
" links = links.set_index(\"Name\")\n",
|
||||
"\n",
|
||||
"if (isinstance(links,pd.DataFrame) and not links.empty) or (not isinstance(links,pd.DataFrame) and links):\n",
|
||||
" links[\"Link\"] = links[\"Link\"].apply(lambda x: f'<a href=\"{x}\">{x}</a>')\n",
|
||||
"\n",
|
||||
" links"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "9b73e41f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# alt index\n",
|
||||
"\n",
|
||||
"# fig, ax = plt.subplots(figsize=(11, 5), dpi=150)\n",
|
||||
"# openbb.crypto.ov.altindex_chart(external_axes=[ax])\n",
|
||||
"# fig.tight_layout()\n",
|
||||
"# f = io.BytesIO()\n",
|
||||
"# fig.savefig(f, format=\"svg\")\n",
|
||||
"# altindex = f.getvalue().decode(\"utf-8\")"
|
||||
" links\n",
|
||||
"else:\n",
|
||||
" links = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -204,9 +190,14 @@
|
||||
" for date in dict_of_dates:\n",
|
||||
" data = openbb.crypto.load(\n",
|
||||
" symbol=ticker,\n",
|
||||
" to_symbol=\"usd\",\n",
|
||||
" start_date=dict_of_dates[date],\n",
|
||||
" source=\"YahooFinance\"\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
" if data.empty:\n",
|
||||
" continue\n",
|
||||
"\n",
|
||||
" # we'll be using the adjusted close price as same as close price\n",
|
||||
" data[\"Adj Close\"] = data[\"Close\"]\n",
|
||||
"\n",
|
||||
@@ -269,7 +260,7 @@
|
||||
" crypto_df=historical_data_one_year,\n",
|
||||
" symbol=ticker,\n",
|
||||
" current_currency=\"USDT\",\n",
|
||||
" source=\"cctx\",\n",
|
||||
" source=\"YahooFinance\",\n",
|
||||
" exchange=\"binance\",\n",
|
||||
" interval=\"1440\",\n",
|
||||
")\n",
|
||||
@@ -296,29 +287,6 @@
|
||||
"headlines = f.getvalue().decode(\"utf-8\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "3b23868d",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# fig, (ax1, ax2) = plt.subplots(nrows=2, ncols=1, figsize=(11, 5), dpi=150)\n",
|
||||
"# openbb.crypto.chart(\n",
|
||||
"# historical_data_one_year,\n",
|
||||
"# symbol=ticker,\n",
|
||||
"# currency=\"USDT\",\n",
|
||||
"# source=\"cctx\",\n",
|
||||
"# exchange=\"binance\",\n",
|
||||
"# interval=\"1440\",\n",
|
||||
"# external_axes=[ax1, ax2],\n",
|
||||
"# )\n",
|
||||
"# fig.tight_layout()\n",
|
||||
"# f = io.BytesIO()\n",
|
||||
"# fig.savefig(f, format=\"svg\")\n",
|
||||
"# one_year_candle = f.getvalue().decode(\"utf-8\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
@@ -331,7 +299,7 @@
|
||||
" historical_data_one_year,\n",
|
||||
" to_symbol=ticker,\n",
|
||||
" from_symbol=\"USDT\",\n",
|
||||
" source=\"cctx\",\n",
|
||||
" source=\"YahooFinance\",\n",
|
||||
" exchange=\"binance\",\n",
|
||||
" interval=\"1440\",\n",
|
||||
" external_axes=[ax1, ax2],\n",
|
||||
@@ -358,14 +326,17 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# market cap dominance\n",
|
||||
"mcapdom_df = openbb.crypto.dd.mcapdom(symbol=ticker)\n",
|
||||
"\n",
|
||||
"fig, ax = plt.subplots(figsize=(11, 5), dpi=150)\n",
|
||||
"openbb.crypto.dd.mcapdom_chart(symbol=ticker, external_axes=[ax])\n",
|
||||
"fig.tight_layout()\n",
|
||||
"f = io.BytesIO()\n",
|
||||
"fig.savefig(f, format=\"svg\")\n",
|
||||
"mcapdom = f.getvalue().decode(\"utf-8\")\n",
|
||||
"mcapdom_df = openbb.crypto.dd.mcapdom(symbol=ticker)"
|
||||
"if (isinstance(mcapdom_df,pd.DataFrame) and not mcapdom_df.empty) or (not isinstance(mcapdom_df,pd.DataFrame) and mcapdom_df):\n",
|
||||
" fig, ax = plt.subplots(figsize=(11, 5), dpi=150)\n",
|
||||
" openbb.crypto.dd.mcapdom_chart(symbol=ticker, external_axes=[ax])\n",
|
||||
" fig.tight_layout()\n",
|
||||
" f = io.BytesIO()\n",
|
||||
" fig.savefig(f, format=\"svg\")\n",
|
||||
" mcapdom = f.getvalue().decode(\"utf-8\")\n",
|
||||
"else:\n",
|
||||
" mcapdom_df = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -376,28 +347,22 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# roadmap\n",
|
||||
"roadmap_model = openbb.crypto.dd.rm(symbol=ticker)\n",
|
||||
"\n",
|
||||
"fig, ax = plt.subplots(figsize=(11, 5), dpi=150)\n",
|
||||
"openbb.crypto.dd.rm_chart(symbol=ticker, external_axes=[ax])\n",
|
||||
"fig.tight_layout()\n",
|
||||
"f = io.BytesIO()\n",
|
||||
"fig.savefig(f, format=\"svg\")\n",
|
||||
"roadmap_view = f.getvalue().decode(\"utf-8\")\n",
|
||||
"if (isinstance(roadmap_model,pd.DataFrame) and not roadmap_model.empty) or (not isinstance(roadmap_model,pd.DataFrame) and roadmap_model):\n",
|
||||
"\n",
|
||||
"roadmap_model = openbb.crypto.dd.rm(symbol=ticker)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "f496d047",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"if not roadmap_model.empty:\n",
|
||||
" roadmap_model = roadmap_model.set_index(\"Date\")\n",
|
||||
" roadmap_model.sort_index()\n",
|
||||
" roadmap_model"
|
||||
"\n",
|
||||
" fig, ax = plt.subplots(figsize=(11, 5), dpi=150)\n",
|
||||
" openbb.crypto.dd.rm_chart(symbol=ticker, external_axes=[ax])\n",
|
||||
" fig.tight_layout()\n",
|
||||
" f = io.BytesIO()\n",
|
||||
" fig.savefig(f, format=\"svg\")\n",
|
||||
" roadmap_view = f.getvalue().decode(\"utf-8\")\n",
|
||||
"\n",
|
||||
"else:\n",
|
||||
" roadmap_model = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -406,28 +371,24 @@
|
||||
"id": "9ddbc654",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"fig, ax1 = plt.subplots(figsize=(11, 5), dpi=150)\n",
|
||||
"ax2 = ax1.twinx()\n",
|
||||
"openbb.crypto.dd.tk_chart(symbol=ticker, external_axes=[ax1, ax2])\n",
|
||||
"fig.tight_layout()\n",
|
||||
"f = io.BytesIO()\n",
|
||||
"fig.savefig(f, format=\"svg\")\n",
|
||||
"tokenomics_view = f.getvalue().decode(\"utf-8\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "aecd816f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"tokenomics_model = openbb.crypto.dd.rm(symbol=ticker)\n",
|
||||
"if not tokenomics_model.empty:\n",
|
||||
"\n",
|
||||
"if (isinstance(tokenomics_model,pd.DataFrame) and not tokenomics_model.empty) or (not isinstance(tokenomics_model,pd.DataFrame) and tokenomics_model):\n",
|
||||
"\n",
|
||||
" tokenomics_model = tokenomics_model.set_index(\"Date\")\n",
|
||||
" tokenomics_model.sort_index()\n",
|
||||
" tokenomics_model"
|
||||
"\n",
|
||||
" fig, ax1 = plt.subplots(figsize=(11, 5), dpi=150)\n",
|
||||
" ax2 = ax1.twinx()\n",
|
||||
" openbb.crypto.dd.tk_chart(symbol=ticker, external_axes=[ax1, ax2])\n",
|
||||
" fig.tight_layout()\n",
|
||||
" f = io.BytesIO()\n",
|
||||
" fig.savefig(f, format=\"svg\")\n",
|
||||
" tokenomics_view = f.getvalue().decode(\"utf-8\")\n",
|
||||
" \n",
|
||||
"else:\n",
|
||||
" tokenomics_model = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -438,10 +399,11 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# fundraise\n",
|
||||
"fundraise = openbb.crypto.dd.fr(symbol=ticker) # this returns a tuple\n",
|
||||
"\n",
|
||||
"fundraise = openbb.crypto.dd.fr(symbol=ticker)\n",
|
||||
"fundraise_info = fundraise[0]\n",
|
||||
"fundraise_df = fundraise[1]"
|
||||
"if fundraise:\n",
|
||||
" fundraise_info = fundraise[0]\n",
|
||||
" fundraise_df = fundraise[1]"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -452,9 +414,11 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"trading_pair_info = openbb.crypto.dd.trading_pair_info(f\"{ticker}-USDT\")\n",
|
||||
"if not trading_pair_info.empty:\n",
|
||||
"if (isinstance(trading_pair_info,pd.DataFrame) and not trading_pair_info.empty) or (not isinstance(trading_pair_info,pd.DataFrame) and trading_pair_info):\n",
|
||||
" trading_pair_info = trading_pair_info.set_index(\"Metric\")\n",
|
||||
" trading_pair_info"
|
||||
" trading_pair_info\n",
|
||||
"else:\n",
|
||||
" trading_pair_info = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -474,8 +438,7 @@
|
||||
" ath = coin.get_all_time_high(currency=cg_id)\n",
|
||||
"\n",
|
||||
"except Exception as e:\n",
|
||||
" # ath = str(\"Reached coingecko API limit\")\n",
|
||||
" pass"
|
||||
" print(\"Reached coingecko API limit\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -495,8 +458,7 @@
|
||||
" atl = coin.get_all_time_low(currency=cg_id)\n",
|
||||
"\n",
|
||||
"except Exception as e:\n",
|
||||
" # atl = str(\"Reached coingecko API limit\")\n",
|
||||
" pass"
|
||||
" print(\"Reached coingecko API limit\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -510,14 +472,15 @@
|
||||
"\n",
|
||||
"market = openbb.crypto.dd.mkt(ticker)\n",
|
||||
"\n",
|
||||
"if not market.empty:\n",
|
||||
"if (isinstance(market,pd.DataFrame) and not market.empty) or (not isinstance(market,pd.DataFrame) and market):\n",
|
||||
" market = market.set_index(\"exchange\")\n",
|
||||
"\n",
|
||||
" market[\"market_url\"] = market[\"market_url\"].apply(\n",
|
||||
" lambda x: f'<a href=\"{x}\">{x}</a>'\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
" market"
|
||||
" market\n",
|
||||
"else:\n",
|
||||
" market = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -528,11 +491,13 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# all exchanges where loaded coin is listed\n",
|
||||
"\n",
|
||||
"ex = openbb.crypto.dd.ex(ticker)\n",
|
||||
"if not ex.empty:\n",
|
||||
"\n",
|
||||
"if (isinstance(ex,pd.DataFrame) and not ex.empty) or (not isinstance(ex,pd.DataFrame) and ex):\n",
|
||||
" ex = ex.set_index(\"id\")\n",
|
||||
" ex"
|
||||
" ex\n",
|
||||
"else:\n",
|
||||
" ex = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -543,10 +508,12 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# last trades\n",
|
||||
"trades = openbb.crypto.dd.trades(symbol=ticker, exchange_id=\"binance\", to_symbol=\"USDT\")\n",
|
||||
"if not trades.empty:\n",
|
||||
"trades = openbb.crypto.dd.trades(symbol=ticker, exchange_id=\"gemini\", to_symbol=\"USD\")\n",
|
||||
"if (isinstance(trades,pd.DataFrame) and not trades.empty) or (not isinstance(trades,pd.DataFrame) and trades):\n",
|
||||
" trades = trades.set_index(\"Date\")\n",
|
||||
" trades"
|
||||
" trades\n",
|
||||
"else:\n",
|
||||
" trades = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -557,28 +524,19 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# order book\n",
|
||||
"\n",
|
||||
"fig, ax = plt.subplots(figsize=(11, 5), dpi=150)\n",
|
||||
"openbb.crypto.dd.ob_chart(\n",
|
||||
" symbol=ticker, exchange=\"binance\", to_symbol=\"USDT\", external_axes=[ax]\n",
|
||||
")\n",
|
||||
"fig.tight_layout()\n",
|
||||
"f = io.BytesIO()\n",
|
||||
"fig.savefig(f, format=\"svg\")\n",
|
||||
"order_book = f.getvalue().decode(\"utf-8\")\n",
|
||||
"order_book_raw = openbb.crypto.dd.ob(\n",
|
||||
" symbol=ticker, exchange=\"binance\", to_symbol=\"USDT\"\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "95cdc32e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"order_book_raw"
|
||||
" symbol=ticker, exchange=\"gemini\", to_symbol=\"USD\"\n",
|
||||
") # this returns a dict\n",
|
||||
"\n",
|
||||
"if order_book_raw:\n",
|
||||
" fig, ax = plt.subplots(figsize=(11, 5), dpi=150)\n",
|
||||
" openbb.crypto.dd.ob_chart(\n",
|
||||
" symbol=ticker, exchange=\"gemini\", to_symbol=\"USD\", external_axes=[ax]\n",
|
||||
" )\n",
|
||||
" fig.tight_layout()\n",
|
||||
" f = io.BytesIO()\n",
|
||||
" fig.savefig(f, format=\"svg\")\n",
|
||||
" order_book = f.getvalue().decode(\"utf-8\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -591,9 +549,11 @@
|
||||
"# price and supply related metrics for loaded coin\n",
|
||||
"\n",
|
||||
"ps = openbb.crypto.dd.ps(ticker)\n",
|
||||
"if not ps.empty:\n",
|
||||
"if (isinstance(ps,pd.DataFrame) and not ps.empty) or (not isinstance(ps,pd.DataFrame) and ps):\n",
|
||||
" ps = ps.set_index(\"Metric\")\n",
|
||||
" ps"
|
||||
" ps\n",
|
||||
"else:\n",
|
||||
" ps = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -607,12 +567,11 @@
|
||||
"\n",
|
||||
"events = openbb.crypto.dd.events(ticker)\n",
|
||||
"\n",
|
||||
"if not events.empty:\n",
|
||||
"if (isinstance(events,pd.DataFrame) and not events.empty) or (not isinstance(events,pd.DataFrame) and events):\n",
|
||||
" events = events.set_index(\"date\")\n",
|
||||
"\n",
|
||||
" events[\"link\"] = events[\"link\"].apply(lambda x: f'<a href=\"{x}\">{x}</a>')\n",
|
||||
"\n",
|
||||
"events"
|
||||
"else:\n",
|
||||
" events = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -658,13 +617,15 @@
|
||||
"\n",
|
||||
"gh_data = openbb.crypto.dd.gh(symbol=ticker)\n",
|
||||
"\n",
|
||||
"if not gh_data.empty:\n",
|
||||
"if (isinstance(gh_data,pd.DataFrame) and not gh_data.empty) or (not isinstance(gh_data,pd.DataFrame) and gh_data):\n",
|
||||
" fig, ax = plt.subplots(figsize=(11, 5), dpi=150)\n",
|
||||
" openbb.crypto.dd.gh_chart(symbol=ticker, external_axes=[ax])\n",
|
||||
" fig.tight_layout()\n",
|
||||
" f = io.BytesIO()\n",
|
||||
" fig.savefig(f, format=\"svg\")\n",
|
||||
" gh = f.getvalue().decode(\"utf-8\")"
|
||||
" gh = f.getvalue().decode(\"utf-8\")\n",
|
||||
"else:\n",
|
||||
" gh_data = pd.DataFrame()"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -957,7 +918,7 @@
|
||||
"# rolling mean and std deviation of prices\n",
|
||||
"\n",
|
||||
"fig, (ax1, ax2) = plt.subplots(nrows=2, ncols=1, figsize=(11, 5), dpi=150)\n",
|
||||
"openbb.qa.rolling(\n",
|
||||
"openbb.qa.rolling_chart(\n",
|
||||
" symbol=ticker,\n",
|
||||
" data=ticker_data,\n",
|
||||
" target=\"Close\",\n",
|
||||
@@ -979,7 +940,7 @@
|
||||
"# rolling kurtosis of distribution of prices\n",
|
||||
"\n",
|
||||
"fig, (ax1, ax2) = plt.subplots(nrows=2, ncols=1, figsize=(11, 5), dpi=150)\n",
|
||||
"openbb.qa.kurtosis(\n",
|
||||
"openbb.qa.kurtosis_chart(\n",
|
||||
" symbol=ticker,\n",
|
||||
" data=ticker_data,\n",
|
||||
" target=\"Close\",\n",
|
||||
@@ -1044,9 +1005,8 @@
|
||||
"if not links.empty:\n",
|
||||
" htmlcode += widgets.row([widgets.h(3, \"Links\") + links.to_html(escape=False)])\n",
|
||||
"\n",
|
||||
"htmlcode += widgets.row([widgets.h(3, \"Published news\") + news.to_html(escape=False)])\n",
|
||||
"# htmlcode += widgets.row([widgets.h(3, \"Altindex\")])\n",
|
||||
"# htmlcode += widgets.row([altindex])\n",
|
||||
"if not news.empty:\n",
|
||||
" htmlcode += widgets.row([widgets.h(3, \"Published news\") + news.to_html(escape=False)])\n",
|
||||
"\n",
|
||||
"htmlcode += widgets.row([widgets.h(3, \"Historical data\")])\n",
|
||||
"for data in historical_data:\n",
|
||||
@@ -1063,9 +1023,10 @@
|
||||
"\n",
|
||||
"# # Due diligence tab\n",
|
||||
"htmlcode = \"\"\n",
|
||||
"htmlcode += widgets.row(\n",
|
||||
" [widgets.h(3, f\"Trading pair info {ticker}/USDT\") + trading_pair_info.to_html()]\n",
|
||||
")\n",
|
||||
"if not trading_pair_info.empty:\n",
|
||||
" htmlcode += widgets.row(\n",
|
||||
" [widgets.h(3, f\"Trading pair info {ticker}/USDT\") + trading_pair_info.to_html()]\n",
|
||||
" )\n",
|
||||
"if not mcapdom_df.empty:\n",
|
||||
" htmlcode += widgets.row([widgets.h(3, \"Market cap dominance\")])\n",
|
||||
" htmlcode += widgets.row([mcapdom])\n",
|
||||
@@ -1078,7 +1039,7 @@
|
||||
" htmlcode += widgets.row([widgets.h(3, \"Tokenomics\") + tokenomics_model.to_html()])\n",
|
||||
" htmlcode += widgets.row([tokenomics_view])\n",
|
||||
"\n",
|
||||
"if not fundraise_df.empty:\n",
|
||||
"if fundraise:\n",
|
||||
" htmlcode += widgets.row([widgets.h(3, \"Fundraising Details\")])\n",
|
||||
" htmlcode += widgets.row([widgets.p(fundraise_info)])\n",
|
||||
" htmlcode += widgets.row([fundraise_df.to_html()])\n",
|
||||
@@ -1091,29 +1052,38 @@
|
||||
" htmlcode += widgets.row([widgets.h(3, \"All time low\")])\n",
|
||||
" htmlcode += widgets.row([atl.to_html()])\n",
|
||||
"\n",
|
||||
"htmlcode += widgets.row([widgets.h(3, \"All markets\")])\n",
|
||||
"htmlcode += widgets.row([market.sample(n=20).sort_index().to_html(escape=False)])\n",
|
||||
"htmlcode += widgets.row([widgets.h(3, \"Exchanges where loaded coin is listed\")])\n",
|
||||
"htmlcode += widgets.row([ex.sample(n=20).sort_index().to_html()])\n",
|
||||
"htmlcode += widgets.row([widgets.h(3, \"Last trades\")])\n",
|
||||
"htmlcode += widgets.row([trades.tail(20).to_html()])\n",
|
||||
"if not market.empty:\n",
|
||||
" htmlcode += widgets.row([widgets.h(3, \"All markets\")])\n",
|
||||
" htmlcode += widgets.row([market.sample(n=20).sort_index().to_html(escape=False)])\n",
|
||||
"\n",
|
||||
"if not ex.empty:\n",
|
||||
" htmlcode += widgets.row([widgets.h(3, \"Exchanges where loaded coin is listed\")])\n",
|
||||
" htmlcode += widgets.row([ex.sample(n=20).sort_index().to_html()])\n",
|
||||
"\n",
|
||||
"if not trades.empty:\n",
|
||||
" htmlcode += widgets.row([widgets.h(3, \"Last trades\")])\n",
|
||||
" htmlcode += widgets.row([trades.tail(20).to_html()])\n",
|
||||
"\n",
|
||||
"if order_book_raw:\n",
|
||||
" htmlcode += widgets.row([widgets.h(3, \"Order book\")])\n",
|
||||
" htmlcode += widgets.row([order_book])\n",
|
||||
"\n",
|
||||
"htmlcode += widgets.row(\n",
|
||||
" [widgets.h(3, \"Price and supply related metrics for loaded coin\")]\n",
|
||||
")\n",
|
||||
"htmlcode += widgets.row([ps.to_html()])\n",
|
||||
"if not ps.empty:\n",
|
||||
" htmlcode += widgets.row(\n",
|
||||
" [widgets.h(3, \"Price and supply related metrics for loaded coin\")]\n",
|
||||
" )\n",
|
||||
" htmlcode += widgets.row([ps.to_html()])\n",
|
||||
"\n",
|
||||
"if not events.empty:\n",
|
||||
" htmlcode += widgets.row([widgets.h(3, \"Events\")])\n",
|
||||
" htmlcode += widgets.row([events.to_html(escape=False)])\n",
|
||||
"\n",
|
||||
"# TODO: print rich table\n",
|
||||
"# htmlcode += widgets.row([widgets.h(3, \"Tweets for loaded coin\")])\n",
|
||||
"# htmlcode += widgets.row([tweets])\n",
|
||||
"# htmlcode += widgets.row([widgets.h(3, \"Social media\")])\n",
|
||||
"# htmlcode += widgets.row([social.to_html()])\n",
|
||||
"\n",
|
||||
"if not gh_data.empty:\n",
|
||||
" htmlcode += widgets.row([widgets.h(3, \"Github activity over time\")])\n",
|
||||
" htmlcode += widgets.row([gh])\n",
|
||||
@@ -1171,7 +1141,7 @@
|
||||
"metadata": {
|
||||
"celltoolbar": "Tags",
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3.9.6 ('obb')",
|
||||
"display_name": "obb-full",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -1189,7 +1159,7 @@
|
||||
},
|
||||
"vscode": {
|
||||
"interpreter": {
|
||||
"hash": "cb66ba39c97f15743fbb79e204a841ea03600987d49579cfb0ffc8e8dd934c69"
|
||||
"hash": "73442d10f374b1f81e7aab42e2dddb832a354757dce244164d617e7faf60ecd1"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user