从多季度期间提取季度数据
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_310K:
http://www.sec.gov/Archives/edgar/data/1174922/000119312513087674/d459372d10k.htm#tx459372_29Calcbench 提到这个问题: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 才能使用它。
【讨论】:
以上是关于从多季度期间提取季度数据的主要内容,如果未能解决你的问题,请参考以下文章