コード例 #1
0
    def test_update_stocks_vol_last(self):
        structures.update_stocks_vol('SPX', TEST_DB_NAME)
        with database.connect_db(TEST_DB_NAME) as db:
            db.execute('SELECT MAX(date) FROM stocks WHERE symbol=?;', ['SPX'])
            test_date = database.decode_date(db.fetchall()[0][0])
            db.execute('SELECT * FROM volatility WHERE symbol=? AND date=?;',
                       ['SPX', test_date])
            original_row = db.fetchall()[0][3:]
            db.execute('UPDATE volatility SET change=?, vol1d=?, vol2d=?, ' \
                       'vol3d=?, vol4d=?, vol5d=?, vol6d=?, vol7d=?, vol8d=?, '\
                       'vol9d=?, vol1m=?, vol2m=?, vol3m=?, vol6m=?, vol1y=? ' \
                       'WHERE symbol=? AND date=?;',
                       [0] * 15 + ['SPX', test_date])
            db.execute('SELECT * FROM volatility WHERE symbol=? AND date=?;',
                       ['SPX', test_date])
            corrupted_row = db.fetchall()[0][3:]
        self.assertTrue(all(abs(item) > 1e-5 for item in original_row))
        self.assertTrue(all(abs(item) < 1e-5 for item in corrupted_row))

        structures.update_stocks_vol_last('SPX', TEST_DB_NAME)
        with database.connect_db(TEST_DB_NAME) as db:
            db.execute('SELECT * FROM volatility WHERE symbol=? AND date=?;',
                       ['SPX', test_date])
            updated_row = db.fetchall()[0][3:]
        self.assertTrue(all(abs(item) > 1e-5 for item in updated_row))
コード例 #2
0
ファイル: app.py プロジェクト: zzzoidberg/landscape
def update_stocks():
    if request.args["date"] == "":
        stocks.fetch_realtime(["VIX", "VXST", "VXV", "VXMT", "VVIX", "SPX", "XIV", "VXX", "TLT"])
        structures.update_stocks_vol_last("SPX")
    return jsonify()