Joakim, good question.
The current days open, high, low, close and cumulative volume can be fetched using data.history
. The last values for these (eg high[-1] ) are the days values as of the minute the method was called. So what does this mean?
open: this is the days open price and will be constant throughout the day
high: the days high
low: the days low
close: the close price as of the last minute. This will update every minute and is the same as the data.current close price
volume: cumulative volume for the day
So, for example, to get the days high and cumulative volume as of one hour after open, one could do this:
def initialize(context):
# Reference to the AAPL security.
context.aapl = sid(24)
# Get data every day one hour after market open.
algo.schedule_function(
get_current_data,
algo.date_rules.every_day(),
algo.time_rules.market_open(hours=1, minutes=0)
)
def get_current_data(context, data):
fields = [ 'high', 'volume']
# fetch data using data.history
# bar_count = 1 will get just the current days data.
latest_data = data.history(context.aapl,
fields=fields,
bar_count = 1,
frequency = '1d')
It might be good to note that the method data.current
will fetch data just for the previous (current) minute. So, for example, the 'high' will be the high price during the last minute and not the high price for the day. However, data.history
will fetch data updated continuously as of the current day.
Attached is an algo showing this behavior. Look at the logs. Not formatted real pretty but one can see the various fields change (or not as the case may be).
Disclaimer
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.