循环投资策略

时间:2016-02-22 21:06:40

标签: python python-3.x pandas finance

我已经创建了一个投资策略,我想在数据集中的每个开始日期循环。例如,如果策略在2015年12月31日开始,则第一个单元格将是未来的返回,如果策略在2016年1月1日开始,则第二个单元格将是未来的返回。只要我能得到一个结束值,我就不会有以%为单位获得回报的问题。到目前为止我的代码还没有成功。下面是我的代码试图完成此任务的部分。我目前的未来回报价值不正确。

value = []
for i in range(1,len(l)):
    df.loc[l[i], 'S&P Future Return'] = sum(value) 
    for i in range(1,len(l)):
        value.append(df.loc[l[i], 'Returns']) 

1 个答案:

答案 0 :(得分:0)

这是一个黑暗中的镜头,因为你有一个逻辑错误,并不完全清楚逻辑应该是什么。用绝对的简单输入集将这个放到Python中,我得到:

f = [0, 0, 0, 0, 0]
g = [1, 2, 1, 2, 1]

value = []
for i in range(1,len(f)):
    f[i] = sum(value) 
    for i in range(1,len(g)):
        value.append(g[i])

print(f)
[0, 0, 6, 12, 18]

通过“反复添加相同的值”,你在谈论每个循环增加相同数量的和(值)吗?每次,你的第二个for循环将相同单元格的内容附加到值:[(l [1],l [2],l [3],... l [len(l)],'返回']你的代码或我的例子中的[2,1,2,1]。

如果这是我的意图,或者我误解了你的代码,试着给我们一些例子。无需放弃您的投资策略(尽管一些上下文总是有帮助),在代码片段中输入一些随机输入,并将输出与您预期的一起提供给我们。