我正在尝试根据一个正的订单信号用Python编码我的批次大小。下面是在excel中完成的预期输出。逻辑是: Lot_size = IF (Order_Signal=1,然后是Prior_Period_Portfolio_Value * Risk_pct / Stop_gap,elif(Active=0,0,前期批量大小) risk_pct=0.02 )
我有一个困难的时间来重现这个在excel中,特别是最后一个组件,它指的是上一个时期的批量大小。
发布于 2020-02-15 05:02:44
这取决于如何在Python中存储这些数据。但是为了简单起见,我假设每个变量都在它自己的列表中。
order_signal = [0,0,...-1,0]
stop_gap = [0.44,1.13,...1.94,9.06]
prior_period_portfolio_value = [10000,10000,...9900,9807.5]
active = [0,0,...1,0]
lot_size = [0] * len(order_signal)
risk_pct = 0.02
for i = 1:len(order_signal):
if order_signal[i] == 1:
lot_size[i] = prior_period_portfolio_value[i] * risk_pct / stop_gap[i]
elif active[i] == 0:
lot_size[i] = 0
else:
# just need to be sure this doesn't happen on the first iteration
lost_size[i] = lot_size[i-1]
发布于 2020-02-15 05:08:06
我从基础应用程序开发课程(PhP)中学到的东西,我是用它在游戏开发中对表格中的数据进行排序。所以这里的诀窍是首先创建列,然后添加行作为子行。
在平地上,我会这样做:
1-我将创建一个作为父级扩展的垂直框架。
frame = Frame()
frame.pack(expand=True, fill="y", side="left")
2-我将添加作为儿童水平延伸的入口。
entry = Entry(frame)
entry.pack(expand=True, fill="x", side="top")
在这种情况下,所有的孩子都会有相同的宽度。如果您只想使用标签来显示每个子元素的数据,我将创建一个框架(类似于条目示例),并在其中添加标签(类似于条目,但使用side=" right "),所有文本都具有相同的宽度,并在右边对齐。
https://stackoverflow.com/questions/60235696
复制相似问题