コード例 #1
0
ファイル: stock.py プロジェクト: sqyu/Wechat
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
コード例 #2
0
 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)
コード例 #3
0
 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)
コード例 #4
0
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,
コード例 #5
0
ファイル: yahoo-api.py プロジェクト: renehuang/TeamCo
# -*- 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))
コード例 #6
0
 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)
コード例 #7
0
 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)
コード例 #8
0
 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)
コード例 #9
0
 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)
コード例 #10
0
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')
コード例 #11
0
ファイル: utils.py プロジェクト: alybel/fintf
def get_yahoo_quote(symbol=None):
    return pdd.get_quote_google(symbol)
コード例 #12
0
# 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')
コード例 #13
0
ファイル: stockReader.py プロジェクト: Dmitri-2/StockAI
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()
コード例 #14
0
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')