![](/img/trans.png)
[英]How to convert daily data into weekly or monthly in python with categorical and numerical column?
[英]Calculate a daily / weekly / monthly growth with python
我有一个非常复杂的问题,根本不知道如何解决:我正在尝试计算某些数据的每日/每周/每月增长。
困难在于我要随机收集数据点。 这样我们就可以得到像这样的数据:
Date | orders
2017-01-12 | 1992
2017-01-13 | 2912
2017-02-10 | 3912
2017-02-11 | 4112
2017-02-12 | 4412
2017-02-16 | 5112
2017-03-01 | 8112
我有大量的数据,所以我认为如果不创建一个临时表来存储结果以避免长时间的等待,就不可能真正地构建它。
因此,我想创建一个增长表(使用google dataStore),然后...困在那儿。 如何解决...
任何帮助表示赞赏!
我只是为此开了枪,因为您没有太多回应...或我看到的任何回应。
from pandas_datareader import data
s = data.get_data_yahoo('SBUX', start='2016-01-02',end='2017-12-04')['Adj Close']
monthly = s.resample('BM', how=lambda x: x[-1])
print(monthly)
这是获取时间序列数据的另一种方法。
from pandas_datareader import data
import datetime as dt
import pandas as pd
ticker = 'MSFT'
begdate = '2016-11-11'
enddate = '2017-12-04'
data1 = data.DataReader(ticker,'yahoo',dt.datetime(2014,11,11),dt.datetime(2016,11,11))
print(data1)
以下是一些准则和总体经验法则。
当我们进行投资时,我们将资金投资于不同的资产,并在不同的时间段内获得收益。 例如,短期国库券的投资将持续3个月。 我们可能会投资股票并在一周后几天退出。 为了使这些不同投资的收益具有可比性,我们需要对收益进行年度化。 因此,所有每日,每周,每月或每季度的回报都将转换为年度回报。 年度化收益的过程如下:
基本思想是将收益复合为一年。 因此,如果我们有月度回报,那么我们知道一年中有12个月,同样有52周,4个季度和365天。 我们将收益与全年的期数相乘。
让我们举几个例子来理解这一点。
示例1:季度收益
假设我们有5%的季度回报率。 由于一年中有四个季度,因此年收益为:
Annual returns = (1+0.05)^4 – 1 = 21.55%
示例2:月度报表
假设我们有2%的月度回报。 由于一年中有12个月,因此年收益为:
Annual returns = (1+0.02)^12 – 1 = 26.8%
示例3:每周收益
假设我们每周收益为0.5%。 由于一年有52周,因此年收益为:
Annual returns = (1+0.005)^52 – 1 = 29.6%
示例4:每日收益
假设我们的每日收益为0.1%。 由于一年中有365天,因此年收益为:
Annual returns = (1+0.001)^365 – 1 = 44.02%
示例5:100天退货
实际上,我们可以获得任意天数的收益并将其转换为年化收益。 假设我们在100天内获得了6%的回报。 年度收益为:
Annual returns = (1+0.06)^(365/100) – 1 = 23.69%
但是,年化收益率有一个局限性-他们假设我们将能够以相同的比率对这笔资金进行再投资。 但是,这并不总是可能的。 如果我们在一个季度中获得5%的收入,则不能保证我们能够在一年的后三个季度中复制这些收益。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.