2016-11-20 2 views
0

Я не могу понять, почему Im только получает минутные данные в консоли, а не ежедневные данные, независимо от того, что я укажу в коде, пишет ли я frequency = '1d' или frequency = '1m', результат всегда в минутахКвантопная история данных, показывающая только минуты цены

def initialize(context): 
    # AAPL, MSFT, and SPY 
    context.securities = [sid(24), sid(5061), sid(8554)] 

def handle_data(context, data): 
    prices = data.history(context.securities, "price", bar_count = 10, frequency = "1d") 
    pct_change = (prices.ix[-1] - prices.ix[0])/prices.ix[0] 
    log.info(pct_change) 

ответ

2

Ваш вызов data.history() возвращает панель с самым последними 10 дней данных. Эта панель включает сегодня. Вы делаете звонок каждую минуту, поэтому цены за 9 прошлых дней на панели фиксированы, но цена на сегодня обновляется каждую минуту.

Я думаю, вы найдете Lesson 6 учебник для начинающих очень информативным. Общепринято отказаться от сегодняшней цены, чтобы избежать ситуации, в которой вы сейчас находитесь.

prices = data.history(context.securities, "price", bar_count = 11, frequency = "1d") 
pct_change = (prices.ix[-2] - prices.ix[0])/prices.ix[0] 
Смежные вопросы