Skip to content

Conversation

@AlexCatarino
Copy link
Member

  • Fixes the issue on the Universe Selection function returning different
    lists of symbols. We need to keep a single list that reflects the final
    selection at Fine Fundamental.
  • Refactors the algorithm to use a dictionary of Momentum instead of a
    SymbolData and use an integer to track the month change instead of Schedule Events.
  • Fixes the securities selection based on momentum: instead of buying
    those with the hightest momentum, the algorithm was buying those with
    the lowest.

- Fixes the issue on the Universe Selection function returning different
  lists of symbols. We need to keep a single list that reflects the final
  selection at Fine Fundamental.
- Refactors the algorithm to use a dictionary of `Momentum` instead of a
  `SymbolData` and use an integer to track the month change instead of Schedule Events.
- Fixes the securities selection based on momentum: instead of buying
  those with the hightest momentum, the algorithm was buying those with
  the lowest.
<p>
The portfolio is rebalanced once a month. The coarse and fine universe selection is set to default to run at midnight once a day. To make the universe selection run at the first trading day each month, we use the bool variable
<code>self.monthly_rebalance</code> to manage the universe selection. At the start of each month, the universe selection will filter new stocks. On all other days, the universe selection function will return the same symbols. In contrast to returning an empty list, returning the same symbols as before is a better way for monthly rebalance universe selection. Since if there are no open positions for certain symbol, returning empty list will stop the data subscription of that symbol halt updates of the indicator.
The portfolio is rebalanced once a month. The coarse and fine universe selection is set to default to run at midnight once a day. To make the universe selection run at the first trading day each month, we use the int variable <code>self.month</code> that tracks the current month to manage the universe selection. At the start of each month, the universe selection will filter new stocks. On all other days, the universe selection function will return the same symbols <code>self.symbols</code>. In contrast to returning an empty list, returning the same symbols as before is a better way for monthly rebalance universe selection. Since if there are no open positions for certain symbol, returning empty list will stop the data subscription of that symbol halt updates of the indicator.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Since if there are no open positions for certain symbol, returning empty list will stop the data subscription of that symbol halt updates of the indicator.

Suggested change
The portfolio is rebalanced once a month. The coarse and fine universe selection is set to default to run at midnight once a day. To make the universe selection run at the first trading day each month, we use the int variable <code>self.month</code> that tracks the current month to manage the universe selection. At the start of each month, the universe selection will filter new stocks. On all other days, the universe selection function will return the same symbols <code>self.symbols</code>. In contrast to returning an empty list, returning the same symbols as before is a better way for monthly rebalance universe selection. Since if there are no open positions for certain symbol, returning empty list will stop the data subscription of that symbol halt updates of the indicator.
The portfolio is rebalanced once a month. The coarse and fine universe selection is set to default to run at midnight once a day. To make the universe selection run at the first trading day each month, we use the int variable <code>self.month</code> that tracks the current month to manage the universe selection. At the start of each month, the universe selection will filter new stocks. On all other days, the universe selection function will return the same symbols <code>self.symbols</code>. In contrast to returning an empty list, returning the same symbols as before is a better way for monthly rebalance universe selection. If there are no open positions for a certain symbol, returning an empty list will stop the data subscription of that symbol halt updates of the indicator.

Updates the algorithm and the text to mention `Universe.Unchanged` usage.
@simonsonjack simonsonjack merged commit 45f8979 into QuantConnect:master Aug 1, 2019
@AlexCatarino AlexCatarino deleted the fix-strategy-14 branch August 1, 2019 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants