aino813 commited on
Commit
172ebc9
·
1 Parent(s): 5639aa6

Create new file

Browse files
Files changed (1) hide show
  1. app.py +37 -0
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ from prophet import Prophet
3
+ from pandas_datareader.stooq import StooqDailyReader
4
+ from datetime import datetime
5
+ from fbprophet.plot import plot
6
+ from dateutil.relativedelta import relativedelta
7
+ import gradio as gr
8
+ pd.options.plotting.backend = "plotly"
9
+
10
+ def get_forecast(stock):
11
+
12
+ end = datetime.today()
13
+ start = end -relativedelta(years=5)
14
+ df = StooqDailyReader(stock, start=start, end=end)
15
+ df_stock = df.read()['Close']
16
+ df = df_stock.reset_index().rename(columns={"Date":"ds","Close":"y"})
17
+ m = Prophet().fit(df)
18
+ future = m.make_future_dataframe(periods=360, freq='D')
19
+ fcst = m.predict(future)
20
+
21
+ fig1 = m.plot(fcst)
22
+ return fig1
23
+
24
+ with gr.Blocks() as demo:
25
+ gr.Markdown(
26
+ """
27
+ 日米インデックス株の予測をします。プルダウンから予測したいインデックスを選んでください。NKX:日経平均、TPX:トピックス、DJI:ダウ平均、NDQ:ナスダック、SPX:S&P500
28
+ """)
29
+ with gr.Row():
30
+ stock = gr.Dropdown( ["^NKX","^TPX",'^DJI',"^NDQ","^SPX"], label="Stock", value="^NKX")
31
+
32
+ plt = gr.Plot()
33
+
34
+ stock.change(get_forecast, [stock], plt, queue=False)
35
+ demo.load(get_forecast, [stock], plt, queue=False,title="Stock Predict")
36
+
37
+ demo.launch()