2017-11-11 152 views
0

增長我有一個相當複雜的問題,根本不知道如何解決:我想計算一些數據的每日/每週/ montlhy增長。計算每日/每週/每月使用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 

我有巨大的數據量,所以我不認爲這將有可能真正建立這個,而不產生將存儲結果,以避免長時間等待一個臨時表倍。

所以我想創造一個增長的表(使用谷歌的數據存儲)和...好,我stucked那裏。如何解決...

任何幫助表示讚賞!

回答

1

我只花了射擊在這一點,因爲你並沒有太多的迴應......或任何......我看到。

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%的收益,我們不能保證我們能夠在今年的三個季度中複製這些收益。