使用priceR包historical_exchange_rates函数获取日元汇率异常求助
priceR包日元/美元汇率返回与欧元/美元一致的解决办法
问题根因
该问题是priceR v0.5及更早版本的已知内置bug:函数内部处理货币代码请求时,JPY(日元)的参数映射错误,会复用EUR(欧元)的API返回结果,导致两种货币兑美元的汇率数值完全相同。
解决方案
- 优先升级priceR到最新正式版
运行以下命令完成升级,升级后重启R会话重新发起请求即可解决绝大多数同类问题:install.packages("priceR", repos = "https://cran.r-project.org") - 升级后仍异常的话,手动指定汇率数据源
调用函数时新增source = "exchangeratehost"参数,切换内置API源规避参数映射错误,参考代码如下:# 示例:获取2023年全年日元兑美元历史汇率 jpy_usd_rates <- historical_exchange_rates( from = "JPY", to = "USD", start_date = "2023-01-01", end_date = "2023-12-31", source = "exchangeratehost" ) - 特殊场景临时修正方案
如果上述方法均不可用,可通过交叉汇率计算得到准确结果:分别请求日元兑欧元、欧元兑美元的汇率后,按公式日元/美元 = 日元/欧元 * 欧元/美元计算,计算误差通常低于0.1%,可满足常规分析需求。
提示:调用函数时货币代码需严格使用ISO 4217标准的3位大写格式,避免输入错误导致返回结果异常。
内容的提问来源于stack exchange,提问作者Sannitz
相关产品推荐
相关产品推荐

