Hey QC community,
We are excited to announce the launch of cryptocurreny backtesting and live trading on QuantConnect! We’ve partnered with GDAX to support their cryptocurrency exchange. Using your GDAX account, your algorithms can now trade BTC, LTC and ETH currency pairs. Huge thanks to our community members who helped make Lean ready for crypto. In this post, I’ll demonstrate backtesting a cryptocurrency trading algorithm using python and describe how you can get started live trading cryptocurrencies with GDAX.
Attached is a simple backtest that demonstrates subscribing to BTCUSD hourly data and placing an BTCUSD market order. Initially, QuantConnect is offering a limited set of GDAX quote data for BTCUSD for backtesting, however, users can expect our crypto data library to grow soon. Clone the backtest below to start building your crypto trading algorithms.
In order to get your algorithm live trading, sign up for a GDAX account here: https://www.gdax.com/ . To live trade, you’ll need an api key, api secret and api passcode. To get this information, login to your GDAX account and click API from the menu in the top right corner. Create a new API key that has permissions to ‘view’ and ‘trade’ and be sure to record the api key, api secret and api passcode. You now have all the information needed to launch your live crypto-trading algorithm! Simply click ‘Go Live’ from your algorithm and follow the wizard. Be sure to select Gdax as your brokerage.
CryptoKing
Andrew Hart Is it possible to add a C# example?
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.
Andrew Hart
CryptoKing - Sure thing
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.
Lennart Lopin
This is amazing! Kudos for adding this functionality to Quantconnect.
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.
Liquidgenius
MovingAverageCrossAlgorithm example using BTC starting in 2016 with $10,000.
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.
Liquidgenius
Hi Andrew,
I have been experimenting with the crypto securities, and have been unable to do backtesting on Litecoin or Etherium, while Bitcoin works. Am I reading the article above correctly, in that backtest data is available for BTC, but not ETH or LTC, but the algo may actually trade ETH and LTC on GDAX? Also, where can I confirm the ticker symbols for ETH and LT. I havent been able to locate them in the Quantconnect data library? Thank you.
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.
Jared Broad
@LA Awesome; you've posted the first community crypto algorithm! =)
Re ETH etc: Correct; We're working on the other asset types for backtesting though and will post the bew assets here in the next day or two.
Data is one of the big problems with backtesting crypto; if you have good sources for historical data on GDAX for the other symbols please let us know.
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.
Liquidgenius
Thank you Jared. Any suggestions on what could be improved (or where to look for info) in order for this to be made into a Live Trade algo?
As an alternative, I am interested in what Quantconnect has to offer compared to other platforms that have recently discontinued their Live Trade functionality. I hope to learn much from this community, and give back what I can.
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.
CryptoKing
Jared Broad
Jared Broad Yes definitely there is a source for historical crypto data ... it's not free but it's available
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.
Lennart Lopin
Jared Broad how about this: api.bitcoincharts.com/v1/csv/
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.
CryptoKing
Any advice on FeeModel ? Exchanges charge percentage of order per transaction. It looks like QuantConnect FeeModel is based around fixed fee. Any way to calculate fee "on the fly" or based on percentage?
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.
Liquidgenius
Is paper trading available for Cryptos? I can backtest successfully but receive errors when deploying to paper trading.
Added data warmup to CryptoWarmupMovingAverageCross (py). See attached 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.
Jared Broad
spread/quotes.
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.
Liquidgenius
Is paper trading functional with Cryptos? Or can we only run live on GDAX? I've been able to complete backtests, but receive errors on deploying to paper trading.
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.
Jared Broad
Phew insane day sorry for delay; yes paper trading is supported for cryptos. Its best of course is to use the live exchange data as its filled with real depth there. We are working on a maintenance this afternoon and will look into the algorithm you shared above.
Generally speaking its best to share suspected bugs to support@quantconnect.com -- we like to keep the forums focused on algorithm development sharing.
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.
CryptoKing
I'm confused about how we may create a crypto algorithm for other timings for example 10 or 15 minutes or 3-hour .. I have done some reading and see that via consolidaters it seems that TimeSpan minutes can be combined using TradeBarConsolidator but all the examples I've seen of this use Ondata(TradeBars data) and all the examples of crypto algos use Ondata(Slice data).
How can I create a simple C# algorithm that trades on 3 hour time frames?
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.
Jay Stevens
I've been trading crypto for a while and have experience with both python and nodeJS based automated trading engines. I'm finding it a little unusual to only have Trading resolutions of Second, Minute, Hour, or Daily, It's not atypical at all to have resolutions of 2min, 5min, 15min, 30min within Crypto, not sure if the same is true with regular markets or Forex, etc.
Can someone point me to any documentation or direction that will help?
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.
Jared Broad
Jay Stevens Consolidators
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.
CryptoKing
Jared Broad Thanks for that link I had read through various docs but never come across that. It definitely points the path on how to use indicators for specific increments. However what if I wanted to do some custom calculations. I would assume that I would need to do them inside of the OnData (Slice data) or am I thinking about that also the wrong way?
Say I wanted to do a calculation and decide to manually sell or buy in one of the secific increments (consolidators) like 15m. Your link does not really help point to a solution for that. Any advice?
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.
Joshua Lieberman
Did the crypto implementation change something needed in the Research notebooks?
ExceptionTraceback (most recent call last) <ipython-input-3-984adb1d8e6f> in <module>() 17 18 # Create an instance ---> 19 qb = QuantBook() Exception: QuantBook.Main(): System.ArgumentException: Requested value 'crypto' was not found.
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.
Andrew Hart
@Liquidgenius - your paper trading crypto algorithm was failing because of how we handle history requests. We have debugged the issue and it should be fixed within 24 hours
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.
Andrew Hart
We have included more cryptocurrency pairs for trading in both live and paper trading. The following are the cryptocurrency pairs that are now available. Remember that depending on your location, not all pairs may be avialable for live trading, however, all pairs should be available for paper trading.
BTC/USD
BTC/EUR
BTC/GBP
ETH/USD
ETH/BTC
ETH/EUR
LTC/USD
LTC/BTC
LTC/EUR
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.
Barney
class BasicTemplateAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2017, 10, 01) self.SetEndDate(2017, 10, 23) self.SetCash(10000) self.SetBrokerageModel(BrokerageName.GDAX, AccountType.Cash) self.AddCrypto("BTCETH", Resolution.Daily) self.Log(format(self.Securities["BTCETH"].Price)) def OnData(self, data): self.Log(format(self.Securities["BTCETH"].Price))
Hello Andrew !For some reason I am not able to acees LTC or ETH markets... Only GDAX
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.
Wayne Adams
Hi!
When using the resesarch notebook I got this error when trying to call
Quantbook.AddCrypto() AttributeError: 'QuantBook' object has no attribute 'AddCrypto'
Is this expected?
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.
Alexandre Catarino
Yes, it is expected, since we haven't included support for crypto-currencies in quantbook yet.
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.
Jared Broad
Coming later today !
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.
CryptoKing
Still having issues with Consolidators (Trying to consolidate to 3 hour) and a simple SMA strategy .. Anyone?
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.
Liquidgenius
Big thanks to Jared and Andrew for you work on cryptos. Jared, thanks for taking a look at my first crypto algo and providing feedback.
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.
Andrew Hart
All available gdax cryptocurrency pairs are now available for backtesting at tick, second, minute, hour and daily resolutions. Here are the listing dates for each pair available:
BTCEUR: 20150423
BTCGDP: 20161001
BTCUSD: 20141201
ETHBTC: 20160518
ETHEUR: 20170810
ETHUSD: 20160518
LTCBTC: 20161001
LTCEUR: 20170810
LTCUSD: 20161001
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.
Jared Broad
CryptoKing I just swapped out for minute data and its fine. Also note I used the SMA helper methods not the class names. If you want to use the classes you also need to "Register" the indicator object otherwise it'll never get any data. We're going to fix the hour issue today.
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.
CryptoKing
Jared Broad Thanks that was helpful so primarily the issue was that the "Hourly" Resolution for GDAX was not working?
Appreciate the help there.
Also tried going live with an algo today but says GDAX brokerage is under maintenance. If I were to have a live algo what happens to it while brokerages are under maintenance? Also is there anywhere we can see status of brokerages (for example so I can know when I can and cannot "go live") ?
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.
Jared Broad
There were 2 issues; hourly data and the SimpleMovingAverage class. Please see the documentation for examples of how to use indicators. There's effectively no difference to using Minute data other than backtest load time but for such a short backtest its basically the same.
You can go live on all brokekrages; not sure where you saw the maintenance notice? Do you mind sending an email with that to support@quantconnect.com -- thanks.
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.
Barney
Did anyone try using the RSI indicator on ETHBTC markets? all the outputs are 0. I feel like this has to do something with the face that prices are between 0 and 1 for example 0.67
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.
Barney
Actually, same situation with ETHUSD. RSI gives value of 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.
Jared Broad
Please attach an example if seeking assistance. RSI is always 0 until IsReady is true. See the indicator algorithms in Documentation for examples.
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.
Barney
class BasicTemplateAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2017, 10, 01) self.SetEndDate(2017, 10, 20) self.SetCash(10000) self.SetBrokerageModel(BrokerageName.GDAX, AccountType.Cash) self.security = self.AddCrypto("ETHUSD", Resolution.Hour) self.rsi = self.RSI("ETHUSD",12,MovingAverageType.Simple) def OnData(self, data): self.Log(format(self.rsi.Current.Value))
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.
Andrew Hart
Hey - Thanks for reporting this to us. There was a problem with indicators for crypto securities that has been fixed.
We have also added the quote data for all the crypto pairs we currently support
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.
Farshid Zoghalchi
Hi All,
Andrew Hart mentioned there are quote data available for crypto pairs, does this mean that "all" limit order book data is accessible from withi QC? (or maybe at the best bid/ask?) If yes, how can I access volume at different price levels? (or best bid/ask)
Thanks
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.
Jared Broad
Farshid Zoghalchi - we only pump through the "NBBO" top of book. I understand the desire for the full book but we currently only use it for spread modelling. We're working on a backtesting L2 quotes feature but its still a few months out as there is limited data availability.
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.
Farshid Zoghalchi
If I am not wrong, one can also use their own data in backtesting. Does
this mean, I can use my own L2 data to backtest strategy?
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.
Matt Alan
Having trouble downloading the crypto data for use offline, is it possible?
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.
Ryan B
namespace QuantConnect.Algorithm.CSharp { public class BasicTemplateAlgorithm : QCAlgorithm { private Symbol _sym = QuantConnect.Symbol.Create("ETHUSD", SecurityType.Crypto, Market.GDAX); private decimal purchasePrice = 0; private decimal tradeCashAllocation = 2000; public override void Initialize() { SetStartDate(2017, 10, 01); SetEndDate(2017, 10, 31); SetCash(2000); AddCrypto("ETHUSD", Resolution.Hour); } public override void OnData(Slice data) { decimal cryptoPrice = data["ETHUSD"].Price; if (purchasePrice == 0) purchasePrice = cryptoPrice; decimal percentDiff = ((cryptoPrice-purchasePrice)/purchasePrice)*100; decimal orderSize = tradeCashAllocation/cryptoPrice; decimal portfolioQty = Portfolio["ETHUSD"].Quantity; if (percentDiff > 5) { //Log("SELL - ETH:"+cryptoPrice.ToString()+" | Purch:"+purchasePrice.ToString()+" | Diff:"+percentDiff.ToString()); Order(_sym, -portfolioQty); } else if (percentDiff < -5 && orderSize > 0) { //Log("BUY - ETH:"+cryptoPrice.ToString()+" | Purch:"+purchasePrice.ToString()+" | Diff:"+percentDiff.ToString()); Order(_sym, orderSize); purchasePrice = cryptoPrice; } tradeCashAllocation = Portfolio["ETHUSD"].UnrealizedProfit; } } }
I am new to QC but trying to create a simple script that just "sells when price is up 5%" and "buy when price is down 5%" but so far it's doing nothing. Are there any examples of something already like this?
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.
Jared Broad
Matt Alan no its not possible as the exchanges don't allow redistribution. This may change in the future but for now we make a data downloader available instead.
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.
Randy Myers
Hi, and thanks for adding Crypto! You mentioned that AddCrypto() might be available in Research soon? I still can't get it to work. Cheers.
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.
Peter Maletich
Hi Jared and Team, Thanks for adding this crypto functionality. It is very exciting to be able to use QuantConnect to live algotrade on GDAX!
I have a question about livetrading on GDAX, using an algorithm similar to the one posted earlier in this thread by Liquidgenius titled MovingAverageCrossAlgorithm. When backtesting, the EMAs can be warmed up (using self.SetWarmUp) with historical data, so they are primed and ready to go with new live data. However, when live trading on GDAX, they are not ready to go until the algorithm has been running for the full length of the period used in the EMA. This is annoying, seeing as anytime I want to stop and redeploy the algo, it will take hours for it to be able to trade. Is there a way to warm up the indicators during live trading?
Thanks!
import decimal as d class BasicTemplateAlgorithm(QCAlgorithm): def __init__(self): self.per1 = 5 self.per2 = 20 self.tol = 0.005 self.trigger = 0 def Initialize(self): self.SetCash(4000) self.SetStartDate(2016,05,18) self.SetEndDate(2017,10,30) self.SetWarmUp(self.per2 + 1) self.SetBrokerageModel(BrokerageName.GDAX, AccountType.Cash) self.eth = self.AddCrypto("ETHUSD", Resolution.Hour).Symbol self.fast = self.EMA(self.eth, self.per1, Resolution.Hour) self.slow = self.EMA(self.eth, self.per2, Resolution.Hour) def OnData(self, data): if not self.slow.IsReady: return if self.fast.Current.Value > (self.slow.Current.Value * d.Decimal(1 + self.tol)): self.trigger = 1 elif self.fast.Current.Value < (self.slow.Current.Value * d.Decimal(1 - self.tol)): self.trigger = 0
Peter
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.
Andrew Hart
Hi Peter Maletich -
You mention. "However, when live trading on GDAX, they are not ready to go until the algorithm has been running for the full length of the period used in the EMA."
Thankfully for us, this is an incorrect assumption! Under the hood SetWarmup is performing a History request. You can learn more about History request from the documentation here or on the API tab in the Algorithm Lab. Once the History requests made by SetWarmup are complete the boolean IsWarmingUp is flipped to false. In other words, your algorithm is finished warming up once the history requests made using SetWarmup are complete. This is the same for live trading.
Some set warmup/history requests are failing from October 26th -> Present as our historical data is not being updated. We're working on a solution for this at the moment; and will post back when its done. ETA Tomorrow.
Best,
Andrew
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.
Peter Maletich
Hi Andrew,
Thanks for the helpful feedback. Good to know warmup works in live trading as expected, and the issue with History calls on ETHUSD for the last couple weeks also explains a couple other irregularities I had been sturggling with in backtests, so thanks for highlighting it. Hopefully you'll get it up and running soon!
Thanks for all the hard work!
Peter
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.
Liquidgenius
Hi Andrew,
Can you give us an update on the history issue? Thank you for your hard work!
-John
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.
Haumed Rahmani
Great feature! I'm a migrant from Quantopian, just started today.
So how do I set a custom benchmark? I want to compare my algo directly to to "BTCUSD".
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.
Jared Broad
SetBenchmark("BTCUSD");
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.
Pablo Picasso
I am having difficulties going live. How do I see how much cash I have availible for trading? When I go live on GDAX I see that self.Portfolio.TotalHoldingsValue is = 0 and self.Portfolio.Cash is the value of my cash + trading securities. I need to see how much BTCUSD I am holding... Jared, can you advise me?
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.
Jared Broad
Imagine you have 1 BTC, $100USD and 100EUR in your account. Do you have BTCUSD or BTCEUR? Or EURUSD?
I understand how this can be confusing -- it confused me for a while too. In most brokerages they provide fictional "BTCUSD" currency pairs. In reality these don't exist - you only have dollars, euro's and coins. If you previously traded some of your dollars for euro's you might have an open position ("EURUSD"). But that historical trade/swap is only based on the memory of the brokerage; in reality you still only have dollars, euros and coins in your account. You may have less of one coin, and more of another; but there is no "BTCUSD" asset itself.
Because GDAX doesn't record these historical swaps we can't track it in production; so we have to start every algorithm at 0.
Once you make a trade we have internal state and can help you by displaying that position. Internally however we still record all these things as coins in the Cashbook.
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.
Jared Broad
Just a general update; we have pushed an update to the history server and it should now serve the longer span resolutions. We also fixed a memory leak we discovered from adding in the quote data. We appologize for the production issues and hope its much more stable for everyone now =)
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.
Nolan English
Not to pile on and thanks a ton for the update, but I was wondering how or if the maker/taker model for fees is implemented/being implemented for GDAX.
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.
Jared Broad
@Nolan - We have a specific fee model for GDAX which is 0-fee for limit etc orders and 0.1% for market orders.
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.
Pablo Picasso
Jared, I am still a little confused by this but I did more research on my end. When I call portfolio.cashbook I get the folowing string
CashBook = Value in USD BTC: ฿ XXX @ 5929.08 = $XXX.91 ETH: Ether 0.00 @ 317.18 = $0.00 USD: $ XXX @ 1.00 = $XXX ------------------------------------------------- CashBook Total Value: $XXX.0Is it possible to call the value of my BTC position directly? It seems it should be possible being that my BTC position size is recognized in Cashbook.
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.
Jared Broad
This is a touch tricky to figure out as its only documented in the API tab; Cashbook is a dictionary of the "coins" you have.
self.Portfolio.CashBook["BTC"].ValueInAccountCurrency
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.
Pablo Picasso
Thank you Jared!
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.
AlphAngel
I'm having lots of fun with this ... I was wondering if you support
GDAX Limit Order "Post Only" which only provides liquidity ie fees = 0 which may not be the case with a "regular" limit order...
I have decent working algos but given the expensive fees on crypto trading I was wondering if I could optimise the execution a bit...
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.
Jared Broad
Indeed we do AlphAngel ! We just merged this last week so its totally undocumented but if you like living on the edge, give it a go!
Stefano Raggi is probably the best person to give you an example.
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.
Stefano Raggi
@AlphAngel The PostOnly option for GDAX can be set in Initialize with this line and will be applied to all limit orders:
DefaultOrderProperties = new GDAXOrderProperties { PostOnly = true };
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.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!