从多季度期间提取季度数据

Posted

技术标签:

【中文标题】从多季度期间提取季度数据【英文标题】:Extract Quarterly Data from Multi Quarter Periods 【发布时间】:2013-08-01 07:33:05 【问题描述】:

美国的上市公司按季度提交 (10-Q) 和按年提交 (10-K)。在大多数情况下,他们每年将提交三个 10Q 和一个 10K。

在大多数情况下,季度申报 (10Q) 包含季度数据。例如,“截至 2005 年 3 月 31 日的三个月的收入。”

年度申报通常只有年终金额。例如:“截至 2005 年 12 月 31 日的十二个月的收入。”

为了获得 2005 年第四季度的值,我需要获取年度数据并减去每个季度(第一季度到第三季度)的值。

在某些情况下,每个季度数据都表示为年初至今。例如,第一个季度申报是“截至 2005 年 3 月 31 日的三个月的收入”。第二个是“截至 2005 年 6 月 30 日的六个月的收入”。第三个“截至 2005 年 9 月 30 日止九个月的收入”。年度如上,“截至 2005 年 12 月 31 日的十二个月的收入”。这代表了上述问题的概括,其中希望提取季度数据,这可以通过重复减去上一期数据来完成。

我的问题是 pandas 完成这个季度数据提取的最佳方式是什么?

每个时期有大量的字段(收入、利润、曝光等)。

我问的一个关于如何在pandas中表达这一时期数据的相关问题:Creating Period for Multi Quarter Timespan in Pandas

这是第一个问题的一些示例数据(三个 10Q 和一个只有年终数据的 10K):

10Q:

http://www.sec.gov/Archives/edgar/data/1174922/000119312512225309/d326512d10q.htm#tx326512_4 http://www.sec.gov/Archives/edgar/data/1174922/000119312512347659/d360762d10q.htm#tx360762_3 http://www.sec.gov/Archives/edgar/data/1174922/000119312512463380/d411552d10q.htm#tx411552_3

10K:

http://www.sec.gov/Archives/edgar/data/1174922/000119312513087674/d459372d10k.htm#tx459372_29

Calcbench 提到这个问题:http://www.calcbench.com/Home/userGuide:“Q4 计算:公司通常不报告 Q4 数据,而是选择报告全年数据。我们会自动为您计算。蓝色数据是计算出来的。

会有多年的数据,对于每一年,我都想计算缺失的第四季度:

         2012Q2  2012Q3  2012Y  2013Q1  2013Q2  2013Q3  2013Y
Revenue       1       1      1       1       1       1      1
Expense      10      10     10      10      10      10     10

【问题讨论】:

你认为你能提供一些虚拟数据吗? 【参考方案1】:

您可以定义一个函数从年度数字中减去季度总数,然后将该函数应用于每一行,将结果存储在一个新列中。

In [2]: df
Out[2]:
         Annual  Q1  Q2  Q3
Revenue      18   3   4   5
Expense      17   2   3   4

In [3]: def calc_Q4(row):
   ...:     return row['Annual'] - row['Q1'] - row['Q2'] - row['Q3']

In [4]: df['Q4'] = df.apply(calc_Q4, axis = 1)

In [5]: df
Out[5]:
         Annual  Q1  Q2  Q3  Q4
Revenue      18   3   4   5   6
Expense      17   2   3   4   8

【讨论】:

【参考方案2】:

我为 Calcbench 工作。

我为 Calcbench 编写了一个 API,并提供了将 SEC 数据导入 Pandas 数据帧的示例,https://www.calcbench.com/home/api。

您需要注册 Calcbench 才能使用它。

【讨论】:

以上是关于从多季度期间提取季度数据的主要内容,如果未能解决你的问题,请参考以下文章

从 r 中的日期中仅提取季度

从财政年度中提取季度为真或假

Postgres / Redshift:在一次调用中从组的日期列中提取季度和年份?

从字符串转换日期和/或时间并从日期中提取季度/年时转换失败

SQL数据库代码如何根据日期获取属于哪个季度

pandas 日期数据处理大全,按照年、季度、月、周、日筛选数据