Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Pipeline mask and current open help request

Hi, I'm new to Quantopian, inexperienced at coding, and hoping you have the patience to consider my questions/code.

How can I apply a mask to a pipeline factor defined using the "latest" method? For example, one of my pipeline factors is USEquityPricing.open.latest, and I wish to apply the mask copied from Quantopian's pipeline tutorial

How can I collect Pipeline data mid-day? I can only attach the pipeline in Initialize, which if I understand correctly, only runs at the start of the day. For the current day, I need the open prices as well as near-close prices, which are only available after the start of the day.

How can I pass parameters to a scheduled function? I define two distinct but similar functions called using schedule_function. Much of the code and purpose between the two functions overlap, and I would rather call the same function with different parameters to represent the differences.

I'm trying to implement http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2272795&download=yes mentioned from https://www.quantopian.com/posts/trading-strategy-ideas-thread as an exercise.
The idea of the algorithm is to rebalance at the start/end of each trading day by longing stocks with < -5% returns over the past night/day, where "day" returns are from today's open to today's close and "night" returns are from yesterday's close to today's open

1 response

Hi Tom, welcome to Quantopian!

First, about .latest and masks: A mask is always applied after a Factor/Filter/Classifier's data is fetched. And all .latest does is take that data and output it. So there is actually no performance gain from putting a mask on a Latest Factor. To achieve a similar effect, you can use a screen instead.

Second, pipelines are run every trading day before market open, and only then. So it's not possible to get new results in the middle of the day. Pipelines only have data from previous days to work with. If you need to use the current day's data as part of some sort of calculation, I would recommend using Pipeline to get the historical prices you need, then combining those with current data fetched with data.current, documented here.

Third, about passing parameters to scheduled functions: There isn't a direct way to do this. One thing you could try is nesting functions. So you could have an outer function that takes the additional parameters you want. That function would then return an inner function that just takes (context, data). But for the particular algorithm that you've attached, it doesn't seem very worth it to do this.

Let me know if you have any other questions. And always feel free to use Learn & Support > Contact Support on the top bar to ask our support team directly.

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.