2016-02-22 3 views
-2

Я создал инвестиционную стратегию, которую я хотел бы прокрутить для каждой начальной даты в наборе данных. Например, первая ячейка будет будущим возвратом, если стратегия была начата 12/31/15, а вторая ячейка будет будущим возвратом, если стратегия была начата 1/1/16. Пока я могу получить конечное значение, у меня не должно возникнуть проблемы с возвратом в% терминов. Мой код до сих пор не был успешным. Ниже приведена часть моего кода, который пытается это сделать. В настоящее время я получаю неправильные значения для своих будущих возвратов.Looping через инвестиционную стратегию

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']) 
+0

Я бы порекомендовал взглянуть на [MCVE] (http: /stackoverflow.com/help/mcve). Из кода, который вы опубликовали, неясно, в чем проблема или что вы пытаетесь выполнить. Вы получаете ошибку или другой результат, чем вы ожидаете? – johnchase

+0

Я получение неправильных значений. Моя цель это для выхода, чтобы сделать что-то вроде этого. Если вы вложили 12/31/15, ваш будущий доход составит XX%. Но мой код просто добавляет одно и то же значение снова и снова. – Evy555

+0

@ Evy555 прежде чем мы сможем вам помочь, нам понадобится MCVE с образцом ввода и ожидаемыми значениями. – Basic

ответ

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] 

К «добавляя такое же значение, снова и снова,» Вы говорите о сумме (стоимости) увеличивается на столько же каждой петли? Каждый раз ваша вторая петля добавляет содержимое тех же ячеек к значению: [(l [1], l [2], l [3], ... l [len (l)], 'Returns'] в ваш код или [2, 1, 2, 1] в моем примере.

Если это то, что предназначено, или я неверно истолковал ваш код, попробуйте дать нам пример. Не нужно отдать свою инвестиционную стратегию (хотя некоторое количество контекста всегда помогает), бросьте некоторые случайные входы в фрагмент кода и дайте нам результат вместе с тем, что вы ожидали от него.