通过MATLAB中的Web服务进行货币兑换

时间:2011-05-03 16:51:27

标签: web-services matlab currency

如何在matlab中获得两种给定货币的当前汇率?

我尝试了this,但似乎网络服务不再可用。

还有另一种通过matlab中的网络服务获取最新货币汇率的简单方法吗?

2 个答案:

答案 0 :(得分:3)

使用CREATECLASSFROMWSDL从货币转换网络服务构建本地课程。然后,您可以使用Web服务的操作使用类方法进行转换。 http://www.webservicex.net/CurrencyConvertor.asmx?WSDL提供一种货币转换网络服务(有许多)。以下是其使用示例:

>> converter = createClassFromWsdl('http://www.webservicex.net/CurrencyConvertor.asmx?WSDL');
Retrieving document at 'http://www.webservicex.net/CurrencyConvertor.asmx?WSDL'
>> converter = CurrencyConvertor
    endpoint: 'http://www.webservicex.net/CurrencyConvertor.asmx'
        wsdl: 'http://www.webservicex.net/CurrencyConvertor.asmx?WSDL'

>> ConversionRate(converter, 'CAD', 'EUR')

ans =

0.7059

>> ConversionRate(converter, 'USD', 'CAD')

ans =

0.953

请注意,ConversionRate返回一个char数组,即如果要使用汇率进行计算,仍需要使用str2double转换结果。

http://www.webservicex.net/ws/wsdetails.aspx?wsid=10可以找到货币缩写列表。

答案 1 :(得分:0)

这是一个老问题,但我想我会更新答案。我在MATLAB(exchangerate.m)中使用openexchangerates.org API制作了这种货币转换函数,该API更好地支持并且还包括历史数据。这里描述了它是如何工作的(它非常简单):

此函数返回从openexchangerates.org获得的汇率 使用他们的API。要正常工作,必须连接到 互联网。默认app_id来自免费帐户 openexchangerates.org,每月限制1000个API请求。对于 更灵活,注册您自己的免费或付费帐户并更换 app_id值和您自己的ID号。

输入:

  

1) base :表示基础货币的字符串,设置为具有   值1.如果一个空字符串''提供,默认' USD'是   用过的。请参阅下面的有效货币缩写列表。

     

2) curr :a   表示货币缩写的字符串或单元格数组   与基础货币比较。如果全部'或者''作为输入提供,   然后返回所有可用货币。查看有效列表   以下货币缩写。

     

3)日期:包含的可选字符串   汇率所需的日期(历史数据可能不是   永远可用)。输入应采用' YYYY-MM-DD'的形式。   要获取最新的汇率数据,请使用日期   ='最新'或'',这是默认值。 1999年及以后的历史数据

输出:

  

1)费率:一个数字或向量,表示所需货币(货币),当前货币和基础货币之间的汇率。

     

2)货币:相应货币的单元格数组   费率缩写。

     

3) rate_struct :具有字段名称的结构   等于货币缩写和相关值   率。此输出结合了费率和货币   便利性。

示例:

1)获取比特币和美元之间的最新汇率(注:所有国家/地区缩写都列在m文件中)

[rates,currencies,rates_struct] = exchangerate('USD','BTC'); 
>> rates = 1.614e-3 
>> currencies = 'BTC' 
>> rates_struct = 
       BTC: 1.614e-3

2)获取所有可用货币的最新汇率

[rates,currencies,rates_struct] = exchangerate();

3)使用美国获得比特币,印度卢比和欧元的汇率 美元作为2013年6月5日的基础货币

[rates,currencies,rates_struct] = exchangerate('USD',{'BTC','INR','EUR'},'2013-06-05'); 
>> rates = [8.246e-3; 5.672e1; 7.642e-1] 
>> currencies = {'BTC';'INR';'EUR'} 
>> rates_struct = 
      BTC: 8.246e-3 
      INR: 5.672e1 
      EUR: 7.642e-1