trophy

Long Only, ETF Alpha Streams Competition with $27,500 Prize Pool

Back

Competition Template: Technology ETF Universe

Hey Everybody,

We're excited to give the community the first demonstration algorithm of how to use one of the 5 ETF universes in the competition: Technology ETFs.

This algorithm provides a rough template of how this universe can be used in a submission and also implements some of the backtest requirements (5-year minimum, $1m starting cash minimum, and using the Alpha Streams brokerage model).

Some factors that tend to affect the movement of Tech stocks that you can consider when writing an algorithm:

  • Major news announcements: regulatory action, FCC announcements, trade-war updates, etc.
  • Corporate actions: mergers, earnings reports, etc.
  • Analyst sentiment

P.S. -- Keep an eye out for new data sources regarding major corporate actions, trade-war news, and analyst sentiment to inform your trading signals!

Update Backtest






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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.



0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Here is the C# version of the demonstration algorithm using the Technology ETF universe!

1

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Hi Jack, 

Thanks for all your help. My Qs: 1). How many ETFs are in the Tech ETF basket? What about other baskets? 2). All I need is all the symbols included in each basket. How to get entire list of symbols in each universe inside the algo? 3). Can you show us how to filter ETFs just like we did in the FineSelection process? e.g. If we need top 20 tech ETFs that have largest AUM and price above $10. And then, need to sort them by Volume (or DollarVolume) or whatever and then, finally get top 10 ETFs from the filtering. Thanks.   

0

Hi HanByul P the universes have been predefined based on the sponsor criteria and you can see the full implementation of them on Github (Energy, Volatility, Treasuries, Metals, Technology)

0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Hi Jared, 

Thanks a lot. Just to clarify, I see total 16 ETFs in the TechETF basket on Github. For the competition, we just have to use this basket only, Is this right? Actual number of TechETF is much more than 16 as we all know. We are allowed only to use the baskets pre-defined? Can you clarify this? Thanks. 

0

Correct HanByul; the ETFs allowed have a history of more than 5 years and significant daily trading volume making them capable of handling significant capital. 

0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


HI, 

I found that the Technology ETF basket has an wrong symbol in it. It has 'FND' (Floor & Decor Holdings, Inc) instead of 'FDN' (First Trust Dow Jones Internet Index). Please correct this. Thanks. 

                                       

 

1

Fixed thank you HanByul P 

0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


In your example, you are using XLK as your benchmark. Is it possible to use a different benchmark, like the QC500 or SPY, etc? If we AddSecurity("SPY"),.....) will that disqualify our entry?

I'm just wondering about where it says no handpicked universe can be used. Additionally, can we filter/sort to make trade decisions?

0

You can use other assets as signals and filter-sort the existing universe. The prize categories are just based on trading assets and a declaration for one universe category has to be made at submission time. 

0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Hi, Can we use individual list of Tech ETFs rather than using 'self.SetUniverseSelection(TechnologyETFUniverse())' ?  Can we do this as below?

 

/// Universe Selection Model that adds the following Technology ETFs at their inception date

/// 1998-12-22 XLK Technology Select Sector SPDR Fund
/// 1999-03-10 QQQ Invesco QQQ
/// 2001-07-13 SOXX iShares PHLX Semiconductor ETF
/// 2001-07-13 IGV iShares Expanded Tech-Software Sector ETF
/// 2004-01-30 VGT Vanguard Information Technology ETF
/// 2006-04-25 QTEC First Trust NASDAQ 100 Technology
/// 2006-06-23 FDN First Trust Dow Jones Internet Index
/// 2007-05-10 FXL First Trust Technology AlphaDEX Fund
/// 2008-12-17 TECL Direxion Daily Technology Bull 3X Shares
/// 2008-12-17 TECS Direxion Daily Technology Bear 3X Shares
/// 2010-03-11 SOXL Direxion Daily Semiconductor Bull 3x Shares
/// 2010-03-11 SOXS Direxion Daily Semiconductor Bear 3x Shares
/// 2011-07-06 SKYY First Trust ISE Cloud Computing Index Fund
/// 2011-12-21 SMH VanEck Vectors Semiconductor ETF
/// 2013-08-01 KWEB KraneShares CSI China Internet ETF
/// 2013-10-24 FTEC Fidelity MSCI Information Technology Index ETF


def Initialize(self):

    #1. Required: Five years of backtest history
    self.SetStartDate(2014, 1, 1)

    #2. Required: Alpha Streams Models:
    self.SetBrokerageModel(BrokerageName.AlphaStreams)

    #3. Required: Significant AUM Capacity
    self.SetCash(5000000)

    self.tech_etf = ["XLK", "QQQ", "SOXX", "IGV", "VGT", "QTEC", "FDN", "FXL",
    "TECL", "TECS", "SOXL", "SOXS", "SKYY", "SMH", "KWEB", "FTEC"]

    # Add Equity ------------------------------------------------
    for i in range(len(self.tech_etf)):
        self.AddEquity(self.tech_etf[i],Resolution.Minute)

0

Hey All,

Here's a template version of a Classic algorithm using the skeleton code from HanByul above. If you prefer to work with the Classic style algorithms, just clone the backtest below and start coding!

0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Here's the C# version!

0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Hi, 

Please see the attached algo. I've just run the daily 'History' of the Tech basket, and then I see 'TYH' and 'TYP' instead of 'TECL' and 'TECS'. All the symbols in the list in the 'Initialize(self)' are correct. However, after running 'History' function, all of sudden, we see two different symbols in there. Please check this out and if it's wrong, fix this. Thanks.

0


Hi HanByul P yes this is expected, those are just the symbol-hashes. Please see the Symbols documentation.

0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Update Backtest





0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Loading...

This discussion is closed