Как найти значения обменных курсов на конец квартала по дневным (FRED) котировкам? - PullRequest
0 голосов
/ 28 сентября 2018

Я загружаю курсы иностранных валют для пяти валют, используя FRED , см. Код ниже.

Как получить значения на конец квартала (года, полугодия)?

import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader.data as pdr
from datetime import datetime

start = datetime(2012, 1, 1)
end   = datetime(2018, 6, 30)
#                        NOK        DKK        Swed        GBP         Euro
fx = pdr.get_data_fred(['DEXNOUS', 'DEXDNUS', 'DEXSDUS' , 'DEXUSUK',  'DEXUSEU'], start=start, end=end)
fx.columns =           ['NOK',     'DKK',     'SEK',      'GBP',      'EUR']
fx.dropna(inplace=True)

Я пытался resample('A-DEC').mean() для 4-го квартала, но затем я не могу сопоставить значения с дневными значениями из FRED.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Вы можете получить значения для диапазона и локально вычислить Высокий, Низкий и т. Д.

0 голосов
/ 28 сентября 2018

Проблема в том, что вы берете среднее значение и не используете квартальную повторную выборку.

Сначала создайте фиктивную серию:

periods = 10000
my_index = pd.date_range('2016-07-01', periods=periods, freq='D')
data = np.random.randint(100,1000,periods)
orig_ts = pd.Series(data=data, index=my_index, name='daily rates')

Выполните повторную выборку, чтобы получить данные из последнего бизнесадень месяцаИспользуйте повторную выборку ('Q') только для последнего дня.

ts=orig_ts.resample('BQ').backfill()
print(ts.head())

2016-09-30    173.0
2016-12-30    243.0
2017-03-31    209.0
2017-06-30    124.0
2017-09-29    817.0
Freq: BQ-DEC, Name: daily rates, dtype: float64

Проверьте точность:

print(orig_ts.get_value('2016-09-30'))
Output: 173
...