首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于进场和止损间隙的仓位/批次大小

基于进场和止损间隙的仓位/批次大小
EN

Stack Overflow用户
提问于 2020-02-15 03:16:17
回答 2查看 102关注 0票数 0

我正在尝试根据一个正的订单信号用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中,特别是最后一个组件,它指的是上一个时期的批量大小。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-15 05:02:44

这取决于如何在Python中存储这些数据。但是为了简单起见,我假设每个变量都在它自己的列表中。

代码语言:javascript
运行
复制
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]
票数 1
EN

Stack Overflow用户

发布于 2020-02-15 05:08:06

我从基础应用程序开发课程(PhP)中学到的东西,我是用它在游戏开发中对表格中的数据进行排序。所以这里的诀窍是首先创建列,然后添加行作为子行。

在平地上,我会这样做:

1-我将创建一个作为父级扩展的垂直框架。

代码语言:javascript
运行
复制
frame = Frame()
frame.pack(expand=True, fill="y", side="left")

2-我将添加作为儿童水平延伸的入口。

代码语言:javascript
运行
复制
entry = Entry(frame)
entry.pack(expand=True, fill="x", side="top")

在这种情况下,所有的孩子都会有相同的宽度。如果您只想使用标签来显示每个子元素的数据,我将创建一个框架(类似于条目示例),并在其中添加标签(类似于条目,但使用side=" right "),所有文本都具有相同的宽度,并在右边对齐。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60235696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档