Spaces:
Runtime error
Runtime error
| import pandas as pd | |
| from prophet import Prophet | |
| from pandas_datareader.stooq import StooqDailyReader | |
| from datetime import datetime | |
| #from fbprophet.plot import plot | |
| from dateutil.relativedelta import relativedelta | |
| import gradio as gr | |
| #from dateutil.easter import easter | |
| #from holidays import WEEKEND, HolidayBase | |
| pd.options.plotting.backend = "plotly" | |
| def get_forecast(stock): | |
| end = datetime.today() | |
| start = end -relativedelta(years=5) | |
| df = StooqDailyReader(stock, start=start, end=end) | |
| df_stock = df.read()['Close'] | |
| df = df_stock.reset_index().rename(columns={"Date":"ds","Close":"y"}) | |
| m = Prophet().fit(df) | |
| future = m.make_future_dataframe(periods=360, freq='D') | |
| fcst = m.predict(future) | |
| fig1 = m.plot(fcst) | |
| return fig1 | |
| with gr.Blocks() as demo: | |
| gr.Markdown( | |
| """ | |
| 日米インデックス株の予測をします。プルダウンから予測したいインデックスを選んでください。NKX:日経平均、TPX:トピックス、DJI:ダウ平均、NDQ:ナスダック、SPX:S&P500 | |
| """) | |
| with gr.Row(): | |
| stock = gr.Dropdown( ["^NKX","^TPX",'^DJI',"^NDQ","^SPX"], label="Stock", value="^NKX") | |
| plt = gr.Plot() | |
| stock.change(get_forecast, [stock], plt, queue=False) | |
| demo.load(get_forecast, [stock], plt, queue=False,title="Stock Predict") | |
| demo.launch() |