2017-10-21 99 views
0

我一直在玩盈透证券交易平台和R和我一直有不同的成功。从盈透证券交易平台下载数据交易平台

library(IBrokers) 
IBConn <- twsConnect(port = xxxx) 
currency_df = twsCurrency("NZD",currency = "USD") 
test = reqHistoricalData(IBConn, Contract = currency_df, whatToShow ='BID_ASK', useRTH = "0", barSize = '1 min', duration="1 D", endDateTime = paste0(gsub("-","", reqCurrentTime(IBConn))," EST")) 
plot(test$NZD.USD.Close) 

library(quantmod) 
plot(test$NZD.USD.Close) 
chartSeries(test$NZD.USD.Close) 
addBBands(n = 20, sd = 2, ma = "SMA", draw = 'bands', on = -1) 

哪个效果不错,我可以下载当天1分钟的货币数据。

的问题出现了,当我试图站稳

tws = twsConnect(port=7497) 
symbol = twsSTK("AAPL") 
data_AAPL = reqHistoricalData(tws, symbol) 
print (data_AAPL) 

的库存数据。但是,我没有得到相同的结果,因为这blogreqHistoricalData功能 - 大约一半,该页面)。

使用下面的代码请求的其他数据会运行数小时,并且我不得不在R控制台中单击“停止”。

tws <- twsConnect() 
aapl.csv <- file("AAPL.csv", open="w") 

# run an infinite-loop (<C-c> to break) 
reqMktData(tws, twsSTK("AAPL"), 
      eventWrapper=eWrapper.MktData.CSV(1), 
      file=aapl.csv) 

close(aapl.csv) 
close(tws) 

我的问题是,我怎么能下载前几天的1或5分数据为AAPL股票(开放式,高,低,关闭),使用盈透证券[R包?我可以使用quantmod软件包收集日常数据,但我想知道是否可以使用IBrokers软件包以Open High Low和Close格式收集分钟数据。

注意:我正在使用盈透证券模拟交易账户。

+0

据我所知,数据馈送是免费的货币,但要获得股票数据,你需要订阅。您能否使用交易平台观察AAPL的实时报价?当你为AAPL调用reqHistoricalData时,你得到了什么? – Janos

回答

3

你没有得到与你提到的博客相同的数据的原因是,你指的是historical (i.e. reqHistoricalData(tws, symbol)数据,其中博客中的示例指的是market data (i.e. reqMktData),这是流式传输,而且截然不同。为了让历史盘中数据的股票(AAPL),你必须定义一个contract像这样:

contract = twsContract(0,"AAPL","STK","SMART","ISLAND", "","0.0","USD","","","",NULL,NULL,"0”) 

例如:

library(IBrokers) 
IBConn <- twsConnect(port = 7497) 
contract = twsContract(0,"AAPL","STK","SMART","ISLAND", "","0.0","USD","","","",NULL,NULL,"0") 
data_AAPL = reqHistoricalData(IBConn, contract, whatToShow ='BID_ASK', useRTH = "0", barSize = '1 min', duration="1 D", endDateTime = paste0(gsub("-","", reqCurrentTime(IBConn)))) 


> head(data_AAPL) 
        AAPL.Open AAPL.High AAPL.Low AAPL.Close 
2017-10-23 10:00:00 156.00 157.20 156.00  156.64 
2017-10-23 10:01:00 155.99 156.65 155.95  156.64 
2017-10-23 10:02:00 155.95 156.65 155.95  156.65 
2017-10-23 10:03:00 155.95 156.65 155.95  156.65 
2017-10-23 10:04:00 155.95 156.60 155.95  156.60 
2017-10-23 10:05:00 155.95 156.62 155.95  156.60 
        AAPL.Volume AAPL.WAP AAPL.hasGaps AAPL.Count 
2017-10-23 10:00:00   -1  -1   0   -1 
2017-10-23 10:01:00   -1  -1   0   -1 
2017-10-23 10:02:00   -1  -1   0   -1 
2017-10-23 10:03:00   -1  -1   0   -1 
2017-10-23 10:04:00   -1  -1   0   -1 
2017-10-23 10:05:00   -1  -1   0   -1 

不要忘记关闭:-)

twsDisconnect(IBConn)连接
+0

感谢您的回复,我已经运行了您拥有的代码,并获得了输出为NULL的head(data_AAPL)。我会检查是否有连接错误 – user113156

+0

你检查过你的端口号吗?也许你正在另一个端口上运行你的交易平台。 – hvollmeier