quantmodのgetSymbolsで取得した株価データから株価コードを取り出す

株価の取得。

symbols <- c("YJ7203", "YJ4751")
stocks <- getSymbols(symbols, from="2008-01-01", to="2016-02-12", src="yahooj", adjust=TRUE)

これで株価がsymbolsで指定した名前のオブジェクトで取得される。

今回は、取得したオブジェクトから株価コードを取得したい。
次のようにして名前を取得。

> head(stocks)
[1] "YJ7203" "YJ4751"

データの型を確認するとcharacter型。

> class(head(stocks))
[1] "character"

配列のようだけど、character。おかしな感じ・・・。characterだけど、それぞれの名前は次のように取得する。

> head(stocks)[1]
[1] "YJ7203"
> head(stocks)[2]
[1] "YJ4751"

命名規則が「YJ+コード」という前提の下、コードを取得するには下記で。

> substr(head(stocks)[1],3,6)
[1] "7203"