首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建算法交易信号序列

创建算法交易信号序列
EN

Stack Overflow用户
提问于 2018-06-12 20:17:56
回答 2查看 108关注 0票数 0

我有一个数据列表,看起来如下:

代码语言:javascript
复制
signal = [-1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1]

其中a-1属于卖出信号,1属于买入信号.我现在要将这个信号列表转换为如下所示:

代码语言:javascript
复制
signal = [-1, 0, 0, 1, -1, 1, 0, -1, 1, -1, 1, 0]

这基本上意味着,如果信号的方向没有改变以前的信号(或者已经是0),它应该是0。

我找不到类似的答案,所以我们很感谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-12 20:32:25

另一种口味,基于清单理解:

代码语言:javascript
复制
[j if i != j else 0 for i,j in zip([0] + signal, signal)]
#[-1, 0, 0, 1, -1, 1, 0, -1, 1, -1, 1, 0]
票数 2
EN

Stack Overflow用户

发布于 2018-06-12 20:25:16

尝试:

代码语言:javascript
复制
_list = []
signal = [-1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1]
_list.append(signal[0])
for i in range(1,len(signal)):
    if signal[i] == signal[i-1]:
        _list.append(0)
    else:
        _list.append(signal[i])
signal = _list
print(signal)

输出:[-1, 0, 0, 1, -1, 1, 0, -1, 1, -1, 1, 0]

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

https://stackoverflow.com/questions/50825238

复制
相关文章

相似问题

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