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() |