QuantConnect / Lean

Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
https://lean.io
Apache License 2.0
9.83k stars 3.26k forks source link

SetHoldings() Use Minimum Asset Lot Size #386

Closed jaredbroad closed 8 years ago

jaredbroad commented 8 years ago

Some assets like FX require orders to be in minimum lot sizes of X, e.g. FXCM minimum order size is 1000. The SetHoldings() function could be made smarter to round the order to the nearest order fraction for the requested asset. The rounding quantity could be stored in the symbol-properties-database.csv and stored in the SymbolProperties class.

rbohac commented 8 years ago

Couple of ideas 1) Have the new service interface check for this 2) Have backtests fail based on this as well May not make sense if SetHoldings() forces them to compliance anyway but could be useful for Order()

jaredbroad commented 8 years ago

If the algorithm sets a brokerage model it should fail in backtesting as well for order methods (default brokerage could support units of 1 to avoid giving everyone errors). Each brokerage/currency pair set have different minimum lots too it lends itself to the symbol properties database (e.g. guess 10000 yen for usdyen, 1000usd for eurusd) On Apr 21, 2016 10:42 PM, "Ray Bohac" notifications@github.com wrote:

Couple of ideas 1) Have the new service interface check for this 2) Have backtests fail based on this as well May not make sense if SetHoldings() forces them to compliance anyway but could be useful for Order()

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/QuantConnect/Lean/issues/386#issuecomment-213215803

jaredbroad commented 8 years ago

Closed by 380b0b4