Esempio n. 1
0
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'
Esempio n. 3
0
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'
    }, {
Esempio n. 4
0
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'),