-1

我想使用 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 不起作用..此后我的代码也不起作用。

4

1 回答 1

3

它没有保存仪器,因为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(and 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"
于 2013-08-15T13:24:32.030 回答