Hi,
You might think there are just two sides in life, -1 and 1, but as soon as you start calculating long market value vs short market value for equities, for example, you (hopefully?) think man Sell Short is its own thing entirely, we can't just do positive and negative.
The FIX protocol indeed defines 16 sides. Even though that specification is rather sprawling they did most things for a good reason.
I look at the Order class and was a bit surprised that side is nowhere mentioned, at all. Seems potentially limiting?
Jared Broad
Hey George! It was a design decision to hide the type of sides from the API level of QuantConnect & LEAN. This was intended to make the platform more quantitative and less focused on the trading. Beneath the hood the brokerages sometimes require order-sides and so we convert the absolute order directions to orders with sides. From a quant strategy point of view it was decided to be not relevant.
You can of course still achieve the same affect manually by breaking trades into pieces and closing out orders before changing directions. i.e. Liquidate("SPY"); Buy("SPY", 100);
I wasn't aware FIX had 16 sides -- there's a good chance some of those sides may be difficult to do in QC; if you could write them here I can confirm we can do each one with 1-2 lines of code.
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.
George coles
Most of those FIX sides are ones I have never used in futures or cash equities trading. I brought it up because I feel that in many important ways the FIX protocol specification encompasses lots of design decisions that we might make, and it is good not to reinvent the wheel. Today I am writing some code to load bar data and security definitions from a SQL database for use in LEAN. After that, I plan to write a backtesting broker that uses QuickFix/N (http://quickfixn.org/) to represent orders and execution reports. That should provide a template to adapt live trading to use FIX as well. I hope to contribute it as a pull request if I have time.
George coles
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!