Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -3,8 +3,17 @@ import pandas as pd
|
|
3 |
import matplotlib.pyplot as plt
|
4 |
from prophet import Prophet
|
5 |
import gradio as gr
|
|
|
6 |
|
7 |
def previsao_precos(ticker, start_date, end_date, future_date):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
# Obter dados históricos
|
9 |
data = yf.download(ticker, start=start_date, end=end_date)
|
10 |
data.reset_index(inplace=True)
|
@@ -19,7 +28,7 @@ def previsao_precos(ticker, start_date, end_date, future_date):
|
|
19 |
model.fit(data)
|
20 |
|
21 |
# Fazer previsões
|
22 |
-
future = model.make_future_dataframe(periods=(
|
23 |
forecast = model.predict(future)
|
24 |
|
25 |
# Criar gráfico
|
@@ -44,9 +53,9 @@ iface = gr.Interface(
|
|
44 |
fn=previsao_precos,
|
45 |
inputs=[
|
46 |
gr.Textbox(label="Ticker da Ação", value="GOOG"),
|
47 |
-
gr.
|
48 |
-
gr.
|
49 |
-
gr.
|
50 |
],
|
51 |
outputs=[
|
52 |
gr.Textbox(label="Tabela de Previsões"),
|
|
|
3 |
import matplotlib.pyplot as plt
|
4 |
from prophet import Prophet
|
5 |
import gradio as gr
|
6 |
+
from datetime import datetime
|
7 |
|
8 |
def previsao_precos(ticker, start_date, end_date, future_date):
|
9 |
+
# Converter as datas de string para datetime
|
10 |
+
try:
|
11 |
+
start_date = pd.to_datetime(start_date)
|
12 |
+
end_date = pd.to_datetime(end_date)
|
13 |
+
future_date = pd.to_datetime(future_date)
|
14 |
+
except ValueError:
|
15 |
+
return "Erro: Verifique o formato das datas. Use YYYY-MM-DD.", None
|
16 |
+
|
17 |
# Obter dados históricos
|
18 |
data = yf.download(ticker, start=start_date, end=end_date)
|
19 |
data.reset_index(inplace=True)
|
|
|
28 |
model.fit(data)
|
29 |
|
30 |
# Fazer previsões
|
31 |
+
future = model.make_future_dataframe(periods=(future_date - data['ds'].max()).days, freq='B')
|
32 |
forecast = model.predict(future)
|
33 |
|
34 |
# Criar gráfico
|
|
|
53 |
fn=previsao_precos,
|
54 |
inputs=[
|
55 |
gr.Textbox(label="Ticker da Ação", value="GOOG"),
|
56 |
+
gr.Textbox(label="Data de Início (YYYY-MM-DD)", value="2019-10-19"),
|
57 |
+
gr.Textbox(label="Data de Fim (YYYY-MM-DD)", value="2024-10-19"),
|
58 |
+
gr.Textbox(label="Data Futura para Previsão (YYYY-MM-DD)", value="2029-10-19")
|
59 |
],
|
60 |
outputs=[
|
61 |
gr.Textbox(label="Tabela de Previsões"),
|