关于持仓股的表达问题请教

新手专区
标签: #<Tag:0x00007fc832211e50>

(189) #1

之前的一个问题,达达老师和我的差异在于关于持仓股的表达:

stock_hold_now ={e.symbol:p for e,p in context.portfolio.positions.items() if p.amount>0}
stock_hold_now =[e.symbol for e in context.portfolio.positions]

我想取出一个LIST,但是老师的取出了一个字典,有没简洁的方式取出list?
而且,我还不明白第二个表达式,错误的根源在哪里??


(polll) #2

这个如果不限制p.amount>0可能会造成多个逻辑触发同一个卖出导致多次卖出甚至空单发生。
list 一样的取法 [e.symbol for e,p in context.portfolio.positions.items() if p.amount>0]


(189) #3

多谢,这个细节问题,怕是一般人都不太注意,我们做股票只要不是融券,习惯了仓位卖到0为止,系统应当自动限制,而不是靠猜;至于卖空这个细节问题,希望网站以后完善,专题说明一下这些坑