绘制非美国股票的蜡烛图
Plot ly Candlestick charts for stocks not from USA
我一直在尝试 R,因为创建图表和进行快速数学分析似乎很容易,但我 运行 遇到了一个问题,问题是我想使用 plotly 来绘制我的数据,但是我无法使用美国以外股票的代码,这就是问题所在,我正在尝试此页面 https://plot.ly/r/candlestick-charts/ 中的第一个示例,当我尝试添加代码 BMV:BIMBOA 而不是 AAPL 时,它将发送我因为“:”
而出错
这是我试过的方法
library(plotly)
library(quantmod)
Symbolname <- "BMV:BIMBOA"
getSymbols(Symbolname, src = "google")
df <- data.frame(Date=index(Symbolname),coredata(Symbolname))
df <- tail(df, 30)
p <- df %>%
plot_ly(x = ~Date, type="candlestick",
open = ~Symbolname.Open, close = ~Symbolname.Close,
high = ~Symbolname.High, low = ~Symbolname.Low) %>%
layout(title = "Basic Candlestick Chart")
# Create a shareable link to your chart
# Set up API credentials: https://plot.ly/r/getting-started
chart_link = api_create(p, filename="finance/candlestick-basic")
chart_link
并且它不起作用,我收到错误 symbolname.open not found,作为旁注,如果我使用 BMV:BIMBOA 而不是符号名 var,我收到错误 "BMV" is not成立。
我试过只使用 BIMBOA,但由于 xts 对象中的行被称为 "BMV:BIMBOA.Open" 它不起作用。
是否有解决此问题的方法或任何其他方法来读取此数据并使用 plotly 绘制图表?
也试过这个:
BMVBIMBOA <- `BMV:BIMBOA`
getSymbols("BMV:BIMBOA", src = "google")
df <- data.frame(Date=index(BMVBIMBOA),coredata(BMVBIMBOA))
df <- tail(df, 30)
p <- df %>%
plot_ly(x = ~Date, type="candlestick",
open = ~BMVBIMBOA.Open, close = ~BMVBIMBOA.Close,
high = ~BMVBIMBOA.High, low = ~BMVBIMBOA.Low) %>%
layout(title = "Basic Candlestick Chart")
错误在下面两行
open = ~BMVBIMBOA.Open, close = ~BMVBIMBOA.Close,
high = ~BMVBIMBOA.High, low = ~BMVBIMBOA.Low) %>%
layout(title = "Basic Candlestick Chart")
这里有几个问题:
getSymbols
的默认模式是通过 side-effect,经常(通常?)不受欢迎。由于 R 通常不喜欢变量名中的冒号(尽管它可以正常工作),这使情况变得复杂。
您对 index
和 coredata
的使用(我假设都在 zoo
包中)不正确。这两个函数需要一个 object,但你提供了一个长度为 1 character
的向量 ("BMV:BIMBOA"
).
(我认为)结果数据中的列名是特定于符号的,所以找不到Symbolname.Open
;用实际名称替换它们。
让我们绕过副作用,希望能更接近您想要的。
library(zoo)
library(plotly)
library(quantmod)
Symbolname <- "BMV:BIMBOA"
mydata <- getSymbols(Symbolname, src = "google", auto.assign = FALSE)
df <- data.frame(Date=index(mydata),coredata(mydata))
df <- tail(df, 30)
p <- df %>%
plot_ly(x = ~Date, type="candlestick",
open = ~BMV.BIMBOA.Open, close = ~BMV.BIMBOA.Close,
high = ~BMV.BIMBOA.High, low = ~BMV.BIMBOA.Low) %>%
layout(title = "Basic Candlestick Chart")
我一直在尝试 R,因为创建图表和进行快速数学分析似乎很容易,但我 运行 遇到了一个问题,问题是我想使用 plotly 来绘制我的数据,但是我无法使用美国以外股票的代码,这就是问题所在,我正在尝试此页面 https://plot.ly/r/candlestick-charts/ 中的第一个示例,当我尝试添加代码 BMV:BIMBOA 而不是 AAPL 时,它将发送我因为“:”
而出错这是我试过的方法
library(plotly)
library(quantmod)
Symbolname <- "BMV:BIMBOA"
getSymbols(Symbolname, src = "google")
df <- data.frame(Date=index(Symbolname),coredata(Symbolname))
df <- tail(df, 30)
p <- df %>%
plot_ly(x = ~Date, type="candlestick",
open = ~Symbolname.Open, close = ~Symbolname.Close,
high = ~Symbolname.High, low = ~Symbolname.Low) %>%
layout(title = "Basic Candlestick Chart")
# Create a shareable link to your chart
# Set up API credentials: https://plot.ly/r/getting-started
chart_link = api_create(p, filename="finance/candlestick-basic")
chart_link
并且它不起作用,我收到错误 symbolname.open not found,作为旁注,如果我使用 BMV:BIMBOA 而不是符号名 var,我收到错误 "BMV" is not成立。 我试过只使用 BIMBOA,但由于 xts 对象中的行被称为 "BMV:BIMBOA.Open" 它不起作用。
是否有解决此问题的方法或任何其他方法来读取此数据并使用 plotly 绘制图表?
也试过这个:
BMVBIMBOA <- `BMV:BIMBOA`
getSymbols("BMV:BIMBOA", src = "google")
df <- data.frame(Date=index(BMVBIMBOA),coredata(BMVBIMBOA))
df <- tail(df, 30)
p <- df %>%
plot_ly(x = ~Date, type="candlestick",
open = ~BMVBIMBOA.Open, close = ~BMVBIMBOA.Close,
high = ~BMVBIMBOA.High, low = ~BMVBIMBOA.Low) %>%
layout(title = "Basic Candlestick Chart")
错误在下面两行
open = ~BMVBIMBOA.Open, close = ~BMVBIMBOA.Close,
high = ~BMVBIMBOA.High, low = ~BMVBIMBOA.Low) %>%
layout(title = "Basic Candlestick Chart")
这里有几个问题:
getSymbols
的默认模式是通过 side-effect,经常(通常?)不受欢迎。由于 R 通常不喜欢变量名中的冒号(尽管它可以正常工作),这使情况变得复杂。您对
index
和coredata
的使用(我假设都在zoo
包中)不正确。这两个函数需要一个 object,但你提供了一个长度为 1character
的向量 ("BMV:BIMBOA"
).(我认为)结果数据中的列名是特定于符号的,所以找不到
Symbolname.Open
;用实际名称替换它们。
让我们绕过副作用,希望能更接近您想要的。
library(zoo)
library(plotly)
library(quantmod)
Symbolname <- "BMV:BIMBOA"
mydata <- getSymbols(Symbolname, src = "google", auto.assign = FALSE)
df <- data.frame(Date=index(mydata),coredata(mydata))
df <- tail(df, 30)
p <- df %>%
plot_ly(x = ~Date, type="candlestick",
open = ~BMV.BIMBOA.Open, close = ~BMV.BIMBOA.Close,
high = ~BMV.BIMBOA.High, low = ~BMV.BIMBOA.Low) %>%
layout(title = "Basic Candlestick Chart")