def create_layout(self): pn.extension() title = pn.pane.Markdown(""" # Stock Index Correlation """, background='#007500') title.session_id = self.session_id output = interact(self.stockindex_model, stock='TSLA') output.session_id = self.session_id # df_info = output[1][0].object # df_widget = pn.widgets.DataFrame( # df_info, name='DataFrame', autosize_mode='fit_columns',width=900) # df_widget.session_id = self.session_id # Plot forecast and real data layout = interact(self.layout_vis, stock='TSLA') layout.session_id = self.session_id layout2 = interact(self.layout_vis2, stock='TSLA') layout2.session_id = self.session_id app_col = pn.Column(title, output[0], output[1][0], layout[1], width=900) app_row = pn.Row(app_col, layout2[1], margin=(25, 5, 25, 25), width=900) #, background='#007500') return app_row
def test_interact_replaces_model(document, comm): def test(a): return BkParagraph(text='Pre Test') if a else BkDiv(text='Test') interactive = interact(test, a=False) pane = interactive._pane widget = interactive._widgets['a'] assert isinstance(widget, widgets.Checkbox) assert widget.value == False column = interactive._get_model(document, comm=comm) assert isinstance(column, BkColumn) box = column.children[1] assert isinstance(box, BkWidgetBox) div = box.children[0] assert isinstance(div, BkDiv) assert div.text == 'Test' assert column.ref['id'] in interactive._callbacks assert box.ref['id'] in pane._callbacks widget.value = True assert box.ref['id'] not in pane._callbacks new_box = column.children[1] pre = new_box.children[0] assert isinstance(pre, BkParagraph) assert pre.text == 'Pre Test' assert column.ref['id'] in interactive._callbacks assert new_box.ref['id'] in pane._callbacks interactive._cleanup(column) assert interactive._callbacks == {} assert pane._callbacks == {}
def test_string_interact(): def test(a): return a interactive = interact(test, a='') widget = interactive._widgets['a'] assert isinstance(widget, widgets.TextInput) assert widget.value == ''
def test_boolean_interact(): def test(a): return a interactive = interact(test, a=False) widget = interactive._widgets['a'] assert isinstance(widget, widgets.Checkbox) assert widget.value == False
def test_numeric_list_interact(): def test(a): return a interactive = interact(test, a=[1, 3, 5]) widget = interactive._widgets['a'] assert isinstance(widget, widgets.DiscreteSlider) assert widget.value == 1 assert widget.options == [1, 3, 5]
def test_string_list_interact(): def test(a): return a options = ['A', 'B', 'C'] interactive = interact(test, a=options) widget = interactive._widgets['a'] assert isinstance(widget, widgets.Select) assert widget.value == 'A' assert widget.options == dict(zip(options, options))
def test_tuple_range_interact_with_default_of_different_type(): def test(a=3.1): return a interactive = interact(test, a=(0, 4)) widget = interactive._widgets['a'] assert isinstance(widget, widgets.FloatSlider) assert widget.value == 3.1 assert widget.start == 0 assert widget.end == 4
def test_integer_interact(): def test(a): return a interactive = interact(test, a=1) widget = interactive._widgets['a'] assert isinstance(widget, widgets.IntSlider) assert widget.value == 1 assert widget.start == -1 assert widget.step == 1 assert widget.end == 3
def test_tuple_int_range_interact(): def test(a): return a interactive = interact(test, a=(0, 4)) widget = interactive._widgets['a'] assert isinstance(widget, widgets.IntSlider) assert widget.value == 2 assert widget.start == 0 assert widget.step == 1 assert widget.end == 4
def test_tuple_float_range_interact_with_default(): def test(a=3.1): return a interactive = interact(test, a=(0, 4, 0.1)) widget = interactive._widgets['a'] assert isinstance(widget, widgets.FloatSlider) assert widget.value == 3.1 assert widget.start == 0 assert widget.step == 0.1 assert widget.end == 4
def test_interact_updates_panel(document, comm): def test(a): return a interactive = interact(test, a=False) widget = interactive._widgets['a'] assert isinstance(widget, widgets.Checkbox) assert widget.value == False column = interactive._get_model(document, comm=comm) assert isinstance(column, BkColumn) box = column.children[1] div = get_div(box) assert div.text == '<pre>False</pre>' widget.value = True assert div.text == '<pre>True</pre>'
def create_layout(self): pn.extension() title = pn.pane.Markdown(""" # Financial Analysis """, background='#007500') title.session_id = self.session_id output = interact(self.statistics_model, stock='TSLA') output.session_id = self.session_id df_info = output[1][0].object # df_widget = pn.widgets.DataFrame( # df_info, name='DataFrame', autosize_mode='fit_columns',width=900) # df_widget.session_id = self.session_id app_col = pn.Column(title, output[0], output[1][0], width=900) return app_col
def get_ta(ta_df): def get_ta_child(indicator): if indicator == "Exponential Moving Avarage (EMA)": return ema_plot(ta_df) elif indicator == "Bolinger Bands": return bb_plot(ta_df) elif indicator == "MACD": return macd_plot(ta_df) elif indicator == "None": return price_only(ta_df) ta_options = [ "None", "Exponential Moving Avarage (EMA)", "Bolinger Bands", "MACD" ] return interact(get_ta_child, indicator=ta_options)
def test_interact_replaces_panel(document, comm): def test(a): return a if a else BkDiv(text='Test') interactive = interact(test, a=False) pane = interactive._pane widget = interactive._widgets['a'] assert isinstance(widget, widgets.Checkbox) assert widget.value == False column = interactive._get_model(document, comm=comm) assert isinstance(column, BkColumn) box = column.children[1] div = get_div(box) assert div.text == 'Test' widget.value = True assert pane._callbacks == {} div = get_div(column.children[1]) assert div.text == '<pre>True</pre>'
import panel as pn from panel.interact import interact, interactive, fixed, interact_manual from panel import widgets pn.extension() def f(x): return x interact(f, x=10) interact(f, x=True) interact(f, x='Hello there!') @interact(x=True, y=1.0) def g(x, y): return (x, y) g layout = interact(f, x=10) pn.Column('**A custom interact layout**', pn.Row(layout[0], layout[1])) def h(p, q): return (p, q) interact(h, p=5, q=fixed(20)) interact(f, x=widgets.IntSlider(start=-10,end=30,step=1,value=10))
pn.extension() df = pd.read_csv('~/Documents/project_ticker_data.csv') ticker_list = df['ticker'].drop_duplicates() #def choose_ticker(ticker): #ticker_list #interact(choose_year, year=list_of_years_2) def plot_candlestick_chart(ticker): df = pd.read_csv('~/Documents/project_ticker_data.csv') df.drop(columns=['Unnamed: 0'], inplace=True) df.set_index('ticker', inplace=True) ticker_df = df.loc[ticker] fig = go.Figure(data=[ go.Candlestick(x=ticker_df['Date'], open=ticker_df['Open'], high=ticker_df['High'], low=ticker_df['Low'], close=ticker_df['Close']) ]) #fig.show() return fig.show() #plot_candlestick_chart('INTC') interact(plot_candlestick_chart, ticker=['INTC', 'AAPL']) # %%
name="Values weight") resample = widgets.LiteralInput(value=None, name="Resample") resample = widgets.Select(options={"Day": "D", "Week": "W", "Month": "M"}) columns = widgets.MultiSelect(options=df.columns.values.tolist(), value=df.columns.values.tolist(), name="Series") columns.height = 300 columns.width = 200 dates = widgets.DateRangeSlider(start=df.index[0], end=df.index[-1], name="Date range", value=(df.index[0], df.index[-1])) widget, plot = interact(metaplot, shift_weight=shift, numvals_weight=nums, dates=dates, columns=columns, resample=resample) # In[ ]: # In[ ]: # In[ ]: # In[16]: dashboard = pn.Row(pn.Column(plot), pn.Column(widget)) # In[15]:
''', align="center", width_policy="max", ) lower_text = pn.pane.Markdown( ''' <h2><bold>Please wait for simulations and analysis to run after initiating the request, results will appear in a new window.</bold></h2> --- ''', align="center", width_policy="max", margin=(0, 50), ) left_row = pn.Row(side_text, align="start") middle_row = pn.Row(interact(ta_pane, asset=assets), align="end", width_policy="min") both_row = pn.Row(left_row, middle_row) crypto_rows_column = pn.Column(both_row, crypto_selector_row, result, select_button, lower_text, align="center", sizing_mode='stretch_both') crypto_rows_column.show()
def create_layout(self): pn.extension() title = pn.pane.Markdown(""" # Stock Market Forecasting tool (version alpha) """, background='#007500') title_recom = pn.pane.Markdown(""" # Recommendations by other firms in the past 60 days """, background='#007500') title.session_id = self.session_id title_recom.session_id = self.session_id status_console = pn.pane.Markdown(self.status) # visualize table which contains company info comp_data = interact(self.comp_info, stock='TSLA') comp_data.session_id = self.session_id # df_info = comp_data[1][0].object # df_widget = pn.widgets.DataFrame( # df_info, name='DataFrame', autosize_mode='fit_columns',width=400) # df_widget.session_id = self.session_id # visualize table which contains stock earnings # stk_news = interact(self.stock_news, stock='TSLA') # stk_news.session_id = self.session_id # df_info2 = stk_news[1][0].object # df_widget2 = pn.widgets.DataFrame( # df_info2, name='DataFrame', autosize_mode='fit_columns',width=400) # df_widget2.session_id = self.session_id # visualize table which contains recommendations by other banks and traders stk_recom = interact(self.stock_recom, stock='TSLA') stk_recom.session_id = self.session_id # df_info3 = stk_recom[1][0].object # df_widget3 = pn.widgets.DataFrame( # df_info3, name='DataFrame', autosize_mode='fit_columns',width=900,background='#00ff00') # df_widget3.session_id = self.session_id # Plot forecast and real data layout = interact(self.layout_vis, stock='TSLA') layout.session_id = self.session_id # app_col1 = pn.Column(layout[1],title_recom,df_widget3,width=2100) # app_col = pn.Column(title,layout[0],df_widget, df_widget2,width=400) # app_row = pn.Row(app_col,app_col1,margin=(25, 5, 25, 25),width=2100) #, background='#007500') app_col1 = pn.Column(title_recom, stk_recom[1][0], width=900) # app_col = pn.Column(title,layout[0],stk_recom[0],comp_data[0],stk_news[0],comp_data[1][0], stk_news[1][0],width=400) app_col = pn.Column(title, layout[0], stk_recom[0], comp_data[0], comp_data[1][0], width=400) app_row = pn.Row(app_col, layout[1], app_col1, margin=(25, 5, 25, 25), width=900) #, background='#007500') return app_row