diff --git a/pages/performance/__init__.py b/pages/performance/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pages/performance/bot_performance/README.md b/pages/performance/bot_performance/README.md new file mode 100644 index 0000000..9123d15 --- /dev/null +++ b/pages/performance/bot_performance/README.md @@ -0,0 +1,5 @@ +This page helps you analize database files of several Hummingbot strategies and measure performance. + +#### Support + +For any inquiries, feedback, or assistance, please contact @drupman on Hummingbot's [Discord](https://discord.com/invite/hummingbot). \ No newline at end of file diff --git a/pages/performance/bot_performance/__init__.py b/pages/performance/bot_performance/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pages/performance/bot_performance/app.py b/pages/performance/bot_performance/app.py new file mode 100755 index 0000000..1a99ed9 --- /dev/null +++ b/pages/performance/bot_performance/app.py @@ -0,0 +1,43 @@ +import asyncio + +import streamlit as st + +from backend.utils.performance_data_source import PerformanceDataSource +from frontend.st_utils import get_backend_api_client, initialize_st_page +from frontend.visualization.bot_performance import ( + display_execution_analysis, + display_global_results, + display_performance_summary_table, + display_tables_section, +) +from frontend.visualization.performance_etl import display_etl_section + + +async def main(): + initialize_st_page(title="Bot Performance", icon="๐Ÿš€", initial_sidebar_state="collapsed") + st.session_state["default_config"] = {} + backend_api = get_backend_api_client() + + st.subheader("๐Ÿ”ซ DATA SOURCE") + checkpoint_data = display_etl_section(backend_api) + data_source = PerformanceDataSource(checkpoint_data) + st.divider() + + st.subheader("๐Ÿ“Š OVERVIEW") + display_performance_summary_table(data_source.get_executors_df(), data_source.executors_with_orders) + st.divider() + + st.subheader("๐ŸŒŽ GLOBAL RESULTS") + display_global_results(data_source) + st.divider() + + st.subheader("๐Ÿงจ EXECUTION") + display_execution_analysis(data_source) + st.divider() + + st.subheader("๐Ÿ’พ EXPORT") + display_tables_section(data_source) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/pages/permissions.py b/pages/permissions.py index 383ade4..d1aa4b7 100644 --- a/pages/permissions.py +++ b/pages/permissions.py @@ -31,4 +31,6 @@ def private_pages(): Page("frontend/pages/orchestration/launch_bot_v2/app.py", "Deploy V2", "๐Ÿš€"), Page("frontend/pages/orchestration/credentials/app.py", "Credentials", "๐Ÿ”‘"), Page("frontend/pages/orchestration/portfolio/app.py", "Portfolio", "๐Ÿ’ฐ"), + Section("Bot Performance"), + Page("frontend/pages/performance/bot_performance/app.py", "Strategy Performance", "๐Ÿ“Š"), ]