Hi,
Is it possible to have stoploss orders working when using the Optimize API? If it is, how is this supposed to be implemented? Reaching out to any kind souls on Q who want to help.
I've tried doing this in handle_data (shamelessly cloned and modified by something David Edwards coded), but I get the below error message. The error message seem to imply that stop orders are currently not supported by Optimize API? If it's not, is there any plan to support stop orders in the near future? Many thanks in advance.
def handle_data(context, data):
for stock in context.portfolio.positions:
position = context.portfolio.positions[stock].amount
price = data[stock].price
if position <= 0:
order_target_percent(stock, 0, style=StopOrder(price + (price*0.005)))
if position >= 0:
order_target_percent(stock, 0, style=StopOrder(price - (price*0.005)))
Error:
CannotOptimizeWithOpenNonMarketOrders: Can't run portfolio optimization while any non-market orders are open.
Orders were open for the following assets:
[[Equity(24 [AAPL]), Equity(266 [AJG]), Equity(337 [AMAT]), Equity(353 [AME]), Equity(368 [AMGN]), Equity(766 [BCE]), Equity(822 [BF_B]), Equity(939 [BLL]), Equity(1219 [CATO]), Equity(1524 [CHRS]), Equity(1746 [COG]), Equity(1751 [COHR]), Equity(1898 [CSC]), Equity(2119 [DD]), Equity(2237 [DNB]), Equity(2568 [EP]), Equity(2633 [ETN]), Equity(2663 [EXPD]), Equity(2754 [M]), Equity(2760 [FDO]), Equity(2893 [FMC]), Equity(3123 [GVA]), Equity(3306 [GPC]), Equity(3421 [GWW]), Equity(3460 [HAS]), Equity(3519 [HEI]), Equity(3522 [HELE]), Equity(3668 [HRL]), Equity(3895 [IMO]), Equity(3990 [IPG]), Equity(4620 [LZ]), Equity(4705 [MKC]), Equity(4727 [MCRS]), Equity(4823 [MGA]), Equity(4945 [MNRO]), Equity(4954 [MO]), Equity(5328 [NKE]), Equity(5376 [NNN]), Equity(5484 [ES]), Equity(5488 [NUE]), Equity(5509 [NVLS]), Equity(5601 [OFIX]), Equity(5626 [OI]), Equity(5639 [ONB]), Equity(5782 [PBT]), Equity(5787 [PCAR]), Equity(5956 [PH]), Equity(6119 [PPL]), Equity(6269 [PWR]), Equity(6396 [HTSI]), Equity(6543 [ROP]), Equity(6546 [ROST]), Equity(6704 [SCHW]), Equity(6736 [SMG]), Equity(6798 [SF]), Equity(6900 [SJI]), Equity(6949 [AOS]), Equity(7011 [SO]), Equity(7050 [CAA]), Equity(7171 [STR]), Equity(7211 [SUN]), Equity(7373 [TECH]), Equity(7623 [TTC]), Equity(7739 [UGI]), Equity(7800 [UNP]), Equity(7904 [VAR]), Equity(7998 [VMC]), Equity(8140 [WEC]), Equity(8265 [WR]), Equity(8329 [X]), Equity(8352 [XRAY]), Equity(8383 [FL]), Equity(8489 [GLBL]), Equity(8655 [INTU]), Equity(8783 [ATR]), Equity(8857 [ORLY]), Equity(9052 [SKT]), Equity(9156 [FLIR]), Equity(9349 [CRA]), Equity(9435 [PETM]), Equity(9704 [CLP]), Equity(9930 [IT]), Equity(10192 [ITRI]), Equity(10639 [MAA]), Equity(10931 [CPRT]), Equity(11044 [RYN]), Equity(11130 [GDI]), Equity(11369 [PSSI]), Equity(11668 [MATW]), Equity(11901 [SIRI]), Equity(12087 [O]), Equity(12652 [DLTR]), Equity(12662 [FMER]), Equity(12882 [DRI]), Equity(12898 [HLIT]), Equity(13508 [CLB]), Equity(13612 [BAP]), Equity(13698 [MYGN]), Equity(13962 [WAT]), Equity(14014 [CTXS]), Equity(14328 [ALXN]), Equity(14803 [SAPE]), Equity(15019 [SKS]), Equity(15139 [GWR]), Equity(15206 [QGEN]), Equity(15474 [ETFC]), Equity(15581 [SRCL]), Equity(16029 [ISCA]), Equity(16108 [STLD]), Equity(16129 [UNFI]), Equity(16140 [VPHM]), Equity(16348 [DGX]), Equity(16394 [OFG]), Equity(16586 [AMTD]), Equity(16838 [ALV]), Equity(17080 [MS]), Equity(17098 [PMCS]), Equity(17167 [BJ]), Equity(17553 [NAT]), Equity(17787 [YUM]), Equity(17895 [MTD]), Equity(17991 [CAR]), Equity(18142 [INGR]), Equity(18221 [VRSN]), Equity(18480 [RBA]), Equity(18529 [BRCM]), Equity(18634 [UMPQ]), Equity(19008 [ULTI]), Equity(19127 [KCG]), Equity(19773 [COCO]), Equity(19788 [CEB]), Equity(20133 [PNRA]), Equity(20374 [HCBK]), Equity(20394 [MDRX]), Equity(21231 [ALTH]), Equity(21284 [ITMN]), Equity(21608 [CYH]), Equity(21697 [NTRI]), Equity(21774 [ILMN]), Equity(22099 [TPR]), Equity(22110 [DVA]), Equity(22114 [EXC]), Equity(22247 [NXY]), Equity(22336 [RECN]), Equity(22443 [GPN]), Equity(22959 [BG]), Equity(23021 [ECA]), Equity(23047 [ZBH]), Equity(23113 [DB]), Equity(23267 [WOOF]), Equity(23276 [AYI]), Equity(23438 [GME]), Equity(23465 [ETP]), Equity(24551 [FNFG]), Equity(24566 [MFN]), Equity(24778 [SRE]), Equity(24789 [PLCE]), Equity(25006 [JPM]), Equity(25510 [AUQ]), Equity(25697 [SNX]), Equity(25705 [XPER]), Equity(25781 [NG]), Equity(25920 [MAR]), Equity(26315 [NILE]), Equity(26335 [ALNY]), Equity(26470 [IAC]), Equity(26500 [AUXL]), Equity(26693 [TXRH]), Equity(26881 [KNL]), Equity(26994 [DRYS]), Equity(27357 [LBTY_A]), Equity(27410 [FRG]), Equity(27480 [HITT]), Equity(27668 [TLEO]), Equity(27763 [NM]), Equity(27872 [VIAB]), Equity(27916 [EMS]), Equity(28231 [THI]), Equity(31638 [HRBN]), Equity(32724 [APKT]), Equity(33133 [TWC]), Equity(33480 [CLWR]), Equity(33772 [ORN]), Equity(33979 [INFN]), Equity(34360 [YONG]), Equity(34963 [CSR]), Equity(34997 [IQNT]), Equity(35064 [ES]), Equity(35230 [ENTR]), Equity(35268 [MDAS]), Equity(36930 [DISC_A]), Equity(38084 [MJN]), Equity(38150 [HTWR]), Equity(38388 [SWI]), Equity(38531 [IVR]), Equity(38650 [AVGO]), Equity(38765 [ART]), Equity(38817 [VRSK]), Equity(38865 [DOLE]), Equity(39047 [PEB]), Equity(39111 [PPC])]]
There was a runtime error on line 336.