def update_table(ticker, table, od_today, limitdays):
    print "--"
    funcname = sys._getframe().f_code.co_name
    print ",".join(map(str, ["--", funcname, ticker, table.name]))

    od_first, od_last = table.get_timestamp_range()
    od_limit = int(od_today - limitdays)
    print ",".join(map(str, ["f-l-to-li", od_first, od_last, od_today, od_limit]))

    # fill until today
    days = int(od_today - od_last) + 2  # explain why +2 here
    months = days / 30 + 1
    # print ','.join(map(str, ['days', days, 'months', months]));

    timespan = None

    if table.name == "daily":
        timespan = str(months) + "m"
    elif table.name == "fivemin":
        timespan = str(days) + "d"
    elif table.name == "onemin":
        timespan = "1d"

    if timespan:
        # print timespan
        columns, data = quotes.get_quote_intraday(ticker, timespan)
        table.fill(data)

    # clamp up to limits
    if od_first < od_limit:
        table.clampto(od_limit)
Пример #2
0
def update_table(ticker, table, od_today, limitdays):
    print '--'
    funcname = sys._getframe().f_code.co_name
    print ','.join(map(str, ['--', funcname, ticker, table.name]))



    od_first, od_last = table.get_timestamp_range()        
    od_limit = int(od_today - limitdays)
    print ','.join(map(str,['f-l-to-li',od_first, od_last, od_today, od_limit]))


    # fill until today
    days = int(od_today - od_last) + 2 # explain why +2 here
    months = days / 30 + 1
    #print ','.join(map(str, ['days', days, 'months', months]));

    timespan = None

    if table.name == 'daily':
        timespan = str(months)+'m'
    elif table.name == 'fivemin':
        timespan = str(days)+'d'
    elif table.name == 'onemin':
        timespan = '1d'

    if timespan:
        #print timespan
        columns, data = quotes.get_quote_intraday(ticker, timespan)
        table.fill(data)


    # clamp up to limits
    if od_first < od_limit:
        table.clampto(od_limit)
def init_table(ticker, table, timespan):
    print "--"
    funcname = sys._getframe().f_code.co_name
    print ",".join(["--", funcname, ticker, table.name, timespan])

    # timespan = '1y' #'6m' #'1d', '1y'
    if table.name != "daily":
        columns, data = quotes.get_quote_intraday(ticker, timespan)
        table.fill(data)
    else:
        # data = quotes.get_quote_daily_matplotlib(ticker)
        data = quotes.get_quote_daily_pandas(ticker)

        #
        # data from matplotlib: a numpy record array with fields: date, open, high, low, close, volume, adj_close
        # schema = 'Timestamp FLOAT PRIMARY KEY,close FLOAT,high FLOAT,low FLOAT,open FLOAT,volume FLOAT'
        # DCHLOV = zip(mdates.date2num(data.date),
        #        data.close, data.high, data.low, data.open, data.volume)

        # print DCHLOV[:5]

        # data from pandas: index:pandas.DatetimeIndex,
        # columns: "Open", "High", "Low", "Close", "Volume", "Adj Close"
        # convert from pandas.DatetimeIndex to numpy.datetime64, to datetime
        # http://stackoverflow.com/questions/13703720/converting-between-datetime-timestamp-and-datetime64
        DCHLOV = zip(
            mdates.date2num(data.index.to_pydatetime()), data.Close, data.High, data.Low, data.Open, data.Volume
        )
        table.fill(DCHLOV)

    print "first and last timestamp of table:"
    print table.get_first_ts()
    print table.get_last_ts()
Пример #4
0
def init_table(ticker, table, timespan):
    print '--'
    funcname = sys._getframe().f_code.co_name
    print ','.join(['--', funcname, ticker, table.name, timespan])

    #timespan = '1y' #'6m' #'1d', '1y'
    if table.name != 'daily':
        columns, data = quotes.get_quote_intraday(ticker, timespan)
        table.fill(data)
    else:
        #data = quotes.get_quote_daily_matplotlib(ticker)
        data = quotes.get_quote_daily_pandas(ticker)

        #
        # data from matplotlib: a numpy record array with fields: date, open, high, low, close, volume, adj_close
        # schema = 'Timestamp FLOAT PRIMARY KEY,close FLOAT,high FLOAT,low FLOAT,open FLOAT,volume FLOAT'
        #DCHLOV = zip(mdates.date2num(data.date), 
        #        data.close, data.high, data.low, data.open, data.volume)

        #print DCHLOV[:5]


        # data from pandas: index:pandas.DatetimeIndex, 
        # columns: "Open", "High", "Low", "Close", "Volume", "Adj Close"
        # convert from pandas.DatetimeIndex to numpy.datetime64, to datetime
        # http://stackoverflow.com/questions/13703720/converting-between-datetime-timestamp-and-datetime64
        DCHLOV = zip(mdates.date2num(data.index.to_pydatetime()), 
               data.Close, data.High, data.Low, data.Open, data.Volume)
        table.fill(DCHLOV)
    
    print 'first and last timestamp of table:'
    print table.get_first_ts()
    print table.get_last_ts()