我试图使用最简单的代码使用IBrokers包,如下所示:
library(IBrokers)
tws <- twsConnect()
aapl.csv <- file("AAPL.csv", open="wa")
# 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)
我收到此错误:
2 1 321 Error validating request:-'oc' :
cause - Incorrect generic tick list of 100,101,104,106,165,221,225,236.
Legal ones for (STK)
一切都挂起......
整个日志在这里:
R version 2.13.0 (2011-04-13)
Copyright (C) 2011 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-pc-mingw32/x64 (64-bit)
> library(IBrokers)
Loading required package: xts
Loading required package: zoo
Attaching package: 'zoo'
The following object(s) are masked from 'package:base':
as.Date, as.Date.numeric
IBrokers version 0.9-3:
Implementing API Version 9.64
This software comes with NO WARRANTY. Not intended for production use!
See ?IBrokers for details
Warning messages:
1: package 'IBrokers' was built under R version 2.13.2
2: package 'xts' was built under R version 2.13.2
3: package 'zoo' was built under R version 2.13.2
>
> tws <- twsConnect()
>
> aapl.csv <- file("AAPL.csv", open="a")
>
> # run an infinite-loop ( <C-c> to break )
> reqMktData(tws, twsSTK("AAPL"),
+ eventWrapper=eWrapper.MktData.CSV(1),
+ file=aapl.csv)
2 -1 2104 Market data farm connection is OK:cashfarm
2 -1 2104 Market data farm connection is OK:usfarm
2 -1 2106 HMDS data farm connection is OK:ushmds2a
2 1 321 Error validating request:-'oc' : cause - Incorrect generic tick list of 100,101,104,106,165,221,225,236. Legal ones for (STK) are: 100(Option Volume),101(Option Open Interest),104(Historical Volatility),105(Average Opt Volume),106(Option Implied Volatility),107(Close Implied Volatility),125(Bond analytic data),165(Misc. Stats),166(CScreen),225(Auction),233(RTVolume),236(inventory),258/47(Fundamentals),291(Close Implied Volatility),293(TradeCount),294(TradeRate),295(VolumeRate),318(LastRTHTrade),370(ParticipationMonitor),370(ParticipationMonitor),377(CttTickTag),377(CttTickTag),381(IB Rate),384(RfqTickRespTag),384(RfqTickRespTag),387(DMM),388(Issuer Fundamentals),391(IBWarrantImpVolCompeteTick),407(FuturesMargins),411(Real-Time Historical Volatility)
> (Command cancelled)
>
> close(aapl.csv)
> close(tws)
我在这里做错了什么?任何分辨率或指向参考的想法都受到高度赞赏。
答案 0 :(得分:4)
错误表明您的勾选列表很糟糕。如果将它与它报告的有效值进行比较,你会发现221是罪魁祸首。值得庆幸的是,?reqMktData
告诉我们您可以使用tickGenerics
选项指定自己的勾选列表。所以只需做一些像
> reqMktData(tws, twsSTK("AAPL"),
eventWrapper=eWrapper.MktData.CSV(1),
file=aapl.csv, tickGenerics="100,101,104,106,165,225,236")
你应该好好去。