import dash_core_components as dcc import dash_html_components as html import plotly.graph_objects as go import yfinance as yf from dash.dependencies import Input, Output, State from dash.exceptions import PreventUpdate from app import app from pages.analysis.asset_mode_dropdown import generate_analysis_mode_dropdown from pages.page import Page page = Page('Benchmark-Comparison') page.set_path('/analysis/benchmark-comparison') page.set_storage(['asset-list']) page.set_layout([ html.H1( page.name, style={ "margin-bottom": "10px", "margin-left": "4px", }, ), html.Div(children=''' Choose an asset to benchmark '''), html.Br(), generate_analysis_mode_dropdown(page.id), html.Br(),
import dash_html_components as html import plotly.graph_objects as go from dash.dependencies import Input, Output, State from dash.exceptions import PreventUpdate from app import app from helper_functions.date_utils import remove_day_time from helper_functions.get_t_bill_return import get_t_bill_return from helper_functions.ratio_metrics import * from helper_functions.return_metrics import calculate_rate_of_return, calculate_gain_to_pain from pages.page import Page page = Page("Reward-Risk") page.set_path('/pages/reward_risk') page.set_storage([ 'asset-list', 'aggregate-value-by-day', 'portfolio-gains', 'portfolio-losses' ]) default_gauge = { 'axis': { 'range': [-1, 4] }, 'bar': { 'color': 'black' }, 'steps': [{ 'range': [-1, 1], 'color': 'red' }, { 'range': [1, 2], 'color': 'orange'
from datetime import datetime, timedelta import dash_core_components as dcc import dash_html_components as html import plotly.graph_objects as go import yfinance as yf from dash.dependencies import Input, Output, State from dash.exceptions import PreventUpdate from app import app from pages.analysis.asset_mode_dropdown import generate_analysis_mode_dropdown from pages.page import Page page = Page("Exit-Quality") page.set_path('/pages/exit_quality') page.set_storage(['asset-list', 'buy-price-dict', 'sell-price-dict']) exit_quality_gauge = { 'axis': { 'range': [-100, 100] }, 'bar': { 'color': 'black' }, 'steps': [{ 'range': [-100, 0], 'color': 'red' }, { 'range': [0, 50], 'color': 'orange' }, {
import pandas as pd import plotly.express as px from dash.dependencies import Input, Output, State from dash.exceptions import PreventUpdate from app import app from model.diversification_data_processor import DiversificationDataProcessor from pages.page import Page sample_data = px.data.stocks() sample_data = pd.DataFrame(sample_data) page = Page("Diversification") page.set_path('/analysis/diversification') metrics = ['asset-list', 'number-of-shares'] page.set_storage(metrics) page.set_layout([ html.H1( page.name, style={ "margin-bottom": "10px", "margin-left": "4px", }, ), html.Br(), dcc.Graph(id='sunburst'), dcc.Graph(id='industry-pie-chart'), dcc.Graph(id='sector-pie-chart'), dcc.Graph(id='diversification-map'), ])
from dash.dependencies import Input, Output, State from dash.exceptions import PreventUpdate from app import app from pages.page import Page page = Page('Overview') page.set_path('/analysis/overview') asset_list = ['ALL ASSETS', 'GOOG', 'AMZN'] overview_metrics = [ 'profit-list', 'rate-of-return', 'aggregate-value-by-day', 'total-amount-traded' ] page.set_storage(overview_metrics) metrics = html.Div([ dbc.Row([ dbc.Col( html.Div( [html.H3(id="p&l"), html.P("P&L")], id="p&l", className="mini_container", )), ], ), dbc.Row([ dbc.Col( html.Div( [ html.H3(id='total-amount-traded'),