发现trade函数可能有个奇怪的问题
由nusfighter创建,最终由nusfighter 被浏览 20 用户
发现trade函数可能有个奇怪的问题
同一个代码,我先买后卖,持仓一天就没有任何问题。改为先卖后买的话,我发现问题出在买回清仓的金额不能大于初始金额的50%。买回平仓的金额在初始金额50%以内的时候,就正常,超过了就不行。
我用cash_for_sell = context.portfolio.cash/3 来控制第一天卖空的量,如果设置为与portfolio.cash相等或者1/2,第二天就没法买回平仓。设为1/3,前几天可以(初始投资金额50%以内),超过了就不行。设为1/10,第二天买回平仓金额一直在50%以内就没问题,运行正常。
#context.order(context.symbol(e), -p)
#context.order_target(context.symbol(e), 0)
context.order_target_percent(context.symbol(e), 0)
这三种order方法都试过了,没有问题。也没有控制单个股票持仓比例,单次下单金额之类的限制。这是我的代码链接。
https://bigquant.com/experimentshare/bff85ed417d547d4a18d71fe1cc3ff16
\