period='1y' hist_list=[bt.hist(f'BBS{t} Comdty',period) for t in ['J6','V6','J7']] power_fig=bt.gp(hist_list, yaxis='Price (£/MWh)', title='Baseload Seasons Contract', name=['S26','W26','S27'] ) bt.fig_html(power_fig) power_fig.write_image('I:/Commodities/Clients/Eurocargo Aviation/baseload.svg')period='1y' Front_power=bt.hist('DFP1 Comdty',period) Front_power_fig=bt.gp(Front_power, yaxis='Price (€/MWh)', title='Baseload Front Contract' ) Front_TTF=bt.hist('TZT1 Comdty',period) Front_TTF_fig=bt.gpo(Front_NBP, yaxis='Price (€/MWh)', title='TTF Front Contract' ) year=(dt.datetime.now().year)%10+1 #Dutch years tk_list=[f'DFSF{i%10} Comdty' for i in range(year, year+3)] name_list=[range(year+2020,year+2020+3)] hist_list=[bt.hist(tk,period) for tk in tk_list] for h in hist_list: h.df=h.df.fillna(0) #print(hist_list) dutch_years_fig=bt.gp(hist_list, name=['2027','2028','2029'], yaxis='Price (€/MWh)', title='Dutch Power Years' ) tk_list=[f'QTT{i} Comdty' for i in range(year, year+3)] hist_list=[bt.hist(tk,period) for tk in tk_list] TTF_years_fig=bt.gp(hist_list, name=['2027','2028','2029'], yaxis='Price (€/MWh)', title='TTF Gas Forward Years' ) hist_fig=bt.multi_fig([Front_power_fig,Front_TTF_fig,dutch_years_fig,TTF_years_fig],2,2,subtitles=['Baseload front contract','Gas front contract','Baseload forward seasons','Gas forward seasons'],legspec=3,title='Dutch power and gas markets') hist_fig.update_layout(height=1000,width=1000) bt.fig_html(hist_fig)
fig_list1=[bt.gpsm(hist_dict[key], str(dt.datetime.now().year)+'-01-01', str(dt.datetime.now().year), yaxis='Celsius', title='Average Temperature', mean=True ) for key in hist_dict.keys()] fig_list2=[bt.gpml(hist_dict[key], yaxis='Celsius', title=str(key)+' Temperature Trends', hide_curr=True ) for key in hist_dict.keys()] fig_list=list(sum(zip(fig_list1,fig_list2),())) name_list=list(sum( zip( [key+' Averages' for key in hist_dict], [key+' Temperature Trends and Forecast' for key in hist_dict] ), ())) rows=len(hist_dict) temp_fig=bt.multi_fig(fig_list,rows,2,subtitles=name_list,title='Temperatures Trends',source='Investec, Meteostat',legspec=2) temp_fig.update_layout(width=1000, height=(rows-1)*400) for i in range(1, len(hist_dict)+1): #update ranges temp_fig.update_xaxes( range=[dt.datetime.now()-relativedelta(days=20),dt.datetime.now()+relativedelta(days=20)], tickformat = '%d-%b-%y', row=i, col=2) temp_fig.update_yaxes(range=[-5,30],row=i,col=2) #add verticle for current date temp_fig.append_trace(go.Scatter( x=[dt.datetime.now(),dt.datetime.now()], y=[-5,30], mode='lines', line=dict(color=bt.inv_red), showlegend=False, name='Now' ) ,i,2) bt.fig_html(temp_fig)