Beispiel #1
0
def add_daily_price(instrument, d1, d2, folder):
    print instrument.split('|')[0]
    date = utils01.jsonToYahooDate(d1['AsAtDateTime'][1:-1])
    filename = '%s/%s.csv' % (folder, instrument.split('|')[0])
    #--check if file actually exists
    if os.path.exists(filename):
        #--file exists
        fp = open(filename, 'r')
    else:
        #--create file
        fp = open(filename, 'w')
        writer = csv.writer(fp)
        writer.writerow(
            ('Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close'))
        fp.close()
        fp = open(filename, 'r')
    if date in fp.read():
        #--date already in file, do nothing
        fp.close()
        return False
    fp = open(filename, 'a')
    writer = csv.writer(fp)
    writer.writerow((date, '', float(d2['DailyHigh']), float(d2['DailyLow']),
                     float(d1['ClosingPrice']), float(d1['Volume']), ''))
    fp.close()
    return True
Beispiel #2
0
def write_one_year_prices(d, folder):
    """
        pass json object d
            write yahoo price format
            do not duplicate dates
    """
    print d[0]['AlphaCode']
    filename = '%s/%s.csv' % (folder, d[0]['AlphaCode'])
    if os.path.exists(filename):
        dates = dict()
        fp = open(filename, 'r')
        reader = csv.reader(fp)
        reader.next()
        for row in reader:
            dates[row[0]]=True
        fp.close()
        #--append to existing file
        fp = open(filename, 'a')
        writer = csv.writer(fp)
    else:
        #--file does not exist
        dates = dict()
        fp = open(filename, 'w')
        writer = csv.writer(fp)
        writer.writerow( ('Date',
                          'Open',
                          'High',
                          'Low',
                          'Close',
                          'Volume',
                          'Adj Close') )
    for day in d:
        date = utils01.jsonToYahooDate(day['Date'][1:-1])
        if not dates.has_key(date):
            #--new date
            writer.writerow((date
                             , '',
                             '',
                             float(day['Price']),
                             '',
                             '') )
    fp.close()
Beispiel #3
0
def add_daily_price(instrument, d1, d2, folder):
    print instrument.split('|')[0]
    date = utils01.jsonToYahooDate(d1['AsAtDateTime'][1:-1])
    filename = '%s/%s.csv' % (folder, instrument.split('|')[0])
    #--check if file actually exists
    if os.path.exists(filename):
        #--file exists
        fp = open(filename, 'r')
    else:
        #--create file
        fp = open(filename, 'w')
        writer = csv.writer(fp)
        writer.writerow( ('Date',
                          'Open',
                          'High',
                          'Low',
                          'Close',
                          'Volume',
                          'Adj Close') )
        fp.close()
        fp = open(filename, 'r')
    if date in fp.read():
        #--date already in file, do nothing
        fp.close()
        return False
    fp = open(filename, 'a')
    writer = csv.writer(fp)
    writer.writerow((date,
                    '',
                    float(d2['DailyHigh']),
                    float(d2['DailyLow']),
                    float(d1['ClosingPrice']),
                    float(d1['Volume']),
                    ''))
    fp.close()
    return True