Spaces:
Runtime error
Runtime error
File size: 2,162 Bytes
b2956d3 d699cdf 810bb53 d699cdf c70f265 3635740 c70f265 df9b0ed c70f265 a904eae c70f265 6be9609 0239f21 6be9609 2219b7f ebe8698 d699cdf ebe8698 c70f265 358e906 6692e9c 8a2cae0 bc1555d 3d741dc e0ce4e0 3635740 8d51d7a 810bb53 80b941e 8a2cae0 560fccd 87e4852 62447eb e451088 62447eb 06063fb e451088 fe8f4f7 e451088 df9b0ed e451088 62447eb e451088 87e4852 6f266a2 87e4852 6f266a2 a904eae 358e906 864f824 91255a4 864f824 358e906 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
import datetime
import json
from datetime import tzinfo
import pandas as pd
import streamlit as st
from tzlocal import get_localzone
from api import TradeAssistantAPI
from style import portfolio_table_styler, recommendation_table_styler
st.title("π Trading Assistant")
if st.sidebar.button("Refresh"):
st.experimental_rerun()
st.sidebar.title("Settings")
param_token = st.experimental_get_query_params().get("token", [""])[0]
token = st.sidebar.text_input("Token", type="password", value=param_token)
if not token:
st.error("Access denied")
st.stop()
api = TradeAssistantAPI(token)
st.write("## Recommendations")
recommendation_res = None
try:
recommendation_res = api.get_recommendations()
updated = recommendation_res["updated"]
recommendations = json.loads(recommendation_res["recommendations"])
recommendations = pd.DataFrame(recommendations)
st.dataframe(recommendations.style.pipe(recommendation_table_styler))
tz = str(get_localzone())
updated_time_ago = pd.Timestamp.now().tz_localize(tz) - pd.Timestamp(
updated, tz="UTC"
)
st.write(f"Updated: {updated_time_ago} ago")
except Exception as e:
st.error(e)
st.expander("Details").write(recommendation_res)
portfolio = None
try:
portfolio = api.get_portfolio()
portfolio = portfolio[list(portfolio.keys())[0]]
portfolio = pd.DataFrame(portfolio)
portfolio.set_index("contractDesc", inplace=True)
st.write("## Portfolio")
st.dataframe(portfolio.style.pipe(portfolio_table_styler))
except Exception as e:
st.error(e)
st.expander("Details").write(portfolio)
st.sidebar.write("## Actions")
schedule_training_res = None
if st.sidebar.button("Train model"):
schedule_training_res = api.train_model()
st.sidebar.success(
f"Training job scheduled. Job ID: {schedule_training_res['job_id']}"
)
st.write("## Training jobs")
try:
training_jobs_res = api.list_training_jobs()
# training_jobs = pd.DataFrame(training_jobs_res)
# st.dataframe(training_jobs)
st.write(training_jobs_res)
except Exception as e:
st.error(e)
st.expander("Details").write(training_jobs_res)
|