Python 股票价格回报
我有一份股票回报清单,需要找到一年比一年的回报 我已经为退货创建了一个空列表,并尝试在列表上进行迭代,以便为逐年退货追加 lst=[10.82,18.89,52.62,44.29,47.15,39.46,92.64,51.28,134.52,180.0,173.1250.87,398.79,310.35675.89,749.87] 返回=[] 对于rangelenlst中的i: 返回.appendlst[i+1]//lst[i]-1 返回Python 股票价格回报,python,Python,我有一份股票回报清单,需要找到一年比一年的回报 我已经为退货创建了一个空列表,并尝试在列表上进行迭代,以便为逐年退货追加 lst=[10.82,18.89,52.62,44.29,47.15,39.46,92.64,51.28,134.52,180.0,173.1250.87,398.79,310.35675.89,749.87] 返回=[] 对于rangelenlst中的i: 返回.appendlst[i+1]//lst[i]-1 返回 IndexError
IndexError
Traceback (most recent call last)
<ipython-input-37-526d26c5b374> in <module>
2
3 for i in range(len(lst)):
----> 4 returns.append((lst[i+1]//lst[i])-1)
5
6 print(returns)
IndexError: list index out of range
这个
将导致i在0和lenAMZN_股票价格-1之间变化。当它处于其最高值时,i+1超出列表的界限。使用
for i in range(len(AMZN_stock_prices)-1):
这样i+1就不会超出界限。科林
假设您对python有些陌生。出于这个原因,我可能会在一个具有良好架构的结构中操作
import pandas as pd
import numpy as np
price_series = pd.Series(lst)
return_series = np.log(price_series/price_series.shift(1)) # assuming daily returns
rolling_one_year = return_series.rolling(252).sum()
从那里开始。出于多种原因,强烈建议您留在熊猫馆,开始您的金融系列数据工作。这里有很多关于这些库的堆栈溢出的帮助
祝你好运 AMZN股票价格应该是lst吗?想想当我是列表中的最后一个索引时,i+1是什么。
import pandas as pd
import numpy as np
price_series = pd.Series(lst)
return_series = np.log(price_series/price_series.shift(1)) # assuming daily returns
rolling_one_year = return_series.rolling(252).sum()