【发布时间】:2016-08-08 11:57:34
【问题描述】:
我正在寻找使以下代码工作的方法:
import pandas
path = 'data_prices.csv'
data = pandas.read_csv(path, sep=';')
data = data.sort_values(by=['TICKER', 'DATE'], ascending=[True, False])
data.columns
我有一个包含三列的二维数组,数据如下所示:
DATE;TICKER;PRICE
20151231;A UN Equity;41.81
20151230;A UN Equity;42.17
20151229;A UN Equity;42.36
20151228;A UN Equity;41.78
20151224;A UN Equity;42.14
20151223;A UN Equity;41.77
20151222;A UN Equity;41.22
20151221;A UN Equity;40.83
20151218;A UN Equity;40.1
20091120;PCG UN Equity;42.1
20091119;PCG UN Equity;41.53
20091118;PCG UN Equity;41.86
20091117;PCG UN Equity;42.23
20091116;PCG UN Equity;42.6
20091113;PCG UN Equity;41.93
20091112;PCG UN Equity;41.6
20091111;PCG UN Equity;42.01
现在,我想计算 x 天的实际波动率,其中 x 来自输入字段,并且 x 不应大于观察次数。
需要采取的步骤:
- 计算每一行的日志回报
- 获取这些回报并在其上运行标准差
- 乘以 255 的平方根以标准化年波动率
【问题讨论】:
-
请提供您收到的错误消息,因为您说“它已经在那里崩溃了”。
-
看起来需要
data.reset_index(inplace=True),因为第一列是索引。 -
添加了错误信息。重置索引并没有减轻错误。也许我放错地方了?我把它放在排序之前。
-
你能在排序前运行
print(data.columns)吗(在读取文件之后) -
是的,可以,输出是:
Index(['DATE', 'TICKER', 'PRICE'], dtype='object')
标签: python pandas stocks yield-return volatility