R:FinancialInstrument初始化交叉货币工具不起作用

时间:2013-08-15 13:13:48

标签: r financialinstrument

我想使用FinancialInstrument初始化一对货币对。该数据包含某种货币对的汇率(例如USD_CHF,USD_EUR等)。

但这不起作用,为什么?

> currency("USD")
[1] "USD"
> instrument("USD_CHF",currency="USD",multiplier=1)
primary_id :"USD_CHF"
currency   :"USD"
multiplier :1
tick_size  : NULL
identifiers: list()
type       : NULL
> getInstrument("USD_CHF")
[1] FALSE
Warning message:
In getInstrument("USD_CHF") :
  instrument USD_CHF not found, please create it first.

或者首先它在创建后有效,并且输出具有正确的primary_id。但是getInstrument不起作用......之后我的代码也没有。

1 个答案:

答案 0 :(得分:2)

它没有保存仪器,因为assign_i参数的默认值为FALSE

> instrument("USD_CHF", currency="USD", multiplier=1, assign_i=TRUE)
[1] "USD_CHF"
> getInstrument("USD_CHF")
primary_id :"USD_CHF"
currency   :"USD"
multiplier :1
tick_size  : NULL
identifiers: list()
type       : NULL

如果你使用那个命名惯例,你将会让你的生活变得困难,因为parse_id将不知道如何理解这一点。我建议USDCHFUSD.CHF。如果您愿意,可以使用USD_CHF作为标识符(除了primary_id),以便getInstrument(和getSymbols.FI)仍然可以通过该名称找到它。

此外,您最好使用exchange_rate构造函数

> currency("USD")
[1] "USD"
> currency("CHF")
[1] "CHF"
> exchange_rate("USDCHF")
[1] "USDCHF"
> getInstrument("USDCHF")
primary_id      :"USDCHF"
currency        :"CHF"
multiplier      :1
tick_size       :0.01
identifiers     : list()
type            :"exchange_rate" "currency"
counter_currency:"USD"