def setstock(input, user): tickers = [] for inp in filter(None, input.split(" ")): if inp.replace(u" ", u"").replace(u" ", u"").replace(",", "").replace(u",", ""): tickers = tickers + get_ticker( inp.replace(u" ", u"").replace(u" ", u"").replace( ",", "").replace(u",", "")) # Possibly more white spaces tickers = fundamental.remove_dup(tickers) if tickers == []: # Ticker not valid return u"您輸入的股票有誤,請重新輸入,如如\"臉書 Amazon GOOG 微軟\"或\"FB 亞馬遜 MSFT Tesla UVXY\"\n" if len(tickers) > 5: return u"返回的結果超過五個(頭五個為" + u",".join(tickers[0:5]) + u"),請重新查詢\n" my_glob.params.set("params", user, tickers, "stock") ## Passed test, then choose date for ticker in tickers: try: send_candlestick(ticker, 92, today, user) except Exception as e: print(e) # pass return_text = u"" for ticker in tickers: try: ress = web.get_quote_google(ticker) return_text = return_text + u"截至" + (ress["time"].dt.to_pydatetime( )[0] + timedelta(hours=add_hours)).strftime( "%-m月%-d日%H時%M分" ).decode("utf-8") + u"," + ticker + " (" + my_glob.symbols[ ticker] + u")的股價為$" + str( ress["last"].item() ) + "\n" ###!!! Not sure why wrong time zone, so added 9 hours except Exception as e: print( "Error happend in stock.setstock() in finding last quotes:\n") print(e) if return_text: return_text = return_text + "\n" # If not empty, add a new line return return_text + u"現在請輸入您想要查詢的日期,格式為%s或%s或%s或%s(今年),或今天,昨天或前天(紐約時間)" % ( previous_trade_today.strftime("%Y-%m-%d").decode("utf-8"), previous_trade_today.strftime("%y年%-m月%-d日").decode("utf-8"), previous_trade_today.strftime("%-m月%-d(號)").decode("utf-8"), previous_trade_today.strftime("%-m/%-d")) + "\n\n" + k_prompt
def test_get_quote_stringlist(self): df = web.get_quote_google(['GOOG', 'AMZN', 'GOOG']) assert_series_equal(df.ix[0], df.ix[2]) tm.assert_index_equal(df.index, pd.Index(['GOOG', 'AMZN', 'GOOG'])) self.assert_option_result(df)
def test_get_quote_string(self): df = web.get_quote_google('GOOG') assert df.ix['GOOG']['last'] > 0.0 tm.assert_index_equal(df.index, pd.Index(['GOOG'])) self.assert_option_result(df)
start = datetime.datetime(2013, 1, 1) end = datetime.datetime(2017, 6, 8) """ df = web.DataReader("f", 'google', start, end) Working Code: df= web.get_data_google("LMT") df=web.get_quote_google("SGX:AU8U") df=web.get_quote_google("ASX:IAG") df=web.get_quote_google("HKG:0700") """ df = web.get_quote_google("SGX:AU8U") """ """ dates = [] for x in range(len(df)): newdate = str(df.index[x]) newdate = newdate[0:10] dates.append(newdate) df['dates'] = dates conn = sqlite3.connect( "C:\\Users\guof\AnacondaProjects\proj1\db\pythonsqlite_1.db") pandas.DataFrame.to_sql(df,
# -*- coding: utf-8 -*- """ Created on Tue Dec 6 10:28:54 2016 @author: ZFang """ import pandas_datareader.data as wb import os import pandas as pd import time os.chdir('C:\\Users\\ZFang\\Desktop\\TeamCo\\URLfetch\\urlfetch') ticker = pd.ExcelFile('tickerlist.xlsx') ticker_df = ticker.parse(str(ticker.sheet_names[0])) ticker_list = list(ticker_df['Ticker']) ticker_list[585] = 'True' start = time.time() result = wb.get_quote_google(ticker_list[0]) for i in range(1, len(ticker_list) - 1000, 1000): quote = wb.get_quote_yahoo(ticker_list[i:i + 1000]) result = pd.concat([result, quote]) print('The total time is %s' % str(time.time() - start))
def test_get_quote_stringlist(self): pytest.skip("Google quote api is offline as of Oct 1, 2017") df = web.get_quote_google(['GOOG', 'AMZN', 'GOOG']) assert_series_equal(df.iloc[0], df.iloc[2]) tm.assert_index_equal(df.index, pd.Index(['GOOG', 'AMZN', 'GOOG'])) self.assert_option_result(df)
def test_get_quote_string(self): pytest.skip("Google quote api is offline as of Oct 1, 2017") df = web.get_quote_google('GOOG') assert df.loc['GOOG', 'last'] > 0.0 tm.assert_index_equal(df.index, pd.Index(['GOOG'])) self.assert_option_result(df)
def test_get_quote_string(self): df = web.get_quote_google('GOOG') self.assertTrue(df.ix['GOOG']['last'] > 0.0) tm.assert_index_equal(df.index, pd.Index(['GOOG'])) self.assert_option_result(df)
import pandas_datareader.data as web import datetime import time import pyodbc conn = pyodbc.connect(r'DSN=sqlnetflix') cur = conn.cursor() while True: try: t = web.get_quote_google('ITV') #stamp = datetime.datetime.strptime(str(t.at['ITV', 'time']), '%Y-%m-%d %H:%M:%S') timestamp = datetime.datetime.now() cur.execute( 'insert into dbo.TickerITV ( last, timestamp) values (?,?)', t.at['ITV', 'last'], timestamp) conn.commit() time.sleep(9.7) except: cur.execute( 'insert into dbo.TickerTimer ( last, timestamp) values (?,?)', '-', datetime.datetime.now()) conn.commit() print('@LADBANTER')
def get_yahoo_quote(symbol=None): return pdd.get_quote_google(symbol)
# b 2 # c 3 # d 0 # dtype: int64 # With a DataFrame, you can sort by index on either axis: frame = DataFrame(np.arange(8).reshape((2, 4)), index=['three', 'one'], columns=['d', 'a', 'b', 'c']) # frame.sort_index() # Out[5]: # d a b c # one 4 5 6 7 # three 0 1 2 3 # frame.sort_index(axis=1) # Out[8]: # a b c d # three 1 2 3 0 # one 5 6MM 7 4 # Summarizing and Computing Descriptive Statistics # Correlation and Covariance import pandas_datareader.data as web f = web.get_quote_google('AAPL') c = web.get_data_yahoo('AAPL')
import pandas_datareader.data as web q = web.get_quote_google(['AGNC', 'ADP']) print q #import csv #import sys # #f = open("HistoricalQuotes.csv", "r") #reader = csv.reader(f); #print reader #for row in reader: # print row # #f.close()
import pandas_datareader.data as web import datetime import time import pyodbc conn = pyodbc.connect(r'DSN=sqlnetflix') cur = conn.cursor() while True: try: t = web.get_quote_google('NFLX') #stamp = datetime.datetime.strptime(str(t.at['NFLX', 'time']), '%Y-%m-%d %H:%M:%S') timestamp = datetime.datetime.now() cur.execute( 'insert into dbo.TickerTimer ( last, timestamp) values (?,?)', t.at['NFLX', 'last'], timestamp) conn.commit() time.sleep(9.7) except: cur.execute( 'insert into dbo.TickerTimer ( last, timestamp) values (?,?)', '-', datetime.datetime.now()) conn.commit() print('@LADBANTER')