예제 #1
0
def evaluateStock(item, steps=6):

    y = data[item]

    p1, p2, t, err = selectParameters(y, steps=3, disp=False)

    pred = sarimaxPrdict(y, p1, p2, t, steps=3, disp=False)

    return pred
예제 #2
0
def evaluateStock(y,steps=3):

    p1,p2,t,err=selectParameters(y,steps=3,disp=False)
    pred=sarimaxPrdict(y,p1,p2,t,steps=3,disp=False)
    return pred
예제 #3
0
from sarimaxModel import predictbyticker
import pandas as pd
from datetime import timedelta
import statsmodels.api as sm
import pandas_datareader.data as web
import datetime
from sarimaxModel import selectParameters
from sarimaxModel import sarimaxPrdict
#data=pd.read_csv('/Users/pengwang/work/stocks.csv',parse_dates=['Date'],index_col='Date')

end = datetime.date.today()
months = 18
ticker = 'MFG.AX'
day = end.day
year = end.year - months // 12 - 1
month = months % 12 + 1
start = datetime.datetime(year, month, day)
data = web.DataReader(ticker, "yahoo", start, end)['Adj Close']
y = data.resample('W').mean()
y = data['2018-04-01':]
#parameters=selectParameters(ticker,y,steps=3,disp=True)
parameters = [
    'MFG.AX', 0, 1, 0, 0, 0, 0, 12, 'n', 39.92467376324733, 0.10954492938239571
]
p1, p2, t = parameters[1:4], parameters[4:8], parameters[8]

result = sarimaxPrdict(ticker, y, p1, p2, t, steps=3, disp=True)
예제 #4
0
def evaluateStock(item, steps=3):

    p1, p2, t, err = optimizeParameter(y, steps=6, disp=False)
    pred = sarimaxPrdict(y, p1, p2, t, steps=3, disp=False)
    return pred
예제 #5
0
import pandas as pd
import pandas_datareader.data as web  # Package and modules for importing data; this code may change depending on pandas version
import datetime
import numpy as np

import random
import statsmodels.api as sm
# SARIMAX example
from statsmodels.tsa.statespace.sarimax import SARIMAX
from sarimaxModel import selectParameters
from sarimaxModel import sarimaxPrdict

# We will look at stock prices over the past year, starting at January 1, 2016
start = datetime.datetime(2016, 1, 1)
end = datetime.date.today()
result = pd.DataFrame()
name = 'BHP'
res = web.DataReader(name, "yahoo", start, end)['Adj Close']
res.name = name
y = res.resample('MS').mean()

p1, p2, t, err = selectParameters(y, steps=3, disp=True)
pred = sarimaxPrdict(y, p1, p2, t, steps=3, disp=True)