trader_agents_performance / tabs /market_plots.py
cyberosa
Adding divergence graph
52d1750
raw
history blame
1.11 kB
import pandas as pd
import gradio as gr
import matplotlib.pyplot as plt
import seaborn as sns
from typing import Tuple
import plotly.express as px
def plot_kl_div_per_market(closed_markets: pd.DataFrame) -> gr.Plot:
# adding the total
all_markets = closed_markets.copy(deep=True)
all_markets["market_creator"] = "all"
# merging both dataframes
final_markets = pd.concat([closed_markets, all_markets], ignore_index=True)
final_markets = final_markets.sort_values(by="opening_datetime", ascending=True)
fig = px.box(
final_markets,
x="month_year_week",
y="kl_divergence",
color="market_creator",
color_discrete_sequence=["purple", "goldenrod", "darkgreen"],
category_orders={"market_creator": ["pearl", "quickstart", "all"]},
)
fig.update_traces(boxmean=True)
fig.update_layout(
xaxis_title="Markets closing Week",
yaxis_title="Kullback–Leibler divergence",
legend=dict(yanchor="top", y=0.5),
)
fig.update_xaxes(tickformat="%b %d\n%Y")
return gr.Plot(
value=fig,
)