首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >奇怪的“货币汇率来源未准备好”的forex_python错误

奇怪的“货币汇率来源未准备好”的forex_python错误
EN

Stack Overflow用户
提问于 2021-08-23 17:44:21
回答 1查看 3.1K关注 0票数 1

我正试图通过python.The代码来理解外汇API,我下面的文章是周五为我工作的,我收到了所有日期的转换率。奇怪的是,当我今天出于某种原因运行这个代码时,它说

货币汇率来源尚未准备就绪。

为什么会发生这种情况?

代码语言:javascript
复制
from forex_python.converter import CurrencyRates
import pandas as pd
c = CurrencyRates()
from forex_python.converter import CurrencyRates
c = CurrencyRates()


df = pd.DataFrame(pd.date_range(start='8/16/2021 10:00:00', end='8/22/2021 11:00:00', freq='600min'), columns=['DateTime'])

def get_rate(x):
    try:
        op = c.get_rate('CAD', 'USD', x)
    except Exception as re:
        print(re)
        op=None
    return op

df['Rate'] = df['DateTime'].apply(get_rate)

Currency Rates Source Not Ready
Currency Rates Source Not Ready

df
Out[17]: 
              DateTime      Rate
0  2021-08-16 10:00:00  0.796374
1  2021-08-16 20:00:00  0.796374
2  2021-08-17 06:00:00  0.793031
3  2021-08-17 16:00:00  0.793031
4  2021-08-18 02:00:00  0.792469
5  2021-08-18 12:00:00  0.792469
6  2021-08-18 22:00:00  0.792469
7  2021-08-19 08:00:00  0.783967
8  2021-08-19 18:00:00  0.783967
9  2021-08-20 04:00:00  0.774504
10 2021-08-20 14:00:00  0.774504
11 2021-08-21 00:00:00       NaN
12 2021-08-21 10:00:00       NaN
13 2021-08-21 20:00:00       NaN
14 2021-08-22 06:00:00       NaN

我该如何解决这个问题?在自己打电话时,是否有一种忽略NaN的方法?我觉得API只给出了星期一到星期五的结果,从上午10点到下午5点,。有什么办法能得到这些结果吗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-26 08:11:04

外汇SDK使用外汇Api,它从欧洲中央银行获取数据。除目标收盘日外,欧洲央行( day )在每个工作日(大约在CET 16:00 )每天更新利率。这意味着您只能在工作日内获得货币汇率的一个值。

为了得到你能做到的价格

代码语言:javascript
复制
df = pd.DataFrame(pd.date_range(start='8/16/2021 10:00:00', end='8/22/2021 11:00:00', freq='B'), columns=['DateTime'])

其中freq="B"只表示工作日(来源)。在运行其余代码时,这将导致:

代码语言:javascript
复制
             DateTime      Rate
0 2021-08-16 10:00:00  0.796374
1 2021-08-17 10:00:00  0.793031
2 2021-08-18 10:00:00  0.792469
3 2021-08-19 10:00:00  0.783967
4 2021-08-20 10:00:00  0.774504

您也可以在freq="BH"的办公时间内这样做,但是您不会得到不同的费率。

另外,请注意,在外汇SDK中,他们说您应该使用版本1.6来避免RatesNotAvailableError。

我创建的包

NB!我不打算维持它。

Github链接

安装:

pip install easy-exchange-rates

用法:

代码语言:javascript
复制
from easy_exchange_rates import API
api = API()
time_series = api.get_exchange_rates(
  base_currency="EUR", 
  start_date="2021-01-01", 
  end_date="2021-08-13", 
  targets=["USD","CAD"]
)
data_frame = api.to_dataframe(time_series)
print(data_frame.head(5))
>>>
                 CAD       USD
2021-01-01  1.549988  1.217582
2021-01-02  1.544791  1.213500
2021-01-03  1.557791  1.223409
2021-01-04  1.566076  1.225061
2021-01-05  1.558553  1.229681
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68896900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档