from pyalgotrade.tools import googlefinance
from pytrade.feed import DynamicFeed




rowFilter = lambda row: row["Close"] == "-" or row["Open"] == "-" or row["High"] == "-" or row["Low"] == "-" or row["Volume"] == "-"
instruments = ["PETR4", "PETR3"]
# googleFeed = googlefinance.build_feed(instruments, 2015, 2015, storage="./googlefinance", skipErrors=True, rowFilter=rowFilter)

dynamicFeed = DynamicFeed("./sqlitedb", instruments, maxLen=10)

dynamicFeed.positionFeed(datetime.datetime(2015, 1, 2, tzinfo=pytz.UTC))

print dynamicFeed.getCurrentDateTime()
for instrument in dynamicFeed.getRegisteredInstruments():
    series = dynamicFeed.getDataSeries(instrument)
    print("%s %s") % (instrument, series.getCloseDataSeries()[0:len(series)])


#2015-01-01
#datetime: None
#PETR4:
    #close value:
    #close series []
#PETR3
    # close value
    # close series []
dynamicFeed.positionFeed(datetime.datetime(2015, 1, 1, tzinfo=pytz.UTC))
assert dynamicFeed.getCurrentDateTime() is None
assert dynamicFeed.getCurrentBars() is None
import pytz, datetime
from pyalgotrade.tools import googlefinance
from pytrade.feed import DynamicFeed

rowFilter = lambda row: row["Close"] == "-" or row["Open"] == "-" or row[
    "High"] == "-" or row["Low"] == "-" or row["Volume"] == "-"
instruments = ["PETR4", "PETR3"]
# googleFeed = googlefinance.build_feed(instruments, 2015, 2015, storage="./googlefinance", skipErrors=True, rowFilter=rowFilter)

dynamicFeed = DynamicFeed("./sqlitedb", instruments, maxLen=10)

dynamicFeed.positionFeed(datetime.datetime(2015, 1, 2, tzinfo=pytz.UTC))

print dynamicFeed.getCurrentDateTime()
for instrument in dynamicFeed.getRegisteredInstruments():
    series = dynamicFeed.getDataSeries(instrument)
    print("%s %s") % (instrument, series.getCloseDataSeries()[0:len(series)])

#2015-01-01
#datetime: None
#PETR4:
#close value:
#close series []
#PETR3
# close value
# close series []
dynamicFeed.positionFeed(datetime.datetime(2015, 1, 1, tzinfo=pytz.UTC))
assert dynamicFeed.getCurrentDateTime() is None
assert dynamicFeed.getCurrentBars() is None
assert len(dynamicFeed.getDataSeries("PETR4")) == 0